Place Fire Dampers Using MEPover MEPFitting Node

Hello everyone,
I am trying to place fire dampers in walls and I am having a few issues:

The script works fine if there are only rectangular ducts in the model or only round ducts in the model, but all duct have to be intersecting walls.

If the model has round ducts with some intersecting walls and others not, the MEPover node will give a null result (also true for rectangular ducts). The MEPover node will also give a null result if the model has round and rectangular ducts (all intersecting walls).

As a new user, I was only able to upload one image.

I would appreciate any help.

Thanks

Could you show some more screenshots? Everything seems to be working in the image that you are showing? (maybe create a reply per image as you are a new user).

If the model has round ducts with some intersecting walls and others not, the MEPover node will give a null result (also true for rectangular ducts).

The MEPover node will also give a null result if the model has round and rectangular ducts (all intersecting walls).

Can you show the previews for the Geometry.IntersectAll inputs?

The model has one round and one rectangular duct, both intersecting two walls

I was looking for the nodes going into Geometry.IntersectAll. I’m guessing your list structure is wrong, but I can’t tell without seeing how everything else is structured.

see attached

Are you always using the rectangular damper? Does that still work with round duct only?

The script will not work if I have a rectangular damper with round ducts and vice versa. Also, the script will not work if there are rectangular ducts in the model with one duct not intersecting any walls.

That makes sense. You will have to check to see if your duct is Rect or Round and supply the correct damper for each one individually. You will also have to clean up your lists so that if a duct does not intersect a wall you aren’t still supplying that duct curve to the MEPFitting node.

1 Like

I can filter round and rectangular ducts to provide the correct damper, however, I can’t figure out how to clean up the point list to get the MEPFitting node to work correctly in these different situations. See image below, two rectangular ducts, one intersecting two walls and one not intersecting any walls.

Any suggestions would be appreciated. Thanks

Are you sure the fittings aren’t being created? The node returns nulls, but it’s working correctly for me.

It will add fittings the first time I run the script but without connecting to the ducts. If I delete the dampers and draw a third duct, it will not add dampers to the third duct, but even if it did, they are not connecting. The weird thing is, the script works fine when all ductwork intersect walls.

It works fine when I have duct not intersecting walls. The only time it won’t break the duct when placing the fitting is when I try to place a mismatched fitting with the duct type (round vs rect). Work on getting the correct damper for each duct and then we can look into why it’s not working for duct with no intersections. You may have to share your files as well.

Are your fittings connecting to the duct and did you change the lacing for any of the nodes?
See attached file.
Thanks

PlaceFireDampers.dyn (20.5 KB)

Can you send a stripped down copy of your RVT as well? Or create an example file that has the same issue?

See attached Revit file.

TestProject.rvt (3.0 MB)

Has anyone been able to successfully add round and rectangular dampers using one script?

My script will sort round and rectangular ducts and then all the correct points connect to the MEPover MEPFitting.ByPointsAndCurve node (one node for round and one for rectangular ducts). The script will add round dampers correctly if the model has round ducts only. The script will add rectangular dampers if the model has rectangular ducts only or if the model has round and rectangular ducts. Do I need two scripts, one for round dampers and another for rectangular dampers or is it possible to have one script to add both?

Thanks

Hi Mike,

You could use a dictionary to get a matching fitting for your ducts, so that you can input a list of fittings (one for every duct).
The only problem I’ve run into is that the custom node doesn’t seem to work on my end either and it appears to have something to do with the way Dynamo uses lacing on their custom nodes. So if you want to get it working then you will have to take out the python node and drag your inputs to that node. Here is a really simple setup:

Meanwhile I am going to look into that lacing issue and hope to get that solved.