The "Shape" object is part of the "Section" object, and creating its shape is similar to creating a "Surface" object. It is made up of at least three points, defined in sequence, and is used to define the overall shape“Shape” object. You can include multiple "Shape" objects within a single "Section" statementobject.
Example Syntax:
Code Block |
---|
|
...
<O T="Shape">
...
...
</O> |
...
Code Block |
---|
| <O N="ShapeObject1" T="Project" Category="3D Geometric Objects" TransAlignRule="Right">
<!-- created by ParamML Examples on 01.02.2023 -->
<O N="Inputs" T="Group">
<P N="w" V="10" Role="Input" Category="Inputs" />
<P N="l" V="20" Role="Input" Category="Inputs" />
<P N="d" V="14" Role="Input" Category="Inputs" />
<P N="bf" V="7" Role="Input" Category="Inputs" />
<P N="t" V="1" Role="Input" Category="Inputs" />
</O>
<O T="Line">
<O T="Point" X="0" Y="0" Z="0" />
<O T="Point" X="20" Y="0" Z="0" />
<O N="Section" T="Section">
<O N="ConcreteN" T="Shape">
<P N="Opacity" V="0.8" />
<O T="Point" X="w/2" Y="-l/2" />
<O T="Point" X="w/2" Y="l/2" />
<O T="Point" X="-w/2" Y="l/2" />
<O T="Point" X="-w/2" Y="-l/2" />
</O>
<O N="IGirder" T="Shape" IsCutout="1">
<O T="Point" X="bf/2" Y="-d/2" />
<O T="Point" X="bf/2" Y="-d/2+t" />
<O T="Point" X="t/2" Y="-d/2+t" />
<O T="Point" X="t/2" Y="d/2-t" />
<O T="Point" X="bf/2" Y="d/2-t" />
<O T="Point" X="bf/2" Y="d/2" />
<O T="Point" X="-bf/2" Y="d/2" />
<O T="Point" X="-bf/2" Y="d/2-t" />
<O T="Point" X="-t/2" Y="d/2-t" />
<O T="Point" X="-t/2" Y="-d/2+t" />
<O T="Point" X="-bf/2" Y="-d/2+t" />
<O T="Point" X="-bf/2" Y="-d/2" />
</O>
</O>
</O>
</O> |
|
 |
To view this example in the library, see(https://openbrim.org/platform/?application=inc&author=ParamML_Examples_OpenBrIM+Platform&obj=objid09yecgqaj0ktqx3y23jmgj) |
Example:
Code Block |
---|
| <O N="ShapeObject2" T="Project" Category="3D Geometric Objects" TransAlignRule="Right">
<!-- created by ParamML Examples on 01.02.2023 -->
<P N="height" V="40" />
<P N="width" V="10" />
<P N="depth" V="20" />
<P N="t" V="2" />
<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="0" Y="0" />
<O T="Point" X="width" Y="0" />
<O T="Point" X="width" Y="t" />
<O T="Point" X="t" Y="t" />
<O T="Point" X="t" Y="depth" />
<O T="Point" X="-0" Y="depth" />
</O>
</O>
</O>
</O> |
|
Image Added |
To view this example in the library, see (https://openbrim.org/platform/?application=inc&author=ParamML_Examples_OpenBrIM+Platform&obj=objidnpn45cgytx1y84ks3dgzh) |
Example:
Code Block |
---|
| <O N="ShapeObject3" T="Project" Category="3D Geometric Objects" TransAlignRule="Right">
<!-- created by ParamML Examples on 01.02.2023 -->
<P N="height" V="40" />
<P N="width" V="10" />
<P N="depth" V="20" />
<P N="thk" V="2" D="Wall thickness of the tube" />
<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" R="1 + thk" X="-width/2" Y="-depth/2" Z="0" />
<O T="Point" R="1 + thk" X="-width/2" Y="depth/2" Z="0" />
<O T="Point" R="1 + thk" X="width/2" Y="depth/2" Z="0" />
<O T="Point" R="1 + thk" X="width/2" Y="-depth/2" Z="0" />
</O>
<O T="Shape">
<P N="IsCutout" V="1" />
<O T="Point" R="1" X="-width/2 + thk" Y="-depth/2 + thk" Z="0" />
<O T="Point" R="1" X="-width/2 + thk" Y="depth/2 - thk" Z="0" />
<O T="Point" R="1" X="width/2 - thk" Y="depth/2 - thk" Z="0" />
<O T="Point" R="1" X="width/2 - thk" Y="-depth/2 + thk" Z="0" />
</O>
</O>
</O>
</O> |
|
Image Added |
To view this example in the library, see (https://openbrim.org/platform/?application=inc&author=ParamML_Examples_OpenBrIM+Platform&obj=objidthy7xlwj2cdf30gn6ed4sa&folder=3D+Geometric+Objects) |
Example:
Code Block |
---|
| <O N="ShapeObject4" T="Project" Category="3D Geometric Objects" TransAlignRule="Right">
<!-- created by ParamML Examples on 01.02.2023 -->
<P N="height" V="10" />
<P N="width" V="5" />
<P N="depth" V="10" />
<P N="thk" V="1" D="Thickness" />
<P N="C1" V="1" D="outer chamfer distance" />
<P N="C2" V="1 + thk/sin(PI/4) - thk - thk/tan(PI/4)" D="inner chamfer distance" />
<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" C="C1" X="-width/2" Y="-depth/2" Z="0" />
<O T="Point" C="C1" X="-width/2" Y="depth/2" Z="0" />
<O T="Point" C="C1" X="width/2" Y="depth/2" Z="0" />
<O T="Point" C="C1" X="width/2" Y="-depth/2" Z="0" />
</O>
<O T="Shape">
<P N="IsCutout" V="1" />
<O T="Point" C="C2" X="-width/2 + thk" Y="-depth/2 + thk" Z="0" />
<O T="Point" C="C2" X="-width/2 + thk" Y="depth/2 - thk" Z="0" />
<O T="Point" C="C2" X="width/2 - thk" Y="depth/2 - thk" Z="0" />
<O T="Point" C="C2" X="width/2 - thk" Y="-depth/2 + thk" Z="0" />
</O>
</O>
</O>
</O> |
|
Image Added |
To view this example in the library, see (https://openbrim.org/platform/?application=inc&author=ParamML_Examples_OpenBrIM+Platform&folder=3D+Geometric+Objects&obj=objid6z1tibidwn1lu722nzhydh) |
Parameters of Shape Object:
| Label | Name and Type | Description | Mandatory | Attributes |
---|
1 | Material | N="Material" T="Material" | D="Material: The material of the shape." V="" | No | Role="Input" |
2 | X | N="X"
| D="X: The x location of this shape." V="0" | No | Role="Input" UT="Length" UC="Section" |
3 | Y | N="Y"
| D="X: The y location of this shape." V="0" | No | Role="Input" UT="Length" UC="Section" |