...
OpenBrIM içerisinde objeler birbirleriyle iletişim halindedir. Köprü elemanları kendilerini birbirlerinin konumuna göre yerleştirir. Kolon, kendini kolon başlığına başlık kirişi göre yerleştirir. Temel ise kendini kolona göre yerleştirir. Kendini kolonun altına yerleştirebilmesi için, temel objesine konum bilgisi verilmelidir. Bu bilgi kolonun atına bir referans çizgisi(refline) çizerek verilir. Konum bilgisi oluşturulduktan sonra, temel objesinin bu bilgiye ulaşmasını sağlamak gereklidir. App üzerinden temel objesi yaratmak istediğimizde, hangi objenin altına geleceğini seçmemiz gerekir. Peki, temel hangi objenin altına yerleşmelidir? Tabii ki temele referans çizgisi veren objenin altına yerleşmelidir. Bu davranışı sağlamak için "Base_SubFoundRef" parent objesi, kolon yaratılırken extend edilir ve temel objesi oluşturulurken temelin referans alacağı obje inputunun türü "Base_SubFoundRef" yapılır.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<O N="View 3D" T="Group" Alignment="ObjAlignment" X="CenterCoord[0]" Y="LocY" RZ="-sbcr.rot" Color="#979595" AlignH="Orient" AlignV="Warp" AlignT="Ignore"> <O N="RectangularPier" T="Group"> <O T="Volume"> <O T="Surface"> <O T="Point" X="-ColW/2" Y="-ColT/2" Z="CenterCoord[2]" /> <O T="Point" X="-ColW/2" Y="-ColT/2" Z="LocZ" AlignT="Fixed" AlignV="Fixed" /> <O T="Point" X="-ColW/2" Y="ColT/2" Z="LocZ" AlignT="Fixed" AlignV="Fixed" /> <O T="Point" X="-ColW/2" Y="ColT/2" Z="CenterCoord[2]" /> </O> <O T="Surface"> <O T="Point" X="ColW/2" Y="-ColT/2" Z="CenterCoord[2]" /> <O T="Point" X="ColW/2" Y="-ColT/2" Z="LocZ" AlignT="Fixed" AlignV="Fixed" /> <O T="Point" X="ColW/2" Y="ColT/2" Z="LocZ" AlignT="Fixed" AlignV="Fixed" /> <O T="Point" X="ColW/2" Y="ColT/2" Z="CenterCoord[2]" /> </O> </O> </O> </O> |
Kolonun 3d geometrisi başlık kirişinin altındaki kolon referans çizgisi üzerinde oluşturulur. Objeye atanan alignment (ObjAlignment) kodun başka bir kısmında, kolonun referans alacağı alt yapı objesinin alignment'ı olarak belirlenmiştir. AlignH parametresi "Orient" olarak tanımlanarak obje yatay eksende alignment'a sokulmuştur. AlignV parametresi "Warp" olarak tanımlanarak, obje alignment'ın bulunduğu düşey eksendeki konumuna göre konumlandırılmıştır. AlignT parametresi "Ignore" olarak tanımlanarak, kolonun alignment'ın enine, cross-slope'tan gelen yükseklik değerinden etkilenmemesi sağlanmıştır.
CenterCoord parametresi, kolon referans çizgisi üzerinde y koordinatının LocY'ye eşit olduğu yerdeki koordinatlardan oluşan bir listedir.
Code Block | ||||
---|---|---|---|---|
| ||||
<P N="CenterCoord" V="onliney(toglobal(sbcr.ColumnRefline),LocY)" /> |