/calligraphy-machine

This repository contains the code used to run the Herald Calligraphy robot built by the following students at Olin College of Engineering:

Primary LanguagePython

Software

This repository contains the code used to run the Herald Calligraphy Robot. It not be under development after April 14, 2013. All software in this repo was created by Diana Vermilya, Shane Skikne, and Eric Tappan in the Fall of 2012 for Principles of Engineering at Olin College (Professor: Chris Murphy). For more information about this project, please visit http://calligraphybyherald.wix.com/herald For inquiries, please email CalligraphyByHerald@gmail.com
If you find this material useful, or would otherwise like to, feel free to donate to our future engineering endeavors via venmo at https://venmo.com/Diana-Vermilya with the comment "Herald."

The contents of the file (excluding the README) are as follows:

CamBam5.txt
grbl.gcode
POEtest.txt
remote_object.py
zero.gcode
Edwardian.txt
HeraldGui.py
stream.py
GCODEcreator2.py
nu_stream.py
watch_test.py

The following files were written completely by us: HeraldGui.py and GCODEcreator2.py.
The text files were generated by us.
The grbl files were from Github though we made a few modications to stream.

GUI Files:
HeraldGui.py
This file launches and control a Tkinter GUI. Based on the specifications from the user, it calls GCODEcreator2.py with different settings. It then launches the preview GUI so the user can approve their input. (FYI, Herald GUI is one file when it should be multiple. I apologize, but we ran into bugs when importing other GUIs into this one. It was a serious tkinter error that we did not want to deal with when we had a fix.)

Font Files:

These files contain the XY information for the corresponding fonts listed below.
They are called by GCODEcreator2.py, the factions that create the GCODE.
CamBam5.txt - Alegra
Edwardian.txt - Edwardian
POEtest.txt - Simple
'Simple' was not used in our GUI because it does not look very professional.

GCODE Generation:

GCODEcreator2.py
grbl.gcode

This list of functions takes the user input from the GUI and generates GCODE.
It uses the font files in order to create GCODE consistent with whichever font was specified for. It writes it into the file grbl.gcode.

Reading GCODE:

nu_stream.py, stream.py, readme.textile
The GCODE in grbl.gcode is streamed to GRBL using either nu_stream.py or stream.py, depending on whether the process is happening through the GUI or the terminal. readme.textile is the readme file for GRBL. For more, information about GRBL, visit https://github.com/grbl/grbl

Other files:

remote_object.py, watch_test.py: two python scripts used in development. zero.gcode: a GCODE file for bringing the pen back to it's home position.

License: MIT