Intersecting Revit elements

Hello all. I’m new to Dynamo, so please excuse my ignorance. I’ve managed to get concrete pilasters (structural columns), to match the depth of a grade beam (structural framing) with the help from Marcello Sgambelluri’s AU demonstration. But this method (see images below) changes ALL of the pilasters in the Revit model to match the depth of one grade beam type. This won’t work because there are varying grade beam depths throughout the project.


My question is this: Is there a way to report intersecting elements, and then maybe filter that list down to grade beams and pilasters? What I’m hoping to achieve is the pilaster depth matches the depth of an adjacent/intersecting grade beam for all different size grade beams in a project. Thanks in advance!



I tried as follow image. I suppose there is nothing wrong in my definition. The result numbers in Dynamo are correct but they make all wrong in Revit.

Take a look guys.


이미지 1




이미지 2

Revit works in feet internally. The SetParameter node does not automatically convert your meter value to feet yet ( but hopefully that will be fixed very soon). So when you send 0.8m, you’re actually sending over 0.8 feet. ( 0.8 meters / 3.28 feet per meters = 0. 244 meters). You’ll have to manually convert the length to feet. Kim, could the proposed solution be adapted to work with multiple beams?

I know that Revit works in feet internally(one thing I don’t like in Revit). Then how can I notice when Dynamo roport feet imperial value or metric value? Dynamo read data as metric as i expected and report it as imperial when give it to revit back? even though it’s set as metric???What a weird… I expect it fixed asap…

About your question, yes it does work. I’ve tested with two beams & three intersected coulumns as following image.

이미지 3

It woks perfect by adding a formula which converts from feet to meter. But it’s still weird.

이미지 4

Thank you for your help!

I keep getting this error message (see image below). Any ideas?



Your inputting a single number, not a list, into the ‘List.GetItemAtIndex’ input demarcated ‘list’ :slight_smile:

List.GetItemAtIndex should simply allow you to give it a list, say 0-10, and then you give it an ‘index’, say index 5 (Which in this case would pull out 5).

See below:



can’t see too much from your definition, but obviously you are trying to access a listelement that does not exist or List.Map creates a negative Index.

examine the List.Map node

Indeed the rumors are true. The next release of Dynamo, 0.8, which will come out in a few weeks, will be unitless. It will not be converting values to or from metric at all. This effectively means that Dynamo will work with your Revit project units. (In the meantime, before 0.8 comes out, consider Dynamo as being in metric always.)

Thanks for the great news, Colin. I can’t wait. :slight_smile:

I’m still not having any luck. I have followed Hyunu’s definition, but I’m still getting an error message (see image below). It looks like the List.Map is only returning two items, when in fact, there are 3 intersections occurring. I’m not sure if this is the roof of the problem, but I’ll take any help I can get.



Change lacing to Cross Product for two nodes, DoesIntersect and BoundingBox. See my previous attached image again.

And there is nothing to learn by imitating but understanding. You’d better try to understand what each of nodes actually does. :slight_smile: