Boolean Surfaces & Polysurfaces

I have been given meshes that I have used grasshopper to generate a mould for vacuum forming. An offset from the edge normals is created and I can bake all surfaces to two polysurfaces and one surface, but I am unable to join the surface, the primary one generated from the mesh, to the polysurfaces - any ideas of what to test in order to get them to successfully join?

Hi Karls,

Could you post the file with the geometry?
It’s hard to tell what the best solution is without the actual geomety.


Good advice Willem - I’m pretty sure I just need to extend the surfaces beyond each other. As these are for milling, I’m confident its enough without having to successfully Boolean union. The gap is much smaller than the smallest milling bit.

baked1.3dm (1.3 MB)

Hi Karls,

The images shows the bulb surface in yellow.
As you can see the edge does not line up with the offsets.

One way to solve this would be to make sure the offset and the bulb surface both have enough extra length so they overlap.

Next use both to trim the excess and join the trimmed parts.

Does that make sense?


I just received the second set of meshes to test and the entire script failed. So I’m back to 0. Any ideas on the best way to generating a surface from a mesh - accurately, but not perfectly accurate.

I’ve been using mesh plane intersection to create curves that are then lofted.

Hi - where does the requirement of having to work with surfaces come from? It seems that, since you are given meshes as input, it might be easier to just continue working with meshes.

Client request…

OK - I’ve changed this thread to the Grasshopper category as it seems that you primarily are looking for a way that automates a workflow for several different cases of inputs. Perhaps you should post the Grasshopper definition that you have and the inputs and perhaps someone will have a good idea on how to do this.

heres a short video of the intended outcome, works perfectly with the first sample meshes I received, but breaks too easily on the second set: