Want to find the Solid.Centroid points for MEP pipes and walls. The pipes placed in the project as MEP fabrication elements are converted as mesh geometry using Element.Geometry node. This throws up an error while using Geometry.Intersect node. The screenshot added below for reference.
Thank you for your response. It is probably one of the reason that because this specific MEP fabrication element is a pipe, it is not a closed mesh. I tried your code, thank you for that. I am still trying to convert the MEP fabrication pipe from mesh to solid and place this solid at the original position of the MEP pipe to run Geometry.Intersect node.
@GavinCrump Did mention in some posts on the forum about mesh elements being not so friendly in Dynamo when compared with Grasshopper or Rhino.
Makes me wonder what am try is possible or just an end dead?
Hello, I’m not very familiar with this MEP pipe aspect, but don’t you rather convert (the geometry of the type, this one is well set to 0) than the instance?
I tried to support my words by making the parallel with columns
I am grateful for your interest in the query. Much appreciated and yes, you are correct. The thing is, the MEP fabrication families are often ‘mesh’ based not ‘solid’. So when I use Element.Geometry it give me a mesh element (screenshot attached above). This mesh element cannot be run with Geometry.Intersect node (I don’t know why), Geometry.Intersect works with solids. Hence, the problem of not being able to adequately convert mesh to solid.
After all the suggestions above and going through mutliple relevant posts on the forum the solution: Convert the mesh element to surface using Mesh.Faceindices and Mesh.VertexPositions and finally connect it to the PolyCurve.ByPoints. This will create a surface element which can then be connected to Solid.ByJoinedSurfaces.