How to Place a Structrual Framing Member on a Specfic Reference Level


I’m writing a short script to place structural beams on a grid of curves. Problem solving to try to set the framing elements’ correct Reference Level in the project, the structural members continue to state the “Reference Level” is “Level 1” and then offsets the start and ends by a huge amount. How does one ultilize the more normal RIVET workflow which shows beams referenced to the correct higher level with zero offset? The structural members populate without issue in Revit despite the Warning: “StructuralFraming.BeamByCurve operation failed. Value cannot be null. Parameter name: curve”.


I think the issue lies farther back in your script. I tried a quick example and had no problems…



Hmm… Interesting. So it must be something to do with how the original points and curve were laid out? Thanks for sheding a little light on this problem.

I re-checked the script and everything looks similar to yours but as one can see it continues to reference level 1 in Revit and offsets from there. Strange eh?

15-10-08 line grid by point

interesting…Try setting the offset in Dynamo to 10000. I wonder if the beam only picks up the level if it goes higher?

Also, when you initially ran the script, did you have the level initially set at Level 1, then you changed to high top later? I wonder if Dynamo does not “reset” the level once the beam is already created. Perhaps it only sets the reference level the first time the beam is created, afterwards it only adjusts the offset values…