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.
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).
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.
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.
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.
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.
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?
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: