Prepping your model for milling

Adam Stein
10 min readApr 16, 2017

--

See a screencast covering these topics here.

If your design is simple enough, there’s nothing special you need to do to prep it for milling. Set up the cuts, output the code, and you’re off. But for anything even moderately complex, you’re likely to run into one of several common issues.

The first is that the pieces of your model may not lie flat in a single plane. Your designed object might look like the picture on the left, and to cut it out of a piece of stock you need it to look more like the picture on the right:

If you’re hoping there’s some automated way of going back and forth between these two representations, well, I’ve got mostly bad news (there isn’t), and a little bit of good news (add-ins can help).

Another issue is that you can’t cut sharp inside corners using round bits. Your model might look like this:

The slots and tabs of these pieces mate with one another so they can be joined.

But your milled objects will look like this:

The interior corners indicated by red arrows are rounded due to the shape of the bit.

You can try to deal with this problem by using a very small bit or squaring the interior corners by hand, but these approaches have limitations.

The rest of this article walks through how to address these issues, and also highlights some Fusion add-ins that automate the more tedious aspects of prepping a model for milling.

Simple CNC joinery: dogbone and T-bone fillets

To work around the problem of rounded inside corners, take an extra little bite out of each interior corner in the form of dogbone or T-bone fillets.

Sketching dogbone fillets

The steps outlined below assume that your interior corners are 90° or greater. It is possible to create dogbone fillets on corners smaller than 90°, but the fillets take the form of a slot rather than a circle, requiring some modification to the steps below.

  1. Define a parameter named ‘tool’ and give it a value equal to the diameter of your bit. (This isn’t strictly necessary, but it’s a good practice.)
  2. Choose an interior corner to fillet, and draw a line starting at the corner. It doesn’t matter how long the line is.
  3. Put an angular dimension between the new line and either of the lines that form the corner. Assign it a value equal to half the angle of the corner, so that the new line bisects the corner. (Usually Fusion will allow you to specify the angle dimension when drawing the line, in which case this step is combined with the prior step.)
  4. Turn the new line into a construction line: select it and type ‘x’.
  5. Create a new circle from center point, and put the center point on the construction line. Set the diameter equal to ‘tool’.
  6. Create a linear dimension between the interior corner and the circle diameter, and assign it a value of ‘tool / 2’ (the tool radius).

You should now have a circle whose edge just touches the interior corner:

The makings of a dogbone fillet.

You have a few choices at this point. You can repeat this operation everywhere you want to create a fillet. Or you can try to save some effort by mirroring or patterning the fillet to other locations. Mirroring and patterning works on both sketch objects and body faces. Let’s try it both ways.

First, we’ll work with sketch objects. In this example we are putting dogbone fillets on a rectangular slot, and a mirror operation is most appropriate.

  1. Create lines between the midpoints of each set of parallel sides of the rectangle. You can find the midpoint by hovering over a side until a triangle icon appears, or by creating the line anywhere and then defining a midpoint constraint.
  2. Turn the new lines into a construction lines by selecting them and typing ‘x’.
  3. Create a new sketch mirror pattern.
  4. For the object to mirror, select your dogbone circle.
  5. For the mirror line, select either of the midpoint lines you just defined.
  6. Click OK. You now have two dogbone circles. Repeat the above steps, mirroring both circles across the other midpoint line.

Once you have all four fillets sketched, stop your sketch and press-pull the fillets to create the cut. Make sure the operation type is “Cut”. You’ll end up with this:

Dogbone — get it?

That’s one way to do it. Another is to go through roughly the same process, mirroring faces rather sketch objects:

  1. Begin by press-pulling the single circle to create a single dogbone fillet.
  2. Because the fillet is a face rather than a sketch, you need to mirror it across planes rather than a lines. Using the Construct menu, create two midplanes between the two sets of parallel faces of the slot.
  3. Under the Create menu, choose Mirror. Make sure your pattern type is set to Faces, and then mirror the fillets twice in an analogous manner to above. You’ll end up with an identical set of dogbone fillets.

Creating T-bones fillets by hand

T-bone fillets offer a bit less structural support than dogbones, but they have the nice feature that, in some circumstances, they can be completely hidden from view. They are also a bit easier to model than dogbones, so we’ll only touch on them briefly.

  1. As before, define a parameter named ‘tool’ and give it a value equal to the diameter of your bit.
  2. Create a center point circle and place the center on one of the two lines making up the interior corner.
  3. Give the circle a diameter equal to ‘tool’.
  4. Dimension the center point so that it is ‘tool / 2’ away from the interior corner.

From this point on, everything proceeds as above. Cut and pattern as necessary to create the desire fillets.

Creating dogbone fillets via an add-in

Sketching fillets manually may not be the end of the world if you only have create a handful of them, but a large model can have dozens or hundreds of interior corners. This is where the dogbone add-in comes into play.

Grab the latest version of the add-in from github. Download it by clicking on this button:

Then install and run it. The add-in creates a new menu item under the Create menu, and also by default adds a shortcut button directly to the ribbon itself (which you can demote if you want to).

This video gives a nice overview of the entire process of using the add-in to create dogbone fillets, with the small caveat that the latest version of the add-in has some new options:

The new options include the following:

  1. Y-Up. The add-in needs to know which dimension represents up, so that it only creates fillets in the same dimension as the tool axis. The add-in by default assumes that Z is up, but Fusion by default treats the Y dimension as up. You can (and probably should) override this default behavior, but if you haven’t then check this box.
  2. Output unconstrained geometry. Selecting this option greatly speeds up the generation time, at the cost of some modeling flexibility. If you check this option, you will have to delete all fillets before making changes to your model. Usually you will be adding fillets at the very end, just before milling your model, in which case you can safely choose this option.

Sadly, there is no similar add-in for T-bone fillets.

Nesting

Nesting is the process of laying out the pieces of a model in a flat plane for milling. Even if all your pieces are already in a flat plane, you may want to move them around to pack them together more efficiently.

The workflow for nesting makes use of simple assemblies and joints, which are fairly advanced features of Fusion. You can choose to try to understand what is actually going on here, or you can just treat these steps as a recipe.

Nesting by hand

To nest a model, first create a new component representing your physical stock, and then define a set of planar joints between the stock and all the pieces you want to mill.

A planar joint is a way of telling Fusion that two pieces can move relative to one another, but only within a plane defined by the surfaces that are in contact. Imagine laying all your pieces down on a flat table. You can slide the pieces around the table to your heart’s content, but you can’t press them through the table top or make them hover in the air above the table.

That is all a planar joint is, which happens to be exactly what you want for nesting: you will slide the pieces around on your virtual stock until they are arranged the way you want them for milling.

In practice, this requires (surprise!) a bunch of fiddly steps:

  1. Create a body representing your stock. You are using this body mostly just to define the plane in which all the pieces are being laid out, so the dimensions don’t actually matter. That said, it is often convenient to use the actual dimensions of your physical stock. Name the new body “Stock.”
  2. If you haven’t already, convert all of the bodies you want to lay out, as well as your new Stock body, into components. To do this, right click on the bodies and choose “Create Components From Bodies.”
  3. Right-click on the Stock component and select “Ground.” This fixes the component in place.
  4. Create a new joint by choosing Assemble > Joint.
  5. For Component 1, choose the face of one of the components you wish to lay out. For Component 2, choose a point on the face of your stock. Fusion will allow you to choose a center point of the stock or any of the corners. It doesn’t really matter which you choose, as you will be rearranging the pieces later. You can also choose either the top or the bottom face of both the stock and the component you are laying out. It doesn’t matter which, as long as your choices remain consistent for all pieces. It might seem strange that you have so much freedom to choose different points and faces, but remember, all we are doing is laying pieces down on a flat surface so that we can rearrange them. Right now, it doesn’t matter exactly where we drop them on the flat surface.
  6. For Motion, choose Planar. When you do this, you should see an animation showing you the range of allowed motion for the piece.
  7. You will also now have a bunch of additional options for specifying the joint. You can ignore these, although you may optionally choose to Flip your pieces. Again, all that matters here is consistency. Make the same choice for all pieces you lay out.

Once you’ve done this for all pieces, you can rearrange them however you want. Click and drag to move them horizontally and vertically. To rotate them, use the move command to bring up the rotation handles.

Important: every time you move a piece that is part of an assembly, a set of Position icons will appear in the ribbon. Once your piece is where you want it, make sure to click the red ‘Capture Position’ icon (you can also click Revert to undo the move). You need to do this because components in assemblies are meant to be moveable, and Fusion may move the components for you unless you indicate that you want them to remain where they are.

Click the red icon to capture and preserve the current position of moveable elements.

OK, so far, so painful. Let’s make this a bit easier with add-ins.

Nesting with the Nester add-in

The Nester add-in creates all the planar joints for you. You still have to move the pieces where you want them for final milling, but the add-in cuts out a lot of tedious clicking.

You can download the Nester add-in code here. Install it and run it.

You still have to do the easy prep work yourself, exactly as above:

  1. Create a body representing your stock.
  2. Convert all of your bodies to components.
  3. Ground the Stock component.

Now execute the Nester add-in, which you will find under the Add-ins menu. Using the add-in is straightforward, especially if you already understand how to perform nesting manually. Here’s a tutorial video:

As noted in the video, one quirk of the add-in is that you must move the pieces and capture their position after laying them out, to ensure that they stay put.

Once the pieces are where you want them, you can set up your CAM operations.

A final note on nesting

One thing you’ll quickly notice is that nesting requires you to destroy your model. You probably want to nest a copy of your model rather than the original (although you can always use the timeline to revert changes).

You also may notice that the workflow here kind of sucks. If you want to make changes to your model, you very likely will have to do the nesting all over again. There are ways to try to get around this, such as, for example, making copies of all the original pieces so that they update when the originals do. But if you’re thinking this is all kind of ugly, you’re right. Autodesk has suggested that better support for nesting will be part of a future version of Fusion.

--

--