...
Additionally, applications that use ParamML and OpenBrIM objects can also utilize Group objects to store custom data. Group objects can be nested within all types of objects, providing a flexible and organized way to manage data within a project.
Syntax
Code Block |
---|
|
<O T="Group">
.....
.....
.....
</O> |
...
Code Block |
---|
| <O N="Volume _Group" T="Project" Category="Core Objects">
<!-- created by ParamML Examples on 26.01.2023 -->
<O N="Volume Object" T="Group" X="80" Alingment="Straight" AlignH="None" AlignT="None" AlignV="None">
<O N="Volume1" T="Volume">
<P N="Opacity" V="0.5" />
<O T="Surface">
<O T="Point" Y="-5" Z="0" />
<O T="Point" Y="5" Z="0" />
<O T="Point" Y="5" Z="10" />
<O T="Point" Y="-5" Z="10" />
</O>
<O T="Surface" X="100">
<O T="Point" Y="-5" Z="0" />
<O T="Point" Y="5" Z="0" />
<O T="Point" Y="5" Z="10" />
<O T="Point" Y="-5" Z="10" />
</O>
</O>
<O N="Volume2" T="Volume">
<P N="Opacity" V="0.7" />
<O T="Surface" X="150">
<O T="Point" Y="-5" Z="0" />
<O T="Point" Y="5" Z="0" />
<O T="Point" Y="5" Z="10" />
<O T="Point" Y="-5" Z="10" />
</O>
<O T="Surface" X="250">
<O T="Point" Y="-5" Z="0" />
<O T="Point" Y="5" Z="0" />
<O T="Point" Y="5" Z="10" />
<O T="Point" Y="-5" Z="10" />
</O>
</O>
</O>
</O> |
|
Image Removed Image Added |
To view this example in the library, see (https://openbrim.org/platform/?application=inc&author=ParamML_Examples_OpenBrIM+Platform&folder=Core+Objects&obj=objidjvbl1f51lproyl9yftagn)
...
Code Block |
---|
| <O N="Group Example 1_Example1" T="Project" Category="Core Objects">
<!-- created by ParamML Examples on 26.01.2023 -->
<O N="Parameters" T="Group">
<P N="height" V="20" />
<P N="width" V="1" />
<P N="depth" V="2" />
</O>
<O N="Column3D" T="Surface">
<P N="Thickness" V="height" />
<O T="Point" X="0" Y="0" Z="0" />
<O T="Point" X="width" Y="0" Z="0" />
<O T="Point" X="width" Y="depth" Z="0" />
<O T="Point" X="0" Y="depth" Z="0" />
</O>
</O> |
|
As demonstrated in the code, the parameters are organized and grouped together under a "Group" object. This allows for better organization and management of the parameters within the project, making it easier to access and manipulate the parameters as needed. |
Image Removed Image Added |
To view this example in the library, see (https://openbrim.org/platform/?application=inc&author=ParamML_Examples_OpenBrIM+Platform&folder=Core+Objects&obj=objid28h88drjowaj081pbecbkcfw)
...
Code Block |
---|
| <O N="Group Example 2_Example2" T="Project" Category="Core Objects">
<!-- created by ParamML Examples on 26.01.2023 -->
<O N="Inputs" T="Group">
<P N="height" V="240" Role="Input" Category="Inputs" />
<P N="width" V="12" Role="Input" Category="Inputs" />
<P N="depth" V="24" Role="Input" Category="Inputs" />
</O>
<O N="Column3D" T="Surface">
<P N="Thickness" V="height" />
<O T="Point" X="0" Y="0" Z="0" />
<O T="Point" X="width" Y="0" Z="0" />
<O T="Point" X="width" Y="depth" Z="0" />
<O T="Point" X="0" Y="depth" Z="0" />
</O>
</O> |
|
 You can see the component of the Group Object indicated by the red arrow under "Debug Traceā |
To view this example in the library, see (https://openbrim.org/platform/?application=inc&author=ParamML_Examples_OpenBrIM+Platform&folder=Core+Objects&obj=objidzng76y465jk6989dis4w)
...
Code Block |
---|
| <O N="Group Example 3_Example3" T="Project" Category="Core Objects">
<!-- created by ParamML Examples on 26.01.2023 -->
<O N="Inputs" T="Group">
<P N="height" V="240" Role="Input" Category="Inputs" />
<P N="width" V="12" Role="Input" Category="Inputs" />
<P N="depth" V="12" Role="Input" Category="Inputs" />
<P N="type" V="2" Role="Input" Category="Inputs" />
</O>
<O N="Rectangular Column" T="Line">
<P N="Guard" V="type .EQ. 1" />
<O T="Point" X="0" Y="0" Z="0" />
<O T="Point" X="0" Y="0" Z="height" />
<O N="Rectangular" 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 N="Circular Column" T="Line">
<P N="Guard" V="type .EQ. 2" />
<O T="Point" X="0" Y="0" Z="0" />
<O T="Point" X="0" Y="0" Z="height" />
<O N="Circular" T="Section">
<O T="Circle" Radius="width/2" />
</O>
</O>
</O> |
|
...
Example: Group Object with Enumeration
Code Block |
---|
|
<O N="Group Example 4_Example4" T="Project" Category="Core Objects">
<!-- created by ParamML Examples on 26.01.2023 -->
<O T="Group">
<P N="RECTANGULAR" V="1" />
<P N="CIRCULAR" V="2" />
</O>
<O N="Inputs" T="Group">
<P N="height" V="50" />
<P N="width" V="1" />
<P N="depth" V="1" />
<P N="type" V="RECTANGULAR" />
</O>
<O N="Rectangular Column" T="Line">
<P N="Guard" V="type .EQ. RECTANGULAR" />
<O T="Point" X="0" Y="0" Z="0" />
<O T="Point" X="0" Y="0" Z="height" />
<O N="Rectangular" 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 N="Circular Column" T="Line">
<P N="Guard" V="type .EQ. CIRCULAR" />
<O T="Point" X="0" Y="0" Z="0" />
<O T="Point" X="0" Y="0" Z="height" />
<O N="Circular" T="Section">
<O T="Circle" Radius="width/2" />
</O>
</O>
</O> |
...