Introduction: Drawing Custom Toolpaths for CNC Milling (To Create Your Own Surfaces)

About: Architect / Designer / Artist / Fabricator

The potential of the CNC milling machine to create patterns, reliefs, textures, and complex surfaces is fascinating, whether the goal is aesthetics or efficient function. CAM programs allow us to make use of many automatically-generated toolpaths(the paths through space that the tip of a cutting tool follows on its way to produce the desired geometry of the workpiece). However, if you would like to have full control over the surfaces that you are machining, you will need to draw your own toolpaths.

Usually, the goal of machining is to achieve as smooth a surface as possible when machining, as it will be the result that is closest to their CAD model. However, this high-resolution machining usually takes a very long time, as a small stepover is required. Low-resolution machining with a large stepover is much quicker, but the pre-programmed toolpaths do not always leave desirable patterns or surfaces. When using the pre-programmed toolpaths that are found in CAM software, the resulting surface patterns will always be recognizeable, default, and somewhat predictable. By drawing your own toolpaths, you can achieve exactly the surface pattern that you want. By being able to achieve exactly the pattern you want, you can often afford to drop smoothness in favor of a more unique, interesting, and efficient resulting surface.

I have approached this technique from the perspective of architectural aesthetics, in recent projects such as Daylight Study, Sunlight Modules, Catching Light Research, etc. However, there are many other potential applications!

Step 1: Build 3D Model

Using your chosen CAD program(I used Inventor and Fusion 360 in this example), build the 3D model of the surface or object you will machine. The 2D pattern will be affected by the form that it will projected onto, and the final result will be a combination of the 3D form and 2D pattern. I would recommend starting with a simple form, such as a flat plane or a subtle curve, so that you can more easily study the effect of the resulting pattern.

Step 2: Draw 2D Pattern

There are many different techniques to create the 2D pattern that will serve as your toolpath. Draw a dimensionally-constrained system of lines in Fusion 360, use parametric software to generate a pattern(such as SecuriDesign for CorelDraw or Grasshopper for Rhinoceros3D), create a tween between two curves in Rhinoceros 3D, scan a hand-drawn pattern and convert it into vectors using Illustrator, etc. It all depends on the effect you are aiming for. For example, I have been working on patterns that create optical illusions to make viewers "see themselves seeing", so I have been using repetitive gradations of lines, overlapping patterns that create moire effects through interference, and other types of subtle optical patterns.

The distance between the lines or dots is the most important aspect of the pattern, as it is the stepover, or the distance between each pass of the endmill. The larger the stepover distance, the more stock material will remain between passes, forming a deeper relief. Also, the larger the stepover, the shorter the machining time, as there will be fewer passes to complete the operation. One of the benefits of drawing your own toolpath is that you can create a varying stepover.

Step 3: Position Pattern in Relation to Model

Make sure your 2D pattern is correctly aligned to your 3D model, especially if you are importing the pattern from another software. When creating a projected toolpath in Fusion 360 or Rhinoceros3D, your pattern doesn't need to be on directly on the surface of the model, but can 'float' directly above or below the model. You may want to extend the lines of the projected toolpath slightly beyond the the edge of your model(by half of the endmill's diameter) to make sure that the tool clears the edge of your model on each pass.

Step 4: Choose Endmill

The endmill that you choose to use for your custom toolpath will determine the resulting surface. For example, a flat endmill will create stepped terraces, a ball-nose endmill will created rounded grooves with sharp ridges in between, and a 45° V-groove endmill will create triangular facets.

You should also consider the scale of the piece you are machining, and think about the appropriate endmill diameter. For example, if you will be machining a 4'x8' sheet of foam, an 1/2" endmill will take a very long time to machine a pattern into the entire surface, and it will be difficult to see the pattern from a distance, so in that case you might want to use something larger, like a 2" diameter endmill.

Step 5: Create Toolpath From 2D Pattern

Most CAM software has an option to use custom vector lines as a toolpath to machine a 3D model. In Fusion 360, this option is called "Project" in the 3-axis machining options. In Rhinoceros3D, the same function is named "Curve Machining". Fusion360 now has a full 5-axis option for this operation, called Multi-Axis Contour, in which the tip of the endmill remains normal to the model's surface for the entire toolpath.

Input your endmill information, select the lines of your 2D pattern for the toolpath geometry, select your 3D model as the surface to be machined, and generate the toolpath. The cutting lines of toolpath should now be projected onto the surface of the model.

Depending on the material you will be machining, you may need to do a roughing operation to remove extra material before proceeding with your custom toolpath. Alternatively, you could machine your custom toolpath in multiple step-downs. If you are machining soft materials, such as low density foam, you may not even need to use a roughing operation beforehand.

Step 6: Simulate Toolpath

Run the simulation in your CAM software. This is the only time that you will be able to preview the combined result of your custom 2D toolpath, 3D model, and chosen endmill before machining. Look carefully at your simulation. Are you happy with the result? If not, make the necessary changes and simulate again. The iterative simulation process can help develop your design before machining and save machining time.

Check your simulation for collisions or overly-aggressive passes. There is more of a chance for these to occur in a custom toolpath, so watch the simulation carefully.

Step 7: Machine Toolpath

Once you are satisfied with your simulation, machine your custom toolpath!

This will be the first time that you will see your toolpath materialized, so expect to be surprised by the result, and don't expect it to turn out exactly as you imagined.

Part of the fun of CNC machining is realizing and comparing the difference between the 3D model and the machined object. Despite the amount of preparation and planning that goes into CAM programming, the translation from a 3D visualization to a physical material in real world conditions has a lot of room for unexpected results.

Look carefully at your results, reflect on what works well and what doesn't, then move on to the next iteration!

Step 8: Conclusion / Additional Notes

This Instructable is meant only as a source of first inspiration for trying a new technique. There are countless potential variations and applications for this technique, and I would be happy to see any work that might be inspired by this technique!

Two specific projects on Instructables that may be inspiring or helpful for developing your own toolpaths, especially in aluminum, are Machine Inscriptions by Matt Hutchinson and Self Reflective by Julie Kumar.