I think the key is to be aware of what is fundamental, and what is not. The fundamentals won’t change, and the software is just a tool for dealing with the fundamentals in a convenient way. Then, you choose the tool that works best for you.
So, fundamentally, the target is G-code. Maslow understands a specific set of G-code commands to move the cutter around the workpiece. You can read about them here:
If you send an unrecognised code then Maslow will ignore it. If you want to do something that can not be expressed in G-code then Maslow can’t do it. At its simplest level, G-code allows you to instruct the machine to set the cutting height of the tool (Z) and move to a certain X-Y point. If the tool is above the surface of the workpiece then no cutting is done. If the tool is below the surface of the workpiece then it will cut the material. That’s it.
This leads on to physical considerations: what material is it? how deep can you cut while moving the tool? how fast can the tool move? G-code doesn’t care about this, but these factors must be accounted for when producing the G-code itself. The machine executes the G-code as best it can, but it has no way to know what material is actually present, or what tool has actually been installed, or where the edge of the material is, or how thick it actually is. The machine is blind and does what it is told to do.
So, how to produce the G-code? Well, as you can see, it’s a sequence of commands. You could write it in a text editor. If it’s a simple shape, such as a square, you could write a series of G-code commands to lift the Z axis (so the machine won’t cut), move to the start X-Y position, lower the Z axis (so the machine will cut), move to the first corner, second corner, third corner, and back to the start, then lift the Z-axis again. Remember, when you specify the X-Y positions to add or subtract half of the diameter of the cutting tool so that the edge of the cutter is on the line that you want to cut. Obviously the file is no good if you want to use a different size tool, so you’d have to regenerate the G-code with new numbers.
Doing it by hand is tedious (but a worthwhile exercise), and probably you’ll have a fairly complex shape, so you’d use a CAD (Computer Aided Design) tool. This lets you draw what you want, and you’ll end up with a bunch of elements that need to be cut. You need a CAM (Computer Aided Manufacturing) tool to take the graphic elements in the CAD drawing and produce G-code to drive the machine. The CAM tool lets you specify parameters like speed of movement, tool sizes, cutting heights/depths, inside/outside/centre cuts, and allows you to produce a G-code file for that design for that machine and that tool. The same file may work on another machine, but it might not. It also won’t produce the desired result if you don’t set up the machine properly when you start the job.
In general, the workflow is:
Idea -> CAD -> CAM -> G-code -> machine
For me, I generally use QCad for CAD, and DXF2GCODE for CAM. So, that’s two separate programs. Some CAD programs have CAM built-in, so you can produce G-code directly.
When you produce G-code you generally have to specify the machine that you are going to use. This makes the CAM software use only G-code commands that the machine is known to support, and avoid the ones it doesn’t. If ‘Maslow’ is not listed in your CAM software (and it probably won’t be) then try ‘grbl’. After you have produced the G-code you can look at the file and verify that it contains only commands that Maslow supports, and that the sequence of commands looks sensible. You can also run the G-code on a simulator, that will visually show the cutting paths contained in the file.
Even if there was a place where you could download G-code for Maslow I’d suggest you couldn’t trust it. You’d have to double-check the cutting area, tool size, feed speed, inches/mm, etc. G-code is the worst way to distribute a design.