Category Archives: Programming

F-Engrave V1.32


F-Engrave Version 1.32 is now available on the F-Engrave Web Page.  This release includes a few minor items that I have had backlogged for a while.  The items are listed below.

– Added limit to the length of the engraved text included in g-code file comment (to prevent error with long engraved text)

– Changed number of decimal places output when in mm mode to 3 (still 4 places for inches)

– Changed g-code format for G2/G3 arcs to center format arcs (generally preferred format)

-Hard coded G90 and G91.1 into g-code output to make sure the output will be interpreted correctly by g-code interpreters.

G-Code Wrapping with G-Code Ripper


G-Code Ripper version 0.03 has been posted to the G-Code Ripper Homepage.  The new version has more plotting options including more isometric view angles.  The big addition in this version is the ability to map g-code from the X or Y axis to a rotary axis A or B.  This functionality is very similar to CNC wrapper.

G-Code Ripper: G-Code Wrapping Features

  • Graphical preview of the resulting g-code.
  • Automatically maps g-code arcs to linear movements prior to conversion to rotary moves.
  • Options for scaling feed rates to make them compatible with the rotary movements.
  • Interpret g-code variables and equations.
  • G-code Rippers basic features can also be used to scale and rotate the g-code before wrapping the code for the rotary axis.

G-Code Ripper Released

G-Code Ripper

I have uploaded the first version of G-Code Ripper (formerly referred to as the g-code splitting program).  G-Code Ripper can read g-code files and scale, rotate, translate and split the g-code data before writing back to another file.  On the G-code Ripper page I posted an example workflow showing one potential use for the software.  With the basic building blocks of reading and interpreting the g-code completed I will be thinking of new features to add to G-Code ripper.

Everything is new in this program so be careful and check the output.

G-Code Splitting Progress


I have been making progress on the g-code splitting program (yet to be named).  I think I have all of feature for the initial release, including the graphic user interface (GUI), complete.  I have more testing to do before I post the program.  I have included some pictures from a test cut.  The picture above shows half of a split image cut.  The picture below shows the same board with the second half of the image cut.  To the left of the large eagle cut using the splitting program is a smaller eagle that is as large as I could cut on my machine without splitting the image and flipping the board between cuts.


I used pins on the back side of the board to maintain alignment between the first and second cuts.  The picture below shows the pins on the back side of the work piece and the pin holes in the scrap board mounted to my CNC machine.


I am not sure how long it will be before I release the splitting program bu I expect it will be one to three weeks from now.



G-Code Bending

PVC pipe with engraving on inside.

PVC pipe with engraving on inside.

Using the g-code interpreter that I am developing for the g-code splitting program I read some g-code generated by F-Engrave and mapped the coordinates to the inside of a cylinder.  I had a Dremel bit with a small ball at the end (larger than the shank).  So I was able to cut a design into the inside of a cylinder with the tool axis aligned with the pipe axis.

Engraving inside of a PVC pipe.

Engraving inside of a PVC pipe.

I thought it was interesting but I have no application for it yet.  I also tried cutting a small lithophane but the results were marginal.  See the photo below.

Mini-Lithophane Attempt

Mini-Lithophane Attempt

G-Code Splitting Project

Split G-Code

Split G-Code

I am working on a new program (Python script) that can split an existing g-code file into two halves.  This will allow users to take a file run half of the file then rotate the work piece 180 degrees then cut the second half.  This will effectively allow a user to cut designs twice as large as the cutting area of the machine. (As long as the physical rotation is done accurately).

A significant portion of this project is writing the g-code interpreter.  The interpreter is the code to read and understand the g-code input.  With the g-code interpreter is written other g-code bending operations can be performed. Similar to what CNCWrapper ( does.  In fact wrapping g-code around the A-axis may be a future project.