Locating objects in relation to other objects

Issue #197 resolved
Rick Brice created an issue

I'm try to place rebar inside of a girder. The girder is located relative to an alignment. Now I want to place the rebar in relation to the girder and not the alignment or the global coordinates.

My first attempt was to make the rebar object a sub-object of the girder and then refer to the girder X,Y,Z parameters but I get errors about circular references.

Is there a way to locate an object in relation to another object?

Here is my example https://www.openbrim.org/objidy035xqwyawev6171y8moj.project

Comments (2)

  1. Ali Koc

    You do have access to all the information you need -- no need for WF66G_E.Z, WF66G_E.Y or WF66G_E.X.

    You know your reinforcement starts from StartStation and ends at EndStation. It is positioned at StartOffset along Y and StartSlabOffset for Z. So you can use these parameters to define your reinforcement.

    Make sure that Alignment parameter is set for the reinforcement, otherwise rebars will be in global while the beam in Main alignment.

    Take a look at the ParamML code below. You may want to consider adding the rebar objects as part of the beam library objects, but it should work either way.

    I added transparency to the I-Beam and added larger than 1 opacity to the rebar to make it opaque. Opacity is cumulative from 0 to 1.

               <O N="WF66G_E" T="I-Beam" Alignment="Main" Opacity="0.8">
                   <P N="C1" V="0.083333" />
                   <P N="D1" V="0.250000" />
                   <P N="D2" V="0.250000" />
                   <P N="D3" V="0.250000" />
                   <P N="D4" V="0.427083" />
                   <P N="D5" V="0.375000" />
                   <P N="D6" V="0.250000" />
                   <P N="D7" V="3.697917" />
                   <P N="T1" V="0.510417" />
                   <P N="T2" V="0.510417" />
                   <P N="W1" V="1.536458" />
                   <P N="W2" V="0.250000" />
                   <P N="W3" V="1.093750" />
                   <P N="W4" V="0.250000" />
                   <P N="EndBlockWidth" V="0.000000" />
                   <P N="EndBlockLength" V="0.000000" />
                   <P N="EndBlockTransition" V="0.000000" />
                   <P N="Align" V="Main" />
                   <P N="StartStation" V="1.000000" />
                   <P N="StartOffset" V="12.000000" />
                   <P N="StartSlabOffset" V="-0.916667" />
                   <P N="EndStation" V="129.000000" />
                   <P N="EndOffset" V="12.000000" />
                   <P N="EndSlabOffset" V="-0.916667" />
                   <P N="Orientation" V="0.000000" />
                   <P N="Theta1" V="0.000000" />
                   <P N="Theta2" V="0.000000" />
                   <P N="StartFaceSlope" V="0.000000" />
                   <P N="EndFaceSlope" V="0.000000" />
                   <O N="Bars" T="Repeat">
                       <P N="S" V="0" />
                       <P N="E" V="4" />
                       <P N="I" V="1" />
                       <P N="CTRL" V="idx" T="Text" />
                       <P N="idx" V="0" />
                       <P N="Space" V="3/12" />
                       <!-- Z = elevation, Y=Left/Right in seciton, X=Longitudinal location -->
                       <O N="fbx" T="DOT (State of Florida) Standard Bar Bend" X="StartStation" Z="StartSlabOffset - (D1+D2+D3+D4+D5+D6+D7)+Cover+BarDiameter/2" Y="StartOffset + Space*(E-S)/2-Space*idx" Opacity="1.25">
                           <P N="Color" V=" #FF00FF" T="Text" />
                           <P N="Type" V="Type1" />
                           <P N="Length" V="[EndStation-StartStation]" />
                           <P N="BarDiameter" V="1/12" />
                           <P N="Cover" V="2/12" />
                       </O>
                   </O>
               </O>
    
  2. Ali Koc

    I am closing this issue due to inactivity. If you have further questions on this, please create a separate issue for it.

  3. Log in to comment