A private object is a special container that holds parameters specific to another object. It enables communication between objects. The private object contains the input parameters of another object and the intermediate parameters ("Export" object) that are intended to be passed to the application.
It is useful for understanding how communication works in the application when creating an object in the Private Object Library.
When creating object A, if object B is needed, object B is placed in "Private" to represent it, and the communication between the two is controlled as if object B was called in the application and called object A. This control takes place within the Library and does not affect the application.
Example:
Object Name: “Export_Object1” The object from which the data will be obtained (the Object data is exported). |
<O N="Export_Object1" T="Project" Category="Core Objects"> <!-- created by ParamML Examples on 27.01.2023 --> <O N="Inputs" T="Group"> <P N="length" V="50" Role="Input" Category="Inputs" /> <P N="width" V="100" Role="Input" Category="Inputs" /> <P N="depth" V="150" Role="Input" Category="Inputs" /> </O> <O N="Object 1" T="Volume" Opacity="0.8"> <O T="Surface"> <O T="Point" X="0" Y="0" Z="0" /> <O T="Point" X="0" Y="width" Z="0" /> <O T="Point" X="length" Y="width" Z="0" /> <O T="Point" X="length" Y="0" Z="0" /> </O> <O T="Surface"> <O T="Point" X="0" Y="0" Z="depth" /> <O T="Point" X="0" Y="width" Z="depth" /> <O T="Point" X="length" Y="width" Z="depth" /> <O T="Point" X="length" Y="0" Z="depth" /> </O> </O> <O N="Objcet1CADD" T="CADD"> <O T="CADDShape" X="10" Y="10" RZ="0"> <O T="Point" X="0" Y="0" Z="0" /> <O T="Point" X="0" Y="width" Z="0" /> <O T="Point" X="length" Y="width" Z="0" /> <O T="Point" X="length" Y="0" Z="0" /> </O> </O> <O T="Export"> <O N="Parameters" T="Group"> <P N="Topelevation" V="depth" /> <P N="ElevationDif" V="Topelevation+25" /> <P N="midpt" V="onliner(refline,0.5)" /> </O> <O N="refline" T="Line" D="Reference Line"> <O N="R1" T="Point" X="0" Y="0" Z="Topelevation" /> <O N="R2" T="Point" X="length" Y="width" Z="Topelevation" /> </O> </O> </O> |
The object for which the data will be collected and utilized (the object collects the data into). |
<O N="Private_Object1" T="Project" Category="Core Objects"> <!-- created by ParamML Examples on 27.01.2023 --> <P N="width" V="20" Role="Input" /> <P N="RefObj" V="E_O.midpt" D="Reference Object" /> <O T="Volume" X="RefObj[0]" Y="RefObj[1]" Z="RefObj[2]"> <O T="Surface"> <O T="Point" X="-width/2" Y="-width/2" /> <O T="Point" X="width/2" Y="-width/2" /> <O T="Point" X="width/2" Y="width/2" /> <O T="Point" X="-width/2" Y="width/2" /> </O> <O T="Surface" Z="width"> <O T="Point" X="-width/2" Y="-width/2" /> <O T="Point" X="width/2" Y="-width/2" /> <O T="Point" X="width/2" Y="width/2" /> <O T="Point" X="-width/2" Y="width/2" /> </O> </O> <O N="E_O" T="Export_Object1"> <P N="length" V="50" /> <P N="width" V="100" /> <P N="depth" V="150" /> <P N="Topelevation" V="depth" /> <P N="ElevationDif" V="Topelevation+25" /> <P N="midpt" V="onliner(refline,0.5)" /> <O N="refline" T="Line" Exported="1"> <O N="R1" T="Point" X="0" Y="0" Z="Topelevation" /> <O N="R2" T="Point" X="length" Y="width" Z="Topelevation" /> </O> </O> </O> |
To view this example in the library, see (Export→ https://openbrim.org/platform/?application=inc&author=ParamML_Examples_OpenBrIM+Platform&obj=objidnopmup6rh6fjejdvfax1g&folder=Core+Objects , Private→ https://openbrim.org/platform/?application=inc&author=ParamML_Examples_OpenBrIM+Platform&obj=objid4mtx204cyzyyd18p9l2uj8&folder=Core+Objects)
Add Comment