F-Engrave is a text to g-code program that is written in python and is based on the text engraving software (engrave-11) available in the LinuxCNCKnowledgeBase. The name F-Engrave is simply the predecessor programs name "engrave" with an "F" slapped on to indicate that the program can perform more formating functions like justification (left, right and center) and text on a circle. When I first released the program I had no idea I was going to add v-carving or DXF features so the name does not reflect any of those features. F-Engrave is a free open source program released under the GNU General Public License (GPL) Version 3. There is not much left of the original engrave-11 script but I needed a jumping off point. One of the things that remained intact for the most part is the CXF font reading. (although I tweaked it to accept a second variation of the CXF font format.)
- V-carve for outline fonts and images (images and fonts should be composed of closed section loops when v-carving)
- Imports DXF files
- Imports PBM images (with potrace helper program)
- Uses TTF font files (with the help of ttf2cxf_stream, not all formats are supported)
- Capable of exporting Scalable Vector Graphics (SVG) file
- Opens previously saved G-Code file and retrieve the settings and text
- Supports multiple lines of text with justification (Left, Right and Centered)
- Mirroring text (vertical) and flipping text (horizontal)
- Create text that follows an arc
- Origin selection allows user to select the location of g-code zero position
- Display line thickness to be used during engraving allows visualization of end result
- Use inches or mm as export units
- Customizable G-Code preamble and postamble
- Usable as an LinuxCNC Axis filter program (open the f-engrave.py file from within LinuxCNC Axis File-Open-f-engrave.py. when you are finished with your text select File-Write To Axis and Exit, This option only existed when executed from within Axis)
Changes in Version 1.50
- Modified helper program (ttf2cxf_stream) and F-Engrave interaction with it to better control the line segment approximation of arcs.
- Added straight cutter support
- Added option to create prismatic cuts (inverse of v-carve). This option opens the possibility of making v-carve inlays.
- Fixed minor bug in the v-bit cleanup tool path generation
- Changed the behavior when using inverting normals for v-carving. Now a box is automatically generated to bound the cutting on the outside of the design/lettering. The size of the box is controlled by the Box/Circle Gap setting in the general settings.
- Removed v-carve accuracy setting
- Added option for radius format g-code arcs when arc fitting. This will help compatibility with g-code interpretors that are missing support for center format arcs.
Changes in Version 1.51
- Added Plunge feed rate setting (if set to zero the normal feed rate applies)
- Removed default coolant start/stop M codes for the header and footer
- Changed default footer to include a newline character between the M codes another Shapeoko/GRBL problem.
- Fixed some Python 3 incompatibilities with reading configuration files
Changes in Version 1.52
- Fixed potential divide by zero error in DXF reader
- Text mode now includes space for leading carriage returns (i.e. Carriage returns before text characters)
Changes in Version 1.53
- Changed space for leading carriage returns to only apply at 0,90,270 and 180 degree rotations.
- Added floating tool tips to the options on the main window (hover over the option labels to see the tool tip text)
For the full history look at the F-Engrave Change Log
Windows Executable Files
Python File Only (.py - text file)
(No True Type Font (TTF) support)
F-Engrave V-Carving Tutorial (PDF Version: F-engrave_tutorial.pdf) (BMP File Used in Tutorial: Polski_Crest.bmp)
F-Engrave V-Carve Algebra/Geometry Details
The videos embedded below contain a lot of the information regarding the F-Engrave input fields and the basic capabilities of F-Engrave.
Video Tutorial (in French) by EquinoxeFR
F-Engrave video manual addendum
using the DXF import feature
F-Engrave video manual addendum
describing the v-carving feature
V0.1 F-Engrave video manual
Using F-Engrave to engrave text on hockey pucks
F-Engrave can generate tool paths for v-carving. I posted algebra behind the geometric calculations here:Algebra/Geometry.
F-Engrave can also generate tool paths for b-carving. What is b-carving? B-carving is analogous to v-carving only the bit used in b-carving is a round nose (ball nose) cutter.