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> |
The Line object is used in conjunction with the Section and Shape objects. |
To view this example in the library, see (https://openbrim.org/platform/?application=inc&author=ParamML_Examples_OpenBrIM+Platform&folder=3D+Geometric+Objects&obj=objidmad1yypvle6g3jr892mg4) |
<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> |
To view this example in the library, see (https://openbrim.org/platform/?application=inc&author=ParamML_Examples_OpenBrIM+Platform&obj=objidjsj8tye7xgzomqqlkdvpc&folder=3D+Geometric+Objects) |
Example:
<O N="LineObject3" T="Project" Category="3D Geometric Objects"> <!-- created by ParamML Examples on 31.01.2023 --> <P N="height" V="40" /> <P N="width" V="2" /> <P N="depth" V="4" /> <P N="dx" V="8" /> <O N="Column3D" T="Line"> <O T="Point" X="0" Y="0" Z="0" /> <O T="Point" X="0" Y="0" Z="height" /> <O 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 T="Shape"> <O T="Point" X="-width/4+dx" Y="-depth" /> <O T="Point" X="-width/4+dx" Y="depth" /> <O T="Point" X="width*2+dx" Y="depth" /> </O> </O> </O> </O> |
To view this example in the library, see (https://openbrim.org/platform/?application=inc&author=ParamML_Examples_OpenBrIM+Platform&obj=objid6dq87jzofzi2wa0x9335il) |
Example:
<O N="LineObject4" T="Project" Category="3D Geometric Objects"> <!-- created by ParamML Examples on 31.01.2023 --> <O T="Line"> <P N="DrawFaceA" V="0" /> <P N="DrawFaceB" V="0" /> <P N="DrawFaceABorder" V="1" /> <P N="DrawFaceBBorder" V="1" /> <O T="Point" X="0" Y="0" Z="0" /> <O T="Point" X="0" Y="0" Z="9" /> <O T="Circle"> <P N="Radius" V="10" /> </O> </O> </O> |
The Line object is used in conjunction with the “Draw Face” and “Draw Border” parameters. |
To view this example in the library, see (https://openbrim.org/platform/?application=inc&author=ParamML_Examples_OpenBrIM+Platform&obj=objidf7fzui9itxa2c3q9b5ufq1&folder=3D+Geometric+Objects) |
Parameters:
Label | Mandatory | Name and Type Attributes | Default Description and Value Attributes | Other Attributes |
Curved | No | N="IsCurved" | D="Curved?: Does this line curve along alignment definitions. [Yes=1/No=0]" V="0" | Role="Input" |
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" |
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" |
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" |
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" |
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" |
Section | No | N="Section" | D="Section: The cross-section extruded along the length of the line's length." V="" | Role="Input" |
Alignment | No | N="Alignment " | D="Alignment: The alignment assignment of the object." V="" | Role="Input" |
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" |
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" |
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" |
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" |
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" |
Add Comment