| This is a very common question and there are many available software products to complete this process. It is essentially three basic steps, just remember, CAD-> CAM-> CNC. |
| The design phase, putting your idea on the screen, is done in a CAD program, and this can be any CAD software that will output a file format that a CAM type software can interpret. Common types are DXF and IGS formats. |
| Once a drawing is completed and exported in DXF perhaps, it is opened up in a CAM type program like "Sheetcam" or "Meshcam". This is where the actual G-code generation takes place. G-code is the common term for the programming language that the CNC controller reads and converts into motion. Once the G-code is generated and saved, it is then loaded in Mach3 and ran. |
| Folks that are proficient with the above process can do simple parts in less than a minute and have the machine ready to go. There are many different software packages available. Some like "Bobcadcam", are 3D CAD and CAM integrated together in one suite. Mach3 also includes L-CAM for free to use and supports 2.5 D tool path and code generation and supports DXF import. Some people even code parts by hand. Knowing the commands and not minding the math involved, it is a popular means of producing G-code. |
| Newfangled Solutions' offer a suite of "wizards" for Mach 3 that tackle common tasks such as hole patterns, pockets etc. Some of the more basic wizards are already included in Mach3 for free. This is one area where the "best" method to use is whatever works with for the type of work that is being performed. Download some demos and play with them and see what you like. |
| Like most software companies, Bobcad offers training materials for their products, along with many support groups on yahoo. All of these are an excellent resource for learning CNC machining techniques. But, should you not be able to find an answer, contact us. |
| First: The part is drawn in the cad program. Then tooling offsets are applied, in the case below the tooling offsets are .125" and depicted in red with arrows showing the direction.. The black lines are the actual part. |

| Second: The CAM side of the software is opened and the tool-depth settings are called out. |

| Third: The G-code is generated and saved in a text file with a .tap extension. |

| Below is the G-code that was produced with some explanation of each line and what it represents: |
| N1G40 <--- Cancels cutter compensation (default entry) N2G80 <--- Cancels Canned cycles that may have been running previously N3G90 <--- Absolute Coordinates ( All moves are from one X and Y point of reference) N4G54 <--- Default fixture offset N5 G00 Z0.1 <---Safe rapid plane above zero N6 X2.5764 Y-0.9177 <---Moves to position N7 G01 Z-0.0333 F5 <---- Z moves down .033" below the part surface N8 G03 X2.8514 Y-0.6427 R0.275 F30 <----Now the cutting begins on the oval N9 X2.5764 Y-0.3677 R0.275 N10 G01 X1.5764 N11 G03 X1.3014 Y-0.6427 R0.275 N12 X1.5764 Y-0.9177 R0.275 N13 G01 X2.5764 <-------First pass complete N14 Z-0.0667 F5 <-------Z moves down another .033" N15 G03 X2.8514 Y-0.6427 R0.275 F30 <-------Cutting resumes on the same oval N16 X2.5764 Y-0.3677 R0.275 N17 G01 X1.5764 N18 G03 X1.3014 Y-0.6427 R0.275 N19 X1.5764 Y-0.9177 R0.275 N20 G01 X2.5764 <---- Second pass complete N21 Z-0.1 F5 <-------Z moves down the full .100" depth N22 G03 X2.8514 Y-0.6427 R0.275 F30 <------Cutting of oval resumes and is the last pass N23 X2.5764 Y-0.3677 R0.275 N24 G01 X1.5764 N25 G03 X1.3014 Y-0.6427 R0.275 N26 X1.5764 Y-0.9177 R0.275 N27 G01 X2.576 <------- Oval is now complete .100" deep N28 G00 Z0.1 <--- Z retracts to safe rapid plane .100 above part N29 X4.4453 Y-1.1478 <----- moves over for circle N30 G01 Z-0.0333 F5 <----Z extends into work -.033" N31 G03 X3.4953 R0.475 F30 <--- performs circle path 3 times and successively deeper passes N32 X4.4453 R0.475 N33 G01 Z-0.0667 F5 N34 G03 X3.4953 R0.475 F30 N35 X4.4453 R0.475 N36 G01 Z-0.1 F5 N37 G03 X3.4953 R0.475 F30 N38 X4.4453 R0.475 N39 G00 Z0.1 <----Circle finished, moves on to perimeter. N40 X-0.125 Y0. N41 G01 Z-0.0333 F5 N42 G02 X0. Y0.125 R0.125 F30 N43 G01 X5. N44 G02 X5.125 Y0. R0.125 N45 G01 Y-2. N46 G02 X5. Y-2.125 R0.125 N47 G01 X0. N48 G02 X-0.125 Y-2. R0.125 N49 G01 Y0. N50 Z-0.0667 F5 N51 G02 X0. Y0.125 R0.125 F30 N52 G01 X5. N53 G02 X5.125 Y0. R0.125 N54 G01 Y-2. N55 G02 X5. Y-2.125 R0.125 N56 G01 X0. N57 G02 X-0.125 Y-2. R0.125 N58 G01 Y0. N59 Z-0.1 F5 N60 G02 X0. Y0.125 R0.125 F30 N61 G01 X5. N62 G02 X5.125 Y0. R0.125 N63 G01 Y-2. N64 G02 X5. Y-2.125 R0.125 N65 G01 X0. N66 G02 X-0.125 Y-2. R0.125 N67 G01 Y0. N68 G00 Z0.1 <----- Perimeter and part complete, Z retracts to safe rapid plane. N69M30 <----This ends program, shuts off all outputs, and rewinds program to the beginning. % |
| Click here to download this actual Gcode Program that can be loaded up in Mach3 for a real time demo: |
| Romaxxexample right click "Save target as" |
| Another useful method of learning code: Load up the above code in Mach3 and then select the "Single" button on screen. Then each time the "Cycle start" button is pressed it will only execute one line of code. Watch how each line is represented in the toolpath window, one at a time. |