Dimensioning Structural Framing - Specifying Alternate Reference Planes

I am not as capable with the Revit API back end compared to Rhino/Grasshoppers, and I am trying to write some scripts to assist a structural drafter friend of mine to automate some of their tasks.

The recent updates that add dimensions could make his life so much better. He normally has hundreds of decking beams he has to dimension between.
We have hit a significant hurdle though, when using the beams directly in the “Add Linear Dimension” function, there is no option to select exactly what to dimension to. We would prefer that the dimensions are attached to the center line of the beam, but instead they measure to a different point. From what I understand, there are various different reference planes/lines built into the structural family, and grasshopper is selecting one of them to dimension to.
Another thing I’ve noticed when testing the same script on the built in simple families, is that yes we do get the center line, but if I manually add or remove a dimension to the “string”; Revit uses a different reference object to dimension to. It adds a 0 dimension to the string, and whatever grasshopper is using to dimension isn’t something “selectable” by a user in the Revit view port. (This might be considered a feature rather than a bug in some circumstances)

We have looked at “workarounds” but there are some restrictions; The beam family has to be built a certain way, it is a family provided by the supplier and cannot change easily.

I can’t find any grasshopper component that allows to extract reference planes from a structural framing object, other than components that return Rhino geometry. I’m not even sure this is the correct solution method to follow with Revit’s idiosyncrasies.
Is it possible to finesse the dimension components so that they are capable of pointing to a different reference object within the parent. For now, even getting the component to reference to whatever Revit would reference with a human user would be preferred. I understand the families can have a “Primary” reference plane?

Relevant files attached:
Slimdek Rhino Test Project.rvt (8.5 MB)
Structural Framing Dimensioning - Beam.gh (16.5 KB)

Thanks Andrew, I’ll look into this and bring it to the team to see what we can do to improve things. I know that some Revit API plugins handle this by creating a Dimension Configuration that allows users to specify some of the variables (such as which Reference to get) before dimensioning elements.

1 Like