I have been trying to put together a script to automate placing valves on pipework serving Mechanical Equipment.
We have some big projects with 1000s of Mechanical Equipment instances, and so placing 1000s of valves is quite laborious and dull task. So i decided I would try to write a script to automate this task.
My workflow idea is:
- Find Mechanical Equipment
- Create boundary around the Equipment (with specified distance)
- Find the Connected or Unconnected pipework intending to serve the Equipment
3a. Do this by finding the intersection between the Equipment boundary and pipes.
- Use MEPOver fitting node to place Valve onto pipework at intersection point.
(Further checks will be needed eventually, e.g. check there is space for the valve on the pipe etc)
I have tried to use some methods from other threads (Placing fire damper on ducts intersecting rf walls & Insert pipe sleeve at wall intersection with rotation and size)
However, I am struggling to get my script to work. The Geometry Intersect node only outputs “Solid” instead of points, and i don’t know how to convert. Currently nothing is inserted into the model. (Note I have made the suggested change (by MEPover) to adjust the family to have both connectors as “Fitting” instead of Global.
(Also, a side point, the string leaves behind a shadow set of generic models of the pipes and equipment, which I would prefer to avoid)
Any suggestions or assistance would be greatly appreciated.
Thank you in advance for your continued help