Beam placement on (trimmed) curves?


Okay… let me start out by saying Dynamo is awesome.

I’m trying to figure out the best way to place 16 inch on center ‘C’ channels onto these floating ceiling panels. The problem I am running into is finding the best logic to handle these oblique angled panels.

Test One: I started out using Marcello’s get a center-line example which worked… but it was not handling the twist in the panels.

Test Two: I found the Dynamo Revit Structural Framing example which works perfectly with the placing the beams… but now I need to find a way of handling multiple line angles. Because each panel edge has a different length. This creates a situation where the beams become skewed over the distance of the entire panel.

Test Three (Combo of one and two logic): My thought is to go back to the center line and create lines perpendicular to the center line and then trim the lines using the panel edges. This is where I need the forum’s help… I’m not sure how to approach the trim and/or handle the twisting of the lines.

Please help






Not sure I’m following you completely, but maybe this will give you some ideas:


Hello Dimitar, Thanks for the direction you provided! I have two more questions.

  1. I tested the example you provided above and when I add the Structural Framing.BeamByCurve revit is rotating the beams. How can I control the z direction placement for the beams?
  2. I'd also like to offset the surface edge 1 foot so the beams are inset from the edge. How can I accomplish this? I messed around with different options all day and nothing worked.
Note: I changed how you pulled a centerline.


UPDATE: Always, Always pay attention to the details… I my case the Curve.Offset “must be planar”… I was scratching my head trying to understand why the offset wasn’t working. The Planar issue also fixed the rails Z-up issue!!

Thanks for the help Dimitar!