Plug-in offering CNC milling simulations as polysurfaces

Hi everyone

I’m seeking designers who design for CNC routing, specifically 2.5D and who might be interested to try a manufacturing-centric approach to design.

Rather than creating an ideal model, then extracting the edges/centre lines to create toolpaths and simulations in CAM software so that you can iterate the model to reduce the gap between model and manufacturable artefact -

You can start drawing curves representing piece/pocket outlines and engravings, on layers that you name with specific router bit and depths, then have a new plug-in I’ve created called FlatCap interpret that data and create 3D polysurfaces representing what those pieces would look like after milling.

So the workflow here would be:

  1. draw and alter curves and layer names
  2. ask FlatCap to create the 3D simulation objects as polysurfaces you can assemble in virtual space
  3. spot any changes you’d like to make
    If any changes, go back to 1) and alter curves or layer names, etc.
    When you’re ready to proceed, only then do you need to:
  4. use CAM tools to set up for manufacture

The polysurfaces function both as simulations as you design, and also as your design’s 3D model. The ‘blueprint’ acts as a shorthand for a set of 3D object creation actions that FlatCap does for you.

Here’s a brief YouTube video explanation

It’s a plug-in for both Rhino and Grasshopper and available on Package Manager - I’d love to work with you to evolve this to offer a way to potentially increase your efficiency and unlock new ideas to harness the CNC machine, at least for some applications or types of products.

The main documentation for this plug-in is here: Wiki for FlatCap

An example of a Grasshopper file showing a simulation here but if you have my other plug-in DefinitionLibrary installed, then you can just add to the list of connections and you’ll see it in your library in Grasshopper.


Interesting approach but I’m not sure I see the benefit of it outside of prototyping joinery and educational purposes.

If you have an assembly with multiple parts joining together then it doesn’t help much that you have a simulation from your curves, since you then manually still need to position the generated polysurfaces to double check your dimensions.

There’s always a 3D and a 2D representation of what you’re designing for CNC routing though - one as a design visualisation and one that’s a preparation for CAM - so there’s a translation between these two regardless.

This approach has you starting from 2D and assembling together, rather than 3D and extracting edges etc onto 2D. It makes alteration a matter of changing curves and layer names rather than changing 3D objects.

It may not work for all applications, but designing using machine-related building blocks means that every 3D object that’s created is manufacturable just as you see it - and as soon as you like the design, it’s immediately ready for manufacture.