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