Help with MEPover MEPFitting By Points and Curve

I have seen some other threads attempting to do what I am working on with varying success, but I feel as though I am at a standstill. I am attempting to insert fire dampers into ducts where they intersect walls. I have the points of intersection as coordinate points in Dynamo and have the elements for the ducts that intersect the walls, but I cannot seem to make this MEP Fittings node work. I keep getting null values, so I may be passing it an incorrect data type or something of the like, but I donā€™t see where that would be myself. With my last few attempts, I have been getting an error that ā€œList Indices Must Be Numeric.ā€ If anyone sees anything glaringly wrong, or has other input that may help, Iā€™d be happy with any assistance.

1 Like

I understand the confusion: itā€™s probably the ListOfPoints input port that needs some explaining. Because it could be that a duct needs more than 1 fitting placed along its length is why it expects a list of points. As you can see in your graph you are actually only supplying a single list. What you would need to do here (because you only have a single point per duct) is create a list of that single point.

Also for better performance you could try the Intersect nodes from the BIMorphNodes package. Check out this dyn for more info:
Mechanical fitting creation by wall intersection.dyn (22.0 KB)

Thanks a million. I tried chopping the lists on my graph without much luck, but the graph you provided worked and can fit my specific needs with a little tweaking. I may revisit mine later and see what may have been the cause of the issue another time.

1 Like

I realize itā€™s been months, but I just got into Dynamo and stumbled across this file you posted. Iā€™m trying to add in a filter for fire rated walls from a linked file but Iā€™m having no luck. Any chance you could explain whatā€™s wrong with my inputs into the code block?

The warning over the code blocks says ā€œString.Contains operation failed.ā€

Is the Element.GetParameterValueByName node providing a valid output in the filter for fire rated walls section? It looks like youā€™re feeding it a ā€œTypeā€ rather than an ā€œElementā€ data type. If thatā€™s not generating an output, then there will be nothing for the String.Contains operation to check against.

I think youā€™re right so I searched and found a new node that I feel should work, but Iā€™m still getting an error.

Now it says "Could not obtain element from the current document! The id may not be valid. So maybe the Element.GetParameterValueByName node wonā€™t work with linked elements?

Edit: I tried this as well.

Just trying out more nodes. Canā€™t seem to find one that will work for me.

Do you share? i need this. thanks @ishiftat9

manhcam.dyn (65.2 KB)
I Canā€™t

Iā€™ve been trying to get the exact same thing to work and my system either does nothing, or crashes every time. Iā€™m in revit '18, Dynamo 2.0.2 (on auto run). Iā€™ve stripped every possible conflict and Iā€™m using a single duct, a simple damper family, and 2 points (to force the list behavior that has caught up some other people). If I leave the files as they are - nothing happens; If I ā€˜chopā€™ the list in order to create a deeper data level depth I get a frozen revit/dynamo that requires killing from the task manager. @T_Pover do you have any idea why I wouldnā€™t be able to do something so simple?
DamperPlacementTest.rvt (484 KB)
MEPover_Duct-Placement-Test.dyn (11.1 KB)

Hi Andy,
Try setting your run execution to manual instead of automatic. I would recommend doing this for any other graph as well.
After that try setting your lacing on Curve.PointAtParameter to Cross Product. Dynamo 2.0 seems to work a little different with the lacing when compared to 1.3, whereas in 1.3 you could set it to longest and get the same result.
Hereā€™s the result I get with an extra duct (then you can clearly see the required ListOfPoints per duct) and the lacing set to cross product.

1 Like

Hello, sir, I have encountered the same problem. Each time I run the script, I can only generate one Fitting (Supposed to be 2). Have you solved the issue and could you please give me some suggestions?

1 Like