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

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"
UT="Angle"
UC="Section"

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"
UT="Angle"
UC="Section"

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"
UT="Angle"
UC="Section"

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"
UT="Angle"
UC="Section"

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"
UT="Angle"
UC="Section"

Section

No

N="Section"
T="Section"

D="Section: The cross-section extruded along the length of the line's length."

V=""

Role="Input"

Alignment

No

N="Alignment "
T="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"

  • No labels