Space Explorer (2024)
Grasshopper script

Space Explorer was developed in collaboration Found Objects, a project by Fiction Factory. With this tool, Fiction Factory wants to help the community of makers, designers and producers reduce their CNC waste while simultaneously creating a new material.

Space Explorer is a Grasshopper script designed to analyse the redidual space in nested CNC sheets. The goal of this project is to find the dimensions of the residual space in which extra parts can be nested. 

The script uses circle packing to find the largest circle that can fit into the leftover space. The idea is that a circle, because of its round shape, can cover the most area for a given amount of space around it. Circles are also an easy shape for quick spatial data analyses, as the radius and area can easily be extracted.

By strategically placing circles in the leftover space, the program not only measures the size of the space but also looks at how much of the surface area is covered.  To do this, the program uses a special grid based on Voronoi cell diagrams—a pattern found in nature, like the spots on a giraffe or clusters of bubbles. Voronoi diagrams divide a surface into areas around points, forming shapes that show how spaces relate to each other. In the script, the dual of the Voronoi Diagram is used, which is the Delaunay Triangulation.



Space Explorer works in three steps:

1. Defining the Boundary: This is where the space where circles will go is outlined. Each CNC sheet and its parts are precisely defined and the edges are put together into one definition.

2. Finding the Circles: Once the space is defined, the program fills it with circles using a Delaunay triangulation. This ensures the circles cover as much space as possible. The level of detail can be adjusted, assuring a balance of speed and accuracy.

3. Removing Overlapping Circles: Finally, the program gets rid of circles that overlap to create a clear picture of the leftover spaces. It keeps finding and removing overlapping circles until only ones that don't overlap are left.

The end result is a set of circles that perfectly fit into the residual spaces of nested CNC sheets. Based on the dimensions of the circles, parts can be designed that can be nested as efficiently as possible into the residual spaces. An example an application is my project Cutting Out Waste. The script is available on my GitHub page.