Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 8 Current »

Group objects are used for organizational purposes and to group related parameters or other logically related objects together. This allows for better organization and management of the objects within a project.


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

<O T="Group">
.....
.....
.....
</O>

Example: Simple group object.

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.

<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>

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

Example: In this case, the parameters are organized and grouped under the Groups object

<O N="Group Example 1" 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.

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

Example: Group object with User “Input” parameter.

<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>

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

Example: Group Object with Guard Parameter.

<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

<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)

  • No labels

0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.