F-Engrave

Overview
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.

Downloading
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:


 * 1) Open F-Engrave
 * 2) Change the settings to the settings you want to be the defaults
 * 3) Select [File - Save G-Code File]
 * 4) 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).

Download
http://www.motions-media.de/download/f-engrave-fuer-mac/

unzip and execute ./run-f-engrave.sh in Terminal inside the folder the archive is extracted to.

Instructions

 * 1) Launch Terminal.app (or some other CLI)
 * 2) Make a directory to hold the final F-Engrave files: mkdir ~/Applications/f-engrave
 * 3) Make a temporary directory to work in if you don't already have one: mkdir ~/tmp
 * 4) Change to the temporary directory: cd ~/tmp
 * 5) Download the F-Engrave source from http://www.scorchworks.com/Fengrave/fengrave.html#download
 * 6) Extract it to a temporary directory using unzip: unzip ~/Downloads/F-Engrave-1.52_src.zip
 * 7) Change to the extracted directory: cd F-Engrave-1.5.2_src
 * 8) Copy the F-Engrae Pythonfile to the final application directory:cp f-engrave-152.py ~/Applications/f-engrave`
 * 9) Change to the included tt2cxf source directory: cd TTF2CXF_STREAM
 * 10) 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
 * 11) Run make to compile: make
 * 12) Copy the new binary to the final application directory: cp ttf2cxf_stream ~/Applications/f-engrave
 * 13) Change back to the temporary directory: cd ~/tmp
 * 14) Download the potrace binaries for OSX from http://potrace.sourceforge.net/#downloading
 * 15) Extract it to a temporary directory using tar: tar –xzf ~/Downloads/potrace-1.13.mac-x86_64.tar.gz
 * 16) Copy the extracted binary to the final application directory: cp potrace-1.13.mac-x86_64/potrace ~/Applications/f-engrave
 * 17) Change to your final application directory: cd ~/Applications/f-engrave
 * 18) 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
 * 19) Run F-Engrave using Python: python ./f-engrave-152.py

http://www.cnczone.com/forums/opensource-software/146222-cnc-software.html#post1791902

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.

Settings
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."

Also, F-engrave gained an option for multiple passes when V-carving which should be enabled for larger projects or harder materials or less-rigid machines. checkbox enable multi pass

Limitations
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. Bold text