December 2013

Over the years I've tried several CAM packages, and for years I've just used a DOS version of a CAM package from 1994. Since I just cut flat sheet, I just need something for sheet work (they call it 2-1/2D as opposed to 3D). What I now use is a program I wrote myself!

The program is just a subroutine that works in LibreOffice. It's a Visual Basic macro. It is very rudimentary and depends on the layout of DXF file to operate properly. It seems silly to program in a spreadsheet macro, but for quick Basic programs, having the data in spreadsheets makes it easy to see what is happening. And that makes it easy to debug. If you are interested, all of the code is available for review in the macro subroutines.

Here is the link: DXF TO GCODE SOFTWARE

So here's how it works (use the example DXF file as a guide):

  1. Draw your part in CAD (sorry, I don't have one of those for free, but I do suggest the free version of DraftSight). Use any layers except DRILL, PATH, FIRST, or ORDER. Use lines and arcs only. Use points for where you want to drill.
  2. To allow for cutter compensation, join the lines of your part into a polyline and offset it by the cutter radius (to further explain, if you want to cut a 6 inch square with a 1/4 inch bit, you need a path that is a 6-1/4 inch square).
  3. The depth that it will drill is based on the height of the offset polyline or points. Normally, you would draw everything with Z=0.000. But if you don't want to cut or drill all the way through, move the offset polyline or drill point to something like Z=0.100.
  4. Organize the parts on your drawing the way you want them cut out. The drawing origin (X=0, Y=0) usually is in the lower left corner. By the way, this organizing is called "nesting".
  5. Put all drill points on the DRILL layer. Put all of the polylines, lines and arcs to be cut (the new offset ones) on the PATH layer.
  6. Explode the new offset polylines back into lines and arcs.
  7. Starting at (X=0,Y=0), draw a series of lines on the ORDER layer which connects the each of the paths at the point where you want that path to start. This set of lines on this layer indicates the order in which the paths will be cut and the starting point.
  8. Change the layer of one of the path lines or arcs connected to the order line to FIRST. This will indicate which direction to start cutting the path.
  9. Save the drawing file as a DXF file.
  10. Open the DXF to GCODE spreadsheet. If you need to change any settings, copy and paste them into the first column. Run the subroutine by pressing the button on the spreadsheet. This will create a GCode file that you can review in a text editor if you feel you need to. Easy.

So the subroutine works like this: It drills all of the points found on the DRILL layer. It then starts at (0,0) and looks for the end of an ORDER line. It follows it to the other end where it then looks for a FIRST line or arc. It follows that to its end and looks for a PATH line or arc. Then from that line or arc to the next PATH line or arc until the whole path is complete. It then looks for a second ORDER line, follows it to its end and repeats the process. Once it runs out of ORDER lines, it quits.