Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

We can group various objects created as volumes under a single title called "volume" using the Group object. This allows us to move or manipulate all of the volumes at the same time, such as by shifting their position or placing them on the same route in a single move. This can be useful in situations where multiple similar objects need to be managed or manipulated together.

Code Block
languagexml
<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>

...

Example: Group object with User “Input” parameter.

Code Block
languagexml
<O N="Group Example 2" 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>

...

Example: Group Object with Guard Parameter.

Code Block
languagexml
<O N="Group Example 3" 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>

To view this example in the library, see (https://openbrim.org/platform/?application=inc&author=ParamML_Examples_OpenBrIM+Platform&folder=Core+Objects&obj=objid5wmpv2algs8awxwy0kxaa)

Example: Group Object with Enumeration

Code Block
<O N="Group Example 4" 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>

To view this example in the library, see (https://openbrim.org/platform/?application=inc&author=ParamML_Examples_OpenBrIM+Platform&folder=Core+Objects&obj=objidsc7ube8d137drl5yzmoum)