A straight-forward program which allows one to enter a line of text, or import a .dxf, or an image file and convert it to G-Code emulating engraving techniques. Based on engrave-11, it has expanded its featureset considerably. The author announces new versions and provides support on the CNCzone Forum.
It is available from the author's site: F-Engrave
Installation and configuration
Written in Python, it can be installed (w/ limited features) on any system running Python. There is a Windows binary which has especial support for TrueType fonts.
F-Engrave Configuration File
If you have some default options that you want to have as the initial settings every time you open F-Engrave you can do the following:
- Open F-Engrave
- Change the settings to the settings you want to be the defaults
- Select [File - Save G-Code File]
- Save the file to config.ngc in you home directory (the default save location)
Every time you open up F-Engrave it will load the settings from that file. For Unix people, the (hidden) file location ~/.fengraverc also works.
This process will not change the default save location for .ngc files
Mac OS X
http://www.motions-media.de/download/f-engrave-fuer-mac-v1-62/ --- bundled macOS app with all needed files in it using Playtypus. Includes current f-engrave-162.py1 python script and all compiled binaries (potrace & ttf2cxf_stream).
unzip and execute ./run-f-engrave.sh in Terminal inside the folder the archive is extracted to.
- Launch Terminal.app (or some other CLI)
- Make a directory to hold the final F-Engrave files: mkdir ~/Applications/f-engrave
- Make a temporary directory to work in if you don't already have one: mkdir ~/tmp
- Change to the temporary directory: cd ~/tmp
- Download the F-Engrave source from http://www.scorchworks.com/Fengrave/fengrave.html#download
- Extract it to a temporary directory using unzip: unzip ~/Downloads/F-Engrave-1.52_src.zip
- Change to the extracted directory: cd F-Engrave-1.5.2_src
- Copy the F-Engrae Pythonfile to the final application directory:cp f-engrave-152.py ~/Applications/f-engrave`
- Change to the included tt2cxf source directory: cd TTF2CXF_STREAM
- Use a plain text editor such as TextEdit.app and edit the Makefile in this directory to point to the proper freetype headers. Change the line g++ -o ttf2cxf_stream ttf2cxf_stream.cpp -lm -I/usr/include/freetype2 –lfreetype to g++ -o ttf2cxf_stream ttf2cxf_stream.cpp -lm -L/usr/X11/lib -I/usr/X11/include/freetype2 -lfreetype. You can also use vi in the Terminal if you're comfortable with it: vi Makefile
- Run make to compile: make
- Copy the new binary to the final application directory: cp ttf2cxf_stream ~/Applications/f-engrave
- Change back to the temporary directory: cd ~/tmp
- Download the potrace binaries for OSX from http://potrace.sourceforge.net/#downloading
- Extract it to a temporary directory using tar: tar –xzf ~/Downloads/potrace-1.13.mac-x86_64.tar.gz
- Copy the extracted binary to the final application directory: cp potrace-1.13.mac-x86_64/potrace ~/Applications/f-engrave
- Change to your final application directory: cd ~/Applications/f-engrave
- Update your PATH environment variable to include this directory so F-Engrave can find potrace and tt2cxf. You’ll need to do this every time you launch the Terminal or add the line to your ~/.bashrc: export PATH=$PATH:~/Applications/f-engrave
- Run F-Engrave using Python: python ./f-engrave-152.py
Alternately, to package as a stand-alone app: https://www.metachris.com/2015/11/create-standalone-mac-os-x-applications-with-python-and-py2app/
Using F-Engrave with GRBL
F-Engrave defines variables for the feed rate and engraving cut depth that are not compatible with GBRL and uses incremental distance mode for arcs. To generate g-code compatible with GRBL:
- Select the “Disable Variables” check box in the F-Engrave Settings window
- un-select the “Enable Arc Fitting” check box in the F-Engrave Settings window
- Use F-Engrave version 1.34 or higher. 1.49 adds a new option to not emit comments which will help to make files fit w/in Grbl's line limit.
- Select “Suppress Comments” in the F-Engrave “General Settings” Window
See above for how to add these changes to the configuration file and make them persistent.
Note especially the Sub-Step Length setting:
"The v-carving algorithm steps along the font or DXF outline and performs tool location and depth calculations at a fixed interval. The fixed interval is the "Sub-Step Length" a large substep length will increase the speed of the v-carve calculation but could result in a more faceted looking v-carve. Reducing the "Sub-Step Length" too much can cause excessive calculation time and reduced CNC machine performance (due to excessive short G1 commands). If in doubt start with a larger step size and reduce the value until the results seem reasonable."
Prior to v1.45, F-Engrave would make all cuts to full depth, which could overwhelm a machine's ability to cut.
Releases since add multi-pass cutting.