Line
In OpenBrIM, 3D representations can be defined using the following objects:
Surface
Volume
Line
Each Line object must include:
A first Point object
A second Point object
At least one Section/Shape/Surface object
Given two points and a cross section, OpenBrIM can render the line with the specified section profile. For polylines, multiple points can be specified, and a Line object can contain multiple Section objects if multiple points are defined in the line.
To create a line, two "point" objects are required that define the start and end of the line. These points are combined using the "line" object to express the line.
Syntax:
...
<O T="Line">
...
...
</O>
Example:
<O N="LineObject1" T="Project" Category="3D Geometric Objects">
<!-- created by ParamML Examples on 31.01.2023 -->
<P N="height" V="40" Role="Input" />
<P N="width" V="2" Role="Input" />
<P N="depth" V="4" Role="Input" />
<O N="Column3D" T="Line">
<O T="Point" X="0" Y="0" Z="0" />
<O T="Point" X="0" Y="0" Z="height" />
<O N="Section" T="Section">
<O T="Shape">
<O T="Point" X="-width/2" Y="-depth/2" />
<O T="Point" X="-width/2" Y="depth/2" />
<O T="Point" X="width/2" Y="depth/2" />
<O T="Point" X="width/2" Y="-depth/2" />
</O>
</O>
</O>
</O> |
3D View The Line object is used in conjunction with the Section and Shape objects. |
To view this example in the library, see (OpenBrIM Platform) |
<O N="LineObject2" T="Project" Category="3D Geometric Objects">
<!-- created by ParamML Examples on 31.01.2023 -->
<P N="height" V="100" />
<P N="width" V="10" />
<P N="depth" V="2" />
<P N="step" V="50" />
<O N="TShape1" T="Shape">
<O T="Point" X="-width/2" Y="-depth/2" />
<O T="Point" X="-width/2" Y="depth/2" />
<O T="Point" X="width/2" Y="depth/2" />
<O T="Point" X="width/2" Y="-depth/2" />
</O>
<O N="Column3D_1" T="Line">
<O T="Point" X="0" Y="0" Z="0" />
<O T="Point" X="0" Y="step" Z="height" />
<O N="Section_1" T="Section">
<O N="Shape1" T="Shape" Extends="TShape1" Override="1" />
</O>
</O>
<O N="Column3D_2" T="Line">
<O T="Point" X="0" Y="step" Z="height" />
<O T="Point" X="0" Y="step*2" Z="0" />
<O N="Section_2" T="Section">
<O N="Shape2" T="Shape" Extends="TShape1" Override="1" />
</O>
</O>
<O N="Column3D_3" T="Line">
<O T="Point" X="0" Y="step*2" Z="0" />
<O T="Point" X="0" Y="" Z="0" />
<O N="Section_2" T="Section">
<O N="Shape2" T="Shape" Extends="TShape1" Override="1" />
</O>
</O>
</O> |
3D View |
To view this example in the library, see (OpenBrIM Platform) |
Example:
To view this example in the library, see (OpenBrIM Platform) |
Example:
The Line object is used in conjunction with the “Draw Face” and “Draw Border” parameters. |
To view this example in the library, see (OpenBrIM Platform) |
Parameters:
1 | Label | Mandatory | Name and Type Attributes | Default Description and Value Attributes | Other Attributes |
2 | Curved | No | N="IsCurved" | D="Curved?: Does this line curve along alignment definitions. [Yes=1/No=0]" V="0" | Role="Input" |
3 | Skew About X @ Start | No | N="StartSkewX" | D="Skew About X @ Start: The skew angle at the start of the line about X axis of the cross-section." V="0" | Role="Input" |
4 | Skew About Y @ Start | No | N="StartSkewY" | D="Skew About Y @ Start: The skew angle at the start of the line about Y axis of the cross-section." V="0" | Role="Input" |
5 | Skew About X @ End | No | N="EndSkewX" | D="Skew About X @ End: The skew angle at the end of the line about X axis of the cross-section." V="0" | Role="Input" |
6 | Skew About Y @ End | No | N="EndSkewY" | D="Skew About Y @ End: The skew angle at the end of the line about Y axis of the cross-section." V="0" | Role="Input" |
7 | Beta Angle | No | N="BetaAngle" | D="Beta Angle: The orientation angle to rotate the cross-section about the length of the line." V="0" | Role="Input" |
8 | Section | No | N="Section" | D="Section: The cross-section extruded along the length of the line's length." V="" | Role="Input" |
9 | Alignment | No | N="Alignment " | D="Alignment: The alignment assignment of the object." V="" | Role="Input" |
10 | Draw Face A | No | N="DrawFaceA" | D="Draw Face A?: Should graphics display face A of this volume? [Yes=1/No=0]" V="1" | Role="Input" |
11 | Draw Face B | No | N="DrawFaceB" | D="Draw Face B?: Should graphics display face B of this volume? [Yes=1/No=0]" V="1" | Role="Input" |
12 | Draw Border | No | N="DrawBorder" | D="Draw Border?: Should graphics display a border along the lines connecting the faces? [Yes=1/No=0]" V="1" | Role="Input" |
13 | Draw Border Around Face A | No | N="DrawFaceABorder" | D="Draw Border Around Face A?: Should graphics display a border around face A? [Yes=1/No=0]" V="1" | Role="Input" |
14 | Draw Border Around Face B | No | N="DrawFaceBBorder" | D="Draw Border Around Face B?: Should graphics display a border around face B? [Yes=1/No=0]" V="1" | Role="Input" |
15 | PolyLine | No | N="PolyLine" | D="Draw multiple lines? Multiple points can be placed, a line is formed between consecutive points [Yes=1/No=0]" V="1" | Role="Input" |