Duct Accessories Room/Space Data

Hello DynamoBIM,

I’ve been able to develop my first few dynamo script (largely thanks to this community) which populate custom parameters with data pulled from Spaces. (ie: Name, Number). Most of my elements so far have been pulling Space data correctly, except for the Duct Accessories. After some google searching, I found out that this is a known issue, because the duct accessory is placed in the wall cavity, it does not sit directly above a Room/Space. Since Duct Accessories do not have a room calculation point which I can adjust (at less not in Revit 2020), I am wondering if there is a way to resolve this using Dynamo.
Thank you,

Hey @Navid_Hoorzad.
First, why are you pushing space data into the elements? Maybe it’s not necessary for these elements?

Second, does if it matters which room it’s assigned to? If it doesn’t matter, this is easier.

I would suggest going down the route of using geometry intersection to find which space it is adjacent to, and then select one of them? There are plenty of posts explaining how to do this.

Thirdly, I thoroughly recommend learning how to use list levels and reduce all the nodes and wires. The 6 sets can be reduced to one, making it easier to manage and adapt.

Good luck!

1 Like

Thank you @danielU3R39, I’d like to give the geometry intersection solution you mentioned a try, can you point me to a post explains this?

Hi Daniel,

Happy to hear that you are getting familiar with Dynamo more and more thanks to the community!

What I suggest you for the improvement of your node is that you can use Category.ByName node to create a list of categories so that you dont repeat the same steps. You can also use multiple values for parameter names. :

You can try to use clockwork package to get the geometry of an element and combine it with the geometry intersects to find the corresponding space of the duct elements.

I hope this is helpful for the next steps! Please let me know if you need further assistance.

Good luck

2 Likes

You could try roomatpoint, space at point from mepover, then just get the locationpoint from your accessories an it will give you the space…i like to use that one then i can easy translate the point so im sure it intersect a room, if it is above room/space

1 Like

thanks everyone for the replies but I still need more help to get this figured out. The main problem I am having is the duct accessories do not cross a space (see image). So what I need to do is to grab one of the nearby space data, doesn’t really matter which one so long as it’s a space near the element. I tried both the Space at Point and Geometry at intersection with no luck.
Thanks for your help!

Thanks for the suggestion, i’ll be sure to implement your shorter workflow. :slight_smile:

Room at point is the way to go. My recollection is these type of accessories have a ‘access’ side for maintenance/repair. I recommend doing things in two passes - get the elements in rooms first and assign the room location parameter the respective value.

The in another graph get the element with no room location parameter parameter value. Take their coordinate system and generate a point just outside the object type’s extents in the ‘access’ direction. Then get the room at that point.

Once you have both graphs working well you can look to merge the two (or not - back to back graphs are quite useful and often faster performing once you learn/teach the sequencing and they allow for intermediate review / validation).

2 Likes

Hi @Navid_Hoorzad something here could probably work in that case…here is something as Jacob mention i guess :wink:

1 Like

Hi,

Here is something that might be interesting to take a look at.
You can go though dynamo and the duct system to get which space the accessory serves with MEPover.

Other alternative that I have made is that you can play around with the family itself.

Since Duct Accessories don’t have a room calculation point, simply just nest a mechanical equipment family inside the duct accessory family.

Once you have nested the family with a room calc point, just make a multi-category schedule and filter out the rest how you desire.
image

image

It isn’t the cleanest approach since you add weight to your family but it helps a ton with tracking any family.
Hope this helps.

1 Like

that is a brilliant workaround, I will absolutely utilize this for our content library. Thank you so much!!

1 Like