# Epilog driver

## Overview

One of NYCR's most popular weekly events is Lunar Laser Mondays using our Epilog mini-35 laser cutter. The only supported system is Windows with CorelDRAW and Epilog's closed source driver, which doesn't seem right for a hackerspace. Luckily, AS220 Labs has figured out how to talk to the Epilog using PJL. I've written a open source command line tool, epilog, that will translate the PDF files into commands for the cutter.

The tool is very stable now and I've used it for all of my laser cutter projects. There are several other users at NYC Resistor who use it as well -- since it allows you to send jobs to the laser over the WiFi, you don't have to spend time in the smelly laser room and deal with the awful Windows machine.

## Usage

There are a few differences from Epilog's driver -- the most significant is that with the epilog command line tool the home position is always the upper left of the page, not the center of the bounding box as in the Windows printer driver version. The other major difference is that the lines to be cut are distinguished by color, not width: any paths that are color #00FF00 will be cut first, then any that are #FF0000 and finally any that are #0000FF. Each grouping can have its own power and speed, allowing you to do engraving, interior cutting and exterior cuts in one pass.

To use it from inkscape you will need to write out a PDF file by selecting "Print to file" and then running the output.pdf file through the tool like this:

epilog \
--printer 192.168.3.4 \
--dpi 300 \
--raster-power 80 \
--raster-speed 100 \
--name "epilog test" \
output.pdf


One of the next steps is to build a set of presets for different materials and typical work flows (fast vector pass with no power to see outlines, raster only, vector only, etc). The ability to automate these common steps in scripts will really make it easier for repeat jobs.

There is no man page yet. Until then, here's the description of the options:

Usage: epilog [options] file.pdf
Options:
-p | --printer ip                  IP address of printer
-P | --preset name                 Select a default preset
-a | --autofocus                   Enable auto focus
-n | --job Jobname                 Set the job name to display

Raster options:
-d | --dpi 300                     Resolution of raster artwork
-R | --raster-power 0-100          Raster power
-r | --raster-speed 0-100          Raster speed
-m | --mode mono/grey/color        Mode for rasterization (default mono)
-s | --screen-size N               Photograph screen size (default 8)

Vector options:
-V | --vector-power 0-100          Vector power
-v | --vector-speed 0-100          Vector speed
-f | --frequency 10-5000           Vector frequency


## Building

To use the driver you will need to have ghostscript installed. This is not a problem for Linux, but can be a lengthy process on OS X. MacPorts or homebrew will do it, although be prepared for a long wait as the dependencies are installed.