Convert Mesh to PolySurfaces/Solids

Hello, I’m looking for a method to turn mesh .dwg file (from sketchup) to surfaces or solids for geometry intersection check.

Seems that every method I find online is deprecated/obsolete.

This topic refers to non-existent Springs nodes.

I’ve tried all of exploding/normalizing/repairing that MeshToolkit has to offer - all of them fail, indluding Mesh.Triangles

There was a method on Dynamo github from 2015 that also didn’t work, and the topic ended with I quote

“I am closing this issue as there are known multiple OOTB workarounds and packages that can handle this functionality. We will also keep this in mind next time we have the bandwidth to continue development on the meshToolkit package.”

Now it seems all of these known workarounds and packages somehow were lost in the interwebz, so i’m asking you here if I missed anything in my research

Easiest way to do this is extract the data from the mesh, reconstruct each mesh face as a surface and join them together. See example below. This could get very heavy for big surfaces, so tread carefully


The Springs.ToolkitMeshToMesh and Springs.MeshToToolkitMesh nodes should help you convert between the content, and I believe mesh toolkit has a node to convert to poly surfaces.

I agree with @Joelmick that this can get VERY heavy VERY quickly, so you may want to consider other options. I believe that FormIt can convert the meshes to Solids, and it can import sketchup files as well, so you may want to look into that as an option.

Seems like this method works only for one mesh.

I’m trying to rebuild as surfaces a .dwg containing multiple meshes (boxes) from Sketchup

It returns me an error that points may be overlapping

Unfortunately for this application - which is many meshes in one .dwg from Sketchup it doesnt work.
Both springs Mesh to PolySurface and Mesh To ToolkitMesh and then TkMesh.Triangles return null.

My guess is that since you have ONE MASSIVE MESH FOR ALL THE FURNITURE you are hitting the limit on RAM because it has to calculate ALL THE FURNITURE AT ONCE.

Bring them into Revit as individual pieces (try the import sketchup feature) and see if that reduces the impact.

If you happen to have Rhino and Grasshopper handy, maybe process the meshes there and use the Disjoin Mesh tool to separate the mesh into separate objects first.Then you can handle more workable meshes in Revit rather than as one massive mesh object.

Whilst I do use mesh/sat in Dynamo from time to time, I find preprocessing can be helpful first to ease the load on Revit/Dynamo after.

1 Like

why do you need solids to do an intersection check?

Geometry.DoesIntersect won’t return anything if i’m trying to intersect Lines with Meshes

I did manage to get it running. It involved importing .skp into Rhino as trimmed surfaces, and then loading Rhino file directly inside Revit as Generic Model

1 Like