Tips for Solidworks to Fusion360 to Chilipeppr

Hey guys,

Tonight I spent a few hours actually hitting “go” on some parts that I designed in Solidworks, then imported into Fusion360 to process the CAM, then exported the GRBL code, then imported that GRBL into Chilipeppr to actually send to the X Carve.

I hit the E stop several times, as I expected. Here are a few tips I’ve learned that might save you some time:

  1. You CANNOT mill out a 1/16" gap with a 1/16" bit! When you process your CAM in Fusion360, there is a parameter called “tolerance,” which must be greater than zero. It’s a frustrating reality that your machine does have runout, and therefor any path you mill with an ideally exactly 0.0625" diameter bit is going to be greater than 0.0625" wide. So, design your parts to accommodate runout. I mean, this is just good practice and you should do this anyways. But if you find your CAM paths aren’t going into that narrow gap you designed, this could be the cause. If you have a very sturdy, low runout machine, set the tolerance to 0.01mm and design your gap to 0.065".

  2. The coordinate system between a SLDPRT file from solidworks and Fusion360 is screwy. It took me hours of f***ing around with it to figure out how to set the X/Y/Z system to match the original orientation of your part. Under the setup menu, find the tab with the option “Orientation” and choose Select Coordinate System. Then, the blue/green/red x/y/z coordinate system on the model will have selectable axis. Click on each axis, and then select an edge on your part that is along the correct direction for that axis. Or, there will be a second 3D cardinal plane indicator with lines you can select to do the same thing. This will let you choose the axis for X, Y, and Z independently.

  3. Mill out your holes and pockets first, and then mill out the outer edge of your part. Part of the power with Fusion360 comes from being able to set up your order of operations- you can set it up to mill out which areas and features you want in any order. Sometimes the tabs you designed aren’t quite beefy enough and your bit catches your piece, pulling it from the table. If cutting out the outer profile of your part is the last step, this will not have ruined the whole job! Do everything else first, ya dingus.

  4. Post process with Easel’s Fusion360 post processor! I’ve only milled 2 parts with it so far, but Chilipeppr ran just fine with GRBL files that were exported from Fusion360 with Easel’s post processor. And I didn’t hold back in terms of CAM option complexity. Ramps, helixical lead ins, etc etc. When I tried to run the regular Fusion360 generic GRBL post processor files in Chilipeppr things got… weird. Like, E stop weird.

  5. Don’t forget to set the stock top offset under your “setup” menu to 0 if your material is already the thickness of the part. It defaults to 1mm, so if you zero your bit out to the surface of your part without fixing this it’ll always cut exactly 1mm deeper than it should into your part/wasteboard

  6. It’s a good idea to set your stock edge offset to 5+mm if you’re just milling a part out of a large piece of stock material. I don’t want to risk Fusion360 thinking it has 1mm of material to get through when it actually has the full width of the bit as it mills around the parts outer profile. Just give it plenty of material so it knows you’re essentially milling it from an infinite plane.

  7. Check your “lead in/out” and “ramp” feed rates. With very shallow ramps in plastic and wood, having it automatically drop to 80% your normal feed rate can mess you up with melting or burning.

  8. Fusion360 doesn’t program a finishing pass, even if you type in a custom finishing stepdown depth, unless you enter a number of finishing stepdowns greater than 0.

I’ll update this with more info as I continue to familiarize myself with this tool chain.

Happy milling, everyone!


Fantastic post, thank you.

With regards to #4, I send my files straight from Fusion to Chilipeppr. There are a couple of post-processor options in 360 that could be sending you astray. I think there is an option to use g28 which can make things unpredictable unless you’ve already set up a position for it and have limit switches.

Thanks. Still in the process of assembling my machine, but this was the next step for me. Just saved me at least a few days of frustration!!

Do you have a link, or can you explain the process of using the separate home position? I’m used to setting my origin from a fixed point on my fixture, that I can sweep with an indicator to verify ( my machines at work, my X carve is still a work in progress).

Sure! Here is a link describing how to set up the home position for your workspace.

This talks about the g54 commands (look at the last couple of posts), which is what the CAM programs normally use to set the machine at zero. I think …

This following link is a general g-code reference:

If you scroll down to the G28 commands you will see how to set the reference position, which is where CAM programs (at least Fusion 360) send the machine for a tool change.

1 Like

Here comes some more!

  1. Lift your bit after zeroing to your stock! Fusion orders your machine to travel to the inital X/Y coordinate first, and then raises the bit to the clearance height, and then lowers it to the stock to begin milling. This means that if your stock isn’t perfectly flat on top, you’re going to cut a shallow groove at rapid movement speed. So, zero stock, then manually raise by an inch, then hit go.

  2. Start spindle manually with M3, every time. This is more a recommendation for literally everyone, but sometimes my machine just misses the spindle start command. Make damn sure your spindle is running before there’s a chance it will start moving to prevent breaking bits needlessly.

  3. Selecting the edge of a surface in Fusion360 CAM yields different results than selecting the face of that same surface. For example, if you have a circular face with a circular hole in it, selecting the face will cause Fusion360 to mill to stock down to that face but leave the stock above the hole. This means after the first operation there will be a pillar of material the diameter of the hole that will eventually be there, the height of the initial stock material height minus the face height (if that makes sense). However, selecting the perimeter of the large circular face will cause the toolpath to level the entire area to the face height.

  4. Don’t go all Oprah with your finishing passes. I went nuts machining some plastic, “YOU get a finishing pass and YOU get a finishing pass!” Stop it. Finishing passes mean your bit has more opportunity to graze the surface of your material, which in plastics means melting. Use finishing passes only when it makes sense.

  5. Process each machining element at a time. I know it’s tempting to select “2D pocket” and just click on all of your flat bottom regions, but don’t. Fusion likes to process toolpaths based on stepdown height. This means there’s a chance it will mill down by the step down height (like 1mm, say), raise the bit, move to another area, mill that part down by 1mm, move to another area, etc. etc. etc. It takes f***ing forever. Now, this could be good if you’re doing metal and you want to give the stock time to cool down between cuts. Maybe this type of tool path would be great for aluminum. Just be aware that this just might happen. I know it takes a long time to watch the whole simulation of the toolpath, but it could save you a half hour on machining time.

1 Like

I’m not so sure an undersized bit is exactly what the “tolerance” variable is referring to. I think it has more to do with runout.

Right. So, when selecting your tool, you’d manually choose a bit with a 0.122 diameter and then the tolerance you choose is up to your discretion. The tolerance wouldn’t necessarily be 0.003", it may very well be 0.001" for a very rigid machine or may be 0.01" for a very inaccurate machine.

1 Like

@NathanButler regarding your #5 above. Please DO select all your regions in the one operation. There are settings in the operation that let you tell Fusion how to sort the tool paths. If you have ‘by depth’ you’ll get what you described. If you have ‘by island’ it will do one surface before it goes to the next one.

Can someone explain to me the tolerance setting? I’ve just spent a week working out what the runout was and then changing the tool diameter to match it so I can get accurate cuts. Is tolerance what I should have used instead?

1 Like

So that’s what those settings mean! By Depth, by Island, makes sense now.

Regarding tolerance and tool diameter, I think you make a good point. Would having a 0.0615" diameter tool with 0.001" runout be equally communicated and yield identical toolpaths in Fusion by entering these two tools?:

  • Tool diameter: 0.0624", Tolerance: 0.0001"

  • Tool diameter: 0.06", Tolerance: 0.0025"

I don’t know. I’ll look into that.

The image that goes along with the help for the ‘tolerance’ setting doesn’t make it clear what it does. I would love to be able to keep all the tools at their correct dimensions and then adjust for runout in the operation.

I thought the pop up description for tolerance was rather thorough. The smaller the tolerance chosen, the more datapoints are used to create curves. I don’t believe GRBL can process curves (though I’m not 100% sure about that), so a curved tool path is therefor a set of very short straight lines. The tolerance value is therefor the maximum allowable variance from the ideal path that the straight line approximation can have. Larger allowable variance, so a larger tolerance, means larger straight line approximations can be used. Larger straight lines means less lines, less lines means smaller data file size and reduced data rate required by your controller. A few days ago I used a tolerance of 0.001 mm and at one point my machine did freeze up and stall. So I’ve been using a tolerance of 0.05 mm to process the CAM on my new project and I guess we’ll see how that goes.

I have run jobs using the Fusion 360 Smoothing option that, in some cases, cuts the Gcode down dramatically. I’ve seen no obvious difference in results between smoothing on and smoothing off with the same job while code size sometimes dropped like a rock if the work involved a lot of arcs. Does this not make use of curves? If so, suggests GRBL handled them pretty well.

I should add, too, that the particular job where I had code size drop from 2.6MB to a few hundred kilobytes not only ran fine, but it helped Chilipeppr a LOT. Despite a fast computer, I was finding the buffer being left empty repeatedly on those big jobs and had to strip Chilipeppr down extensively (turn off tool path rendering, pre-load the buffer with more lines, etc) prior to the Smoothing version of the g-code.

1 Like

Maybe this belongs in a software tool post somewhere, but since you were talking about runout and tolerance, it seemed relevant.

Is there a feature of Fusion 360 that keeps the width of a path larger than the selected bit width? Or, shows paths too near each other to cut properly?
For instance I usually start with SVG files for models. I have a hand with several tiny elements due to how it’s drawn. I removed the smallest details but there are quite a few that are very close to being too tiny even for a 1.2mm bit. Is there a feature where the smallest area of cutting will highlight, or show some kind of warning that the piece being milled is too detailed for the bit? If so, does it also provide a way to discard or edit the problem areas with too small of detail to cut?
Easel will warn you that the bit is too large to cut the design, but there’s no way to fix it without redrawing elsewhere.
I was wondering if Fusion or one of the other design software has something to solve that problem built in. Something that would highlight and give the ability to select paths of a certain closeness or width, etc.