Step 36 - Software Toolchain Part 3 - The toolchain concept
At this point, you should have the control software that is described in Software Part 1
and Software Part 2
. Software part 1 shows the process to install Mach3
and Software Part 2 shows the process to install a Linux control software application called EMC2
. If you're still unsure what I'm talking about, then here is my detailed explanation of the entire workflow. Later posts will go into greater detail and tutorial on each program.
The entire link from the design all the way to the motors and motion goes like this: First you need to design something. Lets say you want to cut out a square piece of wood that is 3/4" thick, 2" in length and 2" in width. You will first design the square in a CAD (Computer Aided Design) program. This CAD program will enable you to use a mouse to form a square using a command that will draw a few lines on the screen forming a square (dot to dot). This drawing that is created with the mouse can be saved as a file. The file will contain each line in the form of x, y, and z coordinates and the various properties of the lines. Properties of each line can contain specifications such as line width, color, line type (dashed, dotted, etc.), length, etc. For the purposes of the software toolchain described within this website, and also found to be the typical configuration and organization, you will want to save this file as the DXF filetype. The DXF filetype is a filtype that most CAD or CAM programs can import
This DXF file is useless to a CNC machine! Why the heck did I waste the last minute of your life? This file is useless because it contains no specifications that will be useful to directly import into the CNC machine. The information from this file needs to be converted to code that is understandable by the CNC control software (Mach3 or EMC2). This code is called g-code, but don't worry about the specifics of that yet. So, the DXF file containing the data that specifies a square 3/4" x 2" x 2" will need to be imported to a program called a CAM (Computer Aided Manufacturing). Don't let the "Manufacturing" word scare you. There are very powerful CAM programs out there that are really expensive and there are also CAD/CAM applications out there that are even more expensive, but as you know... I'm poor! The CAM program that I will describe simply takes the line information and creates "tool paths". The tool path is just the path that you want the cutting bit to follow. In this case, you want the tool path to follow a square path that is a little more than 2" in length and width and 3/4" deep. Why does the tool path need to be a little larger than the square? You got it!! Because, the cutting bit has a diameter. If the tool path was exactly centered within the line of the square, the end result cut would be just smaller than 2" in length and width, so you need to compensate for the diameter of the cutting bit. So now you know one of the many reasons we need a CAM program. In addition, the DXF CAD file does not contain information on how deep you want to cut the material.
So now you know that first you design the object, in this case a square, in CAD and save the file as a DXF filetype. Then you take that file to a CAM program like CamBam and tell the program that you want to create a tool path just larger than the square (if you use a 1/4" bit, the tool path will need to be offset by the radius of the tool - 1/8"), in this case, 2 1/4" x 2 1/4" to compensate for the size of the cutting bit. Then you tell the CAM program you would like to cut 3/4" in depth. You can also specify how deep your bit can comfortably cut at each pass. Say you are cutting aluminum, or a very hard wood, you will want to cut out the square with many passes, going ever so deeper through every pass. This is what a CAM does (creates tool paths and conforms to the cutting tool that you are using, along with many other things, like how fast to cut, the speed of the spindle, when to change to tool, etc.). Now you will typically save the file as an NC, or TAP file, which is the g-code file. Don't worry, I'll explain the specifics of g-code later (it's really easy).
Ok, so now you have a DXF file, that has been used and abused. That file had been converted to an NC or TAP file that holds the g-code. Now you need to feed that file to the control program. The control program takes each line of the NC or TAP file and converts it into pulses to the CNC machine. Lets say that the first line of g-code says start at (0,0) and cut a line to (0,2.25). For those of you that are knowledgeable about this stuff, indulge me and forget about rapids for a moment. So, the control software will send out a direction signal to the electronics (driver) to go in the direction of the end point. Then the control software sends out step signals to tell the motor to turn until 2.25 inches have been met. In my CNC configuration, the control software would send 9000 step signals to move the full 2.25". That is to say, my lead screw has 20 threads per inch and my motor turns at 200 steps per revolution. Math doesn't have to be your high point, so 20 of 200 is 4000. That's 4000 steps per inch. Two inches would be 8000 steps. Add a quarter of that, 1000, and you have 9000 steps.
Recap: CAD (Design your object) --> CAM (create tool paths that make sense to cutting things with a bit from the CAD file) --> Control Software - Mach3 (the signals and pulses are sent to the electronics through typically the printer port from the CAM file) --> the CNC machine complies to the controllers' commands and you should have the piece exactly as you designed (within the CNC limitations, of course).
Remember, don't put your fingers, face, arm, hands, feet, legs, toes, hair, eyes, head, shoulders, ears, or any other part of your body and/or bodies that may be nearby close to the cutting bit. In fact, wear safety goggles, mask, ear muffs, body armor, etc. while you are near the machine. This is dangerous stuff. Skin and flesh is much softer that the materials that these cutting tool cut through like butter. I guarantee that the cutting tool will go through flesh much more easily than butter, maybe like water (I wouldn't know, I take the necessary precautions, I run).
In the next software post, I will show you the basics of designing in CAD and we will draw our first object. After that, I will show you how to convert that object into g-code. What's next? You got it... We'll cut out the object. Thereafter, I will go into a tutorial on the extremely simple language of g-code. Before long, you will be an expert and you can go into a forum and tell newbies how to do this so they can become experts too. Better yet, you can reproduce this machine and sell it on the market. The gold-digging wife may like that one (if you are the gold-digging wife, my apologies, but CNC machine were made to be sources for money). So, get your fabrication on! I'm eager to see the products that come out of this.