Dimension.ByElements Trouble

I’m trying to get the Dimension.ByElements node to generate a simple string of dimensions in a section view. But I just can’t seem to figure out why Dynamo keeps throwing an error on that node.

Here’s the error:
“Warning: One or more of the input types are not matching. Couldn’t find a version of ByElements that takes arguments of type (Revit.Elements.Views.SectionView,__array,__array,string,string)”

Any ideas on what I am doing wrong?

Connect elements list to “Reference Elements”. Currently your connecting Reference planes.


Guess I’m more of a newb than I thought. What are Reference Elements exactly?

I did a search thru the Dynamo Dictionary as well as a Google search, but I didn’t come up with anything about Reference Elements.


Reference elements are the Elements to Dimension. Do this changes in your graph.

@josephprouty Here is a simple workflow showing the process.

Still got the same error when I changed my graph to this,

When I did it the simple way, I was able to get it to complete successfully, however no dimensions actually showed up in Revit. Which I thought was really odd, no?

Could you drop or share the link to your rvt file on google drive /dropbox / wetransfer.

Here you go…

Thanks again for your help Kulkul.

@josephprouty Try this

1 Like


So I need to use Gridlines in-order for it to work correctly, is that what I was missing?


One last, rather odd issue I’m running into with this. I am able to get the Dimensions to populate in Revit with the sketch below. However I have to play with the Boolean on the “Element.SelectInView” node, flipping it from True to False and running Dynamo each time I do.

By the looks of it Dynamo is trying to generate the dimensions before it’s generated the Reference Planes. I’ve tried putting a Pause/Wait node in there via Clockwork, but to no avail. Any ideas?

Use Dynamo Player.

Same results with Dynamo Player, unfortunately.

Remove boolean from “Element.SelectInView” node.

1 Like


What type of elements does Dimension.ByElement accept? It seems to work fine for walls, grids, etc. But I can’t get it to work for families. It returns an error:

“Warning: Dimension.ByElements operation failed. The references are not geometric references. Parameter name: references”

Line based. Unfortunately that is what we have so far in Revit API :frowning:


That sucks. And I guess if you do a workaround by adding in a detail line it will break the relationship with the non-line based element and opens up a whole can of worms in terms of coordination.


How could I dimension with a line based element, for example a duct or a pipe. It works for the centerline, but if I want to dimension to one edge of the element, how could I do that?.
Thanks a lot. image|564x472


You could have Dynamo place a perpendicular reference plane at the ends of your ductwork, then dimension to that.