Can Dynamo align framing members to a sloped reference plane?

I placed hundreds of beams on a level for a non-rectangular roof, with all the sizes, camber and headed stud quantity set for each beam. Then the architect decided they wanted to slope the roof. Is there a way for dynamo to be able to change the beams from being flat, aligned to the level, to being sloped, aligned to the sloped reference plane?



Just in straight Revit:

  1. In a Section view draw a RefPlane aligned to the Level.
  2. Name the RefPlane.
  3. Select the beams and use Edit Work Plane to choose the RefPlane. This will associate the beams to the RefPlane.
  4. If you rotate/translate the RefPlane to the new roof slope, the beams will move too.
Does that do what you want?

If the Revit approach doesn’t work, you could try this…

File: StrFrmSlope.dyn

Note that running the script repeatedly toggles the beam position between new and old.



VS? How on earth did you learn that? That’s amazing. I just never would have thought to do it that way. Acutally I’m not sure how I would have approuched this question.

Hi Vikram,
Cool solution. I have an application where I needed to project multiple beams to the underside of a floor slab that is sloping in two directions. I have a script that works based on your workflow, but it only has one surface as an input. I was wondering if you have any ideas how i can align multiple beams to the underside of a floor slab (multiple surfaces) based on their location?

A basic diagram of the intent.

Any help or ideas would be appreciated,

Hey Ewan_Opie,
Thanks for including your script. I’ve been wracking my brains for a way to align beams with a sloped roof. (FYI I’m new to Dynamo).

I ran the script and the beams successfully aligned with the roof slope. Unfortunately the entire beam system was offset by a foot or so.

Glad to hear it provided you with a good starting point. :grinning:
Can you post a screen grab of the geometry in Revit?
Are you are working with Imperial units in your project?
There may need to be some unit conversion done as Dynamo works in metric units.

Hi Ewan, Thanks for getting back to me so soon! I actually figured out what the problem was. When I ran the script, it did not take into account the height of the 3rd floor level. When I subtracted the level height from the displacement value it worked!


Great that you figured it out :+1: