Skip to content

Compiles ASCII text into 2D gcode that can be printed by a plotter

Notifications You must be signed in to change notification settings

Stypox/text-to-gcode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Text to G-code compiler

This repository contains a Python 3 script that takes a text file as input and generates a 2D G-code file as output. The alphabet contained in the ascii_gcode subfolder supports all ASCII characters and is used by default, producing letters made up of just single lines, like you can see in the image below. The parameters that you can tune are the directory in which to look for the G-code alphabet, the maximum length of a line, the distance between two subsequent lines and the empty space between characters. You can then use the produced G-code in a 2D plotter, you may find this other project of mine useful: plotter.

An example with Lorem Ipsum and all supported characters Obtained with http://jherrm.com/gcode-viewer/

Usage

You can run the script normally with Python 3:

python3 text_to_gcode.py ARGUMENTS...

This is the help screen with all valid arguments (obtainable with python3 text_to_gcode.py --help):

usage: text_to_gcode.py [-h] [-i FILE] -o FILE [-g DIR] -l LINE_LENGTH [-s LINE_SPACING] [-p PADDING]

Compiles text into 2D gcode for plotters

optional arguments:
  -h, --help            show this help message and exit
  -i FILE, --input FILE
                        File to read characters from
  -o FILE, --output FILE
                        File in which to save the gcode result
  -g DIR, --gcode-directory DIR
                        Directory containing the gcode information for all used characters
  -l LINE_LENGTH, --line-length LINE_LENGTH
                        Maximum length of a line
  -s LINE_SPACING, --line-spacing LINE_SPACING
                        Distance between two subsequent lines
  -p PADDING, --padding PADDING
                        Empty space between characters

The required parameters are the input, the output and the line length (in order to tune this last parameter, note that the average width of a character is ~4.5).

An example of command is:

python3 --input input.txt --output output.nc --line-length 300 --line-spacing 10 --padding 3

About

Compiles ASCII text into 2D gcode that can be printed by a plotter

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published