Creating Clearance around a beam

Hey guys, i was wondering if anyone knew how i could create a clearance around a beam i would like to do it without having to place a clearance family. so could i grab the geometry of the beams and somehow offset it 2"?

Thanks ahead of time for any ideas you come up with

Do you want an element in the model after the offset?

If so you could place a family by the location line of the beam in question.

If you’re looking to stay in Dynamo you could get the location line and profile curves (there are a few ways to do this), offset the profile by the clearance dimension and finally sweep that along the location curve.

i tried allready to place the family along the line but i couldnt figure out how to get the family to place on slanted beams due to Start and End offset parameter the beam.Beam Clearances.dyn (48.2 KB)
Beam Clearance Family.rfa (356 KB)

also the family i just sent you is the complex version i can just make the beam i square and offset it

This is the one I have been using, but for insulation. It creates a generic model group for the offset model elements. It takes W section but could be simplified to take a rectangular beam.
Beam Clearances.1.3.1.dyn (73.5 KB)

1 Like

does it work on sloped beams?

Hey Jacob, I was reading this post from 2 years ago and i want to try a couple different things. Is there a way to just get the profile curves of a beam??

Well… This is a loaded question.

I’m assuming the use case here is fireproofing, in which case I’m still a fan of using a clearance family for this as it’s more efficient in the field both computationally, effort wise, and over time.

  • Duplicate the structural framing model.
  • Delete everything but the steel that needs fireproofing.
  • Disable analytical model for all the elements.
  • Right click on your steel type in the project browser and swap it out for the ‘fireproofing profile’ version of the family.
  • Load this model into the project for coordination efforts.

I like this because in the end that fireproofing is going to be a built up, and can impede on stuff like headroom and the like, so you should have something to refer to.

If you really want to stay clear of that or because you’re just looking to have fun:

  1. Get the beam’s family type.
  2. Get the faces from the type (yes family types have geometry)
  3. Get the first face from the list of faces.
  4. Get the perimeter curves from that face.
  5. Build a polycurve from those curves.
  6. Get a bounding box of that geometry
  7. Get the maximum point of the bounding box
  8. Build a vector by the inverse X and Z values for the maximum point.
  9. Move the polycurve (5) by that vector (top center of the curve should be the origin now)

Likely from here you want to put that in place, so:

  1. Get the location of the beam.
  2. Find the coordinate system at parameter 0 of the curve.
  3. Rotate that coordinate system about it’s origin by 90 degrees on it’s Z axis.
  4. Apply this coordinate system to the polycurve from the family type (step 9 in the other list)
  5. Build a solid by sweep of the curve.

A few caveats:

  • The first list of steps might nto work with all structural family types. I only tested W shapes. Instead of ‘first’ you might need ‘last’ or minimum item by area, or some other bit of content. Bounding boxes can help as that family will always be aligned and oriented about the origin.
  • You may be putting clearance where you don’t have a beam, as the beams have cuts that we’re not tracking.
  • This may not work with rotated beams, as we rotated the coordinate system about it’s Z axis which could not align with the rotation of the beam.

All of those issues can be overcome with an alternative method:

Obviously there are some potential issues here, mostly around offset geometry becoming invalid (you can’t offset a solid into itself any more than you can put your hand though your leg), but it’s likely that the bulk of your families will work out just fine this way, and you’d get the 2" of coverage on the ends of the beam as well (though you may want to remove that in some cases.

1 Like