In this tutorial you will learn how to slice your geometry to CNC or laser cut the contours and build a physical 3d model of it. To ease the production, we’ll then dispatch them in two lists that will use more material but won’t get a problem of too thin elements and won’t drop down into each other while stacking. There are many ways how to do it, so you will learn a few of them.

Slicing is similar to geographical mapping, even looking at the projection one might make an assumption of it’s geometry.

Fredrik Skåtar, Aleksandra Sviridova

60 min



Making intersections and splitting them in 2 lists

The idea is to make a set of planes that we will later use to intersect with our geometry. To do so parametrically make a Series component that creates a series of numbers, where Step rep resents density of this distribution. Translate them into Z input of a Construct Point component. Then build a plane through each of them using the Plane component. Later they will be dispatched in two lists by two Cull Pattern component that removes elements using a repeating bit mask (read the Attractors tutorial for more information) and connecting them as well as Surface From Points component with Brep | Plane components respectively.

Finding the height of the geometry

To set the Series component work properly we need to find the height of our geometry. The first way how to do it is to sort the height of a point cloud we’ve already generated and find the biggest value. To do so connect the Multiplication component that you made in the Heightfield tutorial to a Sort List component and then to a List Item one. Don’t forget to flatten the Keys input and reverse the Keys output of the former.

Add a Plane with set zero to find and use the first item in the Item component. The second way is to put the whole geometry in a Bounding Box, then deconstruct it to find all the Vertices, deconstruct them to find exactly their Z values and find the biggest one via Sort List and the Item List right how you did in the first variant. Connect the result to the A input of the Division component of the making a series of planes block to get nice intersections.

Complete Grasshopper Script

Materiability Research Group

Fredrik Skåtar, Aleksandra Sviridova

60 min


Privacy Settings
We use cookies to enhance your experience while using our website. If you are using our Services via a browser you can restrict, block or remove cookies through your web browser settings. We also use content and scripts from third parties that may use tracking technologies. You can selectively provide your consent below to allow such third party embeds. For complete information about the cookies we use, data we collect and how we process them, please check our Privacy Policy
Consent to display content from Youtube
Consent to display content from Vimeo
Google Maps
Consent to display content from Google