Fusion360 CAM Programing Tips

Do these codes stop Ground Control from running the program? I have noticed that when it runs into G or M codes it doesn’t recognize, a “command not supported” message will appear in the lower right and it will simply skip it and go to the next line. I have never run into a situation on my machine where codes not in use will prevent me from running nc files. If your machine is stopping on unsupported commands case you may have found a bug.

In order to produce only the codes currently implemented, we would need a Maslow-specific post-processor. GRBL just generates generic G-Code that can be run on standard routers. As of yet, I know there hasn’t been any headway working with AutoDesk to create a Maslow post. Also, the Maslow updates are frequent enough that the Fusion360 post would have to be updated alongside it. New G and M codes are regularly being implemented to the machine as we improve the functionality of the machine. If an update was missed, it’s entirely possible that Fusion wouldn’t output a new feature to G-code. If I knew more about writing posts I would do this myself.

I have had some luck (accidentally) using the Boxyz post in Fusion, which may solve some of your issues. It doesn’t have much in the way of a startup/end block and it doesn’t use the M-codes at all. It also makes all your cut paths G1 commands, so it will translate arcs into short facets. I’m not sure this will work in every situation, as it’s meant for an entirely different machine. It may be worth experimenting with it or other post-processors to see if there is something close.

These are handled in the heights tab. Fusion 360 does, in fact, like to program in a lot of different Z-heights. I’ve found that using the following settings works pretty well for me. At the very least the Z moves are short enough that it doesn’t slow down the machine too much. You could even set the clearance height to 0mm above the retract height to make it so that the clearance height, retract height, and feed height are all the same. Fusion with give you a warning about clearance heights but I haven’t seen that be an issue on the machine.

It may also be worth experimenting with different CAM programs such as MakerCAM if Fusion isn’t suiting your needs. I have a feeling, though, that Fusion is very convenient to use in the sense that it is both CAD and CAM, so you don’t have to go between programs. I know that if it weren’t for that fact I would probably use Creo or Solidworks myself to do my designing.

2 Likes

Thanks for the helpful input. I am proficient with SW but am switching to Fusion360 for the combined value of design, toolpath and post integration. The ability to share designs and work online is also a great value.

Ground control does not fail, it just forces me to wait for the inevitable program halt so I can hit continue. Might there be anyway to select a run command that will not stop for these notice windows? This would allow a direct run of the Fusion360 post output. A G command to pause, like for a tool or other action would also be great.

I appreciate your sharing the z settings that work for you and that reduce the number of z moves.

My Maslow is just now running. I built it with a vacuum backing frame in order to cut veneers, paper board and thin plastic (with a drag knife…) I mounted two aluminum 8" turntable bearings to the router base handle taps and then direct attached the z motor mount. I used the tapped bearing install holes for the bearings to secure the chains on edge.

image

The black item is a 3d printed dust collector that installs between the bearings and plate. My dust collection will employ a cyclone separator that allows me to vacuum sheet rock dust for weeks before changing or cleaning the filter.

I am curious about what format you manage the travel speeds during cutting vs moving. Thanks for any guidance. Roger.

5 Likes

Is it halting on the tool change command, M6? I’ve quoted your above code and commented out the lines to make is easy to understand what it’s actually telling the machine.

The unsupported commands above, G94, G17, G28, M8, and M9, should not cause a program halt. Ground Control should just ignore those commands. It will halt the program at an M6 command for a tool change. This is because it thinks that you are taking the router out, changing your bit, and zeroing the z-axis during this pause.

Also, it only does this when it sees that it’s changing to a “new” tool. So the first time you tell the machine T1 M6 it knows it has to wait for the tool change. If you were to send the same command again it knows that it has T1 loaded and will continue cutting. When it sees T2 M6, it would initiate another tool change, because it knows that’s different than the current tool loaded.

You could just delete the T1 M6 lines from your code and it should no longer halt during your program. You could use the search feature for M6 and delete the lines it finds. Alternatively, these lines are usually at the start of a cut, so look for the (2D Contour1) and you should be able to find the tool changes right away. I’d prefer the first method myself, that way I know that I’ve caught all the instances.

Congrats! That’s awesome! It’s such a great feeling to get over that first hurdle and actually see the machine moving under its own power! :grin:

That is quite the setup! I love the vacuum bed, that’s been one item on my machine wishlist for awhile now. It’s perfectly functional without one, but a lot of the machines I’ve worked with have one and they are very nice to have!

I’d like to see how these work out for you. Are the bearings designed to take radial forces? Most of these types of bearings are designed to take axial forces, but it’s quite possible that they will still work reliably. Are your chain mounting positions fixed relative to each other or can they rotate independently of each other? In order to have true triangular kinematics, you will need to mount one chain to the outside ring of the bearing and one to the inside ring. Otherwise it’s just a rotating version of quadrilateral kinematics.

Not doubting your ability to DIY a ring solution, I just want to make sure you have it right before it causes endless calibration frustrations. I’ve been there myself. :face_with_symbols_over_mouth::face_with_symbols_over_mouth::face_with_symbols_over_mouth:

Dust collection is possibly one of the most important safety issues to address, so I really like to hear that. I too have been planning a DIY cyclone system that fits in my little trailer.

A little confused by the question. Rapid moves are G0 commands and cutting moves are either G1, G2, or G3 commands. Fusion360 will program these codes where it makes sense based on your cut parameters and post code.

If you asking about feed rates, the machine will move at its maximum travel speed (1000mm/min or 40in/min) during G0 commands. For G1/G2/G3 commands, it will move at the speed specified by the F variable (eg F700). The number after the letter F is the feedrate in the active unit of measurement, which is specified by G20 or G21. This speed is really dependent on your material and tool selection. Further reading on materials and tools are on the wiki. These articles still need some expanding, but they should serve as a good starting point.

Just in case you haven’t already bookmarked it, this is Wikipedia’s G-Code page. It has a full dictionary of all the codes for your reference.

2 Likes

Helpful again, your specific references and comments clarify.

Might you know of the complete list of codes that Maslow accepts. The list I found a bit ago does not include some of the commands you didn’t describe as unsupported (like the T1 M6 or S9700 M3) The wiki page is helpful but is not Maslow specific.

On that note, what is a software and hardware method of either turning the router on/off or adjusting its speed I might try?

The bearings I used are https://www.amazon.com/gp/product/B01MQY8U5R/ref=oh_aui_detailpage_o03_s00?ie=UTF8&psc=1. They have circulating balls in a machined groove that seems to handle radial loads well, not at all like the traditional stamped steel ones. Each ring rotates free which allows the router to twist without changing the center point. I wanted to avoid variable drag on the weighted sled skewing. I used ground control’s triangular set up with 0 for both vertical and horizontal distances and entered the ring radii from the chain attachment pin center after measuring out the chain accurately. It appears to track a 40 x 80 in rectangle within an 1/8" (when measured to the table edge). I will run a few pen tests and measure shortly.

When all is up and running I will post pictures and a description. Roger

3 Likes

You are entirely right and I updated the supported G-code list on the wiki. I want to flesh out the table a little more like the Wikipedia G-Code page when I get a chance. If I missed something, anyone, please don’t hesitate to add to the list. I can’t always keep up with all the amazing speed of progress going on here! :smiley:

There is a setting in Ground Control which enables spindle control. When it is on, it will send a 5v signal via the Aux1 pins on your motor shield with M3/4/5 commands. From there, you need some sort of relay that you can plug your router into that will turn it off. As the board ships now, the Aux1-6 pins are just holes in the PCB. There isn’t anything soldered to those pins yet, so you will have to solder on connectors (disclaimer, I have not tried those connectors myself and cannot confirm if they will fit, but I think they should). I bought a spare shield myself to test before implementing this on the machine. This a bit of a complicated upgrade. Further reading in this thread.

The bearings you linked do in fact look like they would be up to the task, and they have a pretty good price point. The smaller bearings (like that one) probably would work better than the larger ones. When Bar was testing his system he noticed that the smaller ones moved much smoother. I’m very curious to see how they work out for you! I’m sure if you’ve gotten this far, you’ve already read some/most/all of this thread about the development of the triangular kinematics, but I feel it is very relevant to our conversation. Even if you’ve skimmed it you will pick up on a lot of what makes this system work.

As far as machine accuracy, I have detailed out a method for testing tolerance across the bed in this thread. Apologies again if I’m linking you to threads you’ve already read. If you have the time to run the test yourself, the data you collect from it will help immensely as we are trying to quantify the differences between the different versions of the triangular kinematics.

Sidebar to the community, should I rename this thread to something like “Fusion360 CAM Programing Tips”? Seems to be what this discussion has been focused around.

2 Likes

Any update on your solution using a turntable bearing?

Is it accurate?