Slicing a volume for foam sculpting



I am trying to make a grasshopper script that would allow me to slice a volume based on where I drag a curve with predefined divisions. The end product is foam layers cut and stacked to give a substructure that then receives plaster coats to refine the details.

My script works fairly well on simple forms, but become glitchy and sometime skips layers when doing more detailed meshes.

Any advice or better approaches to this concept. Thanks, -Andrew
FOAM SLICER.gh (17.0 KB)

FOAM SLICER edited v0.gh (1.5 MB)

I approach this problem with the Split Brep Multiple nodes.
Seems this node doesn’t take planes as cutters.


What I need is a stepped pattern where each layer’s contour is the minimal outline of a combination of the upper and lower slice of each layer. This way each layer of foam that is cut would never exceed the boundaries of the volume, and would only just touch the bottom edge and/or top edge of each layer. Each layer of foam would be cut with vertical cuts only, no sloped cuts.


This picture shows a similar approach, but each layer of foam goes to the outermost contour of the form, and then has to be carved back. What I want to do is cut each layer of foam to the innermost contour, so there is no carving or sculpting needed. The only thing needed would be skimming over with plaster and adding finer details in plaster (additive instead of subtractive).

Here is a way of doing, I used clipper but it could work with region union and others tools.
The main idea is to use contour, shift the contour (take the upper) then intersection of curves then extrude.
The use of group is a way to not use datatree. Not elegant but it works. Datatree is surely the problem that occured to you. There was more one contour in a slice. So it generates problem in your script.
If you want differents thickness you can use the other contour component. But you’ll have to give all the heights you want.


slice foam LD.gh (1.5 MB)