graphtecprint is a driver / cutting application for the desktop plotter / cutter Graphtec CC200-20 or any of the OEM models based on it, such as the QuicKutz Silhouette (and reputedly Xyron Wishblade). It may work on other Graphtec devices as well, but it’s so far only tested on the CC200-20. It was developed on Linux, but in theory it should work on other Unix-like operating systems, too, and perhaps even Windows (not tested!). The rest of this page will assume that you’re using a Linux distribution.
Update Jul 9th, 2008: Wow, that took a while, but I have just released v1.0.1 which incorporates the Wishblade changes as well as fixes a bug with missing text with recent versions of pstoedit. Speaking of recent versions, Inkscape has had a printing redesign, and seems to be missing the “print to pipe” option from earlier, which means you have to print to a file and pipe it to graphtecprint manually for now.
Update Feb 2nd, 2008: Rick Stuart has helpfully provided me with the changes necessary to make graphtecprint work with his (first generation?) Wishblade! I will release a version 1.0.1 shortly, which will support this device properly.
First of all, and unsurprisingly, you need a compatible Graphtec cutter.
To see if you have a compatible device, run “lsusb”. You should see a line looking something like this, the important bit in bold:
. . .
Bus 001 Device 003: ID 0b4d:110a
. . .
If the numbers differ you likely have another model, but it might still work.
You can also use the “usb_printerid” utility that comes with “foo2zjs” package you may or may not already have installed:
$ sudo usb_printerid /dev/usb/lp1
graphtecprint requires the following packages to be installed:
- python (tested with 2.5, other versions may work)
- pstoedit (tested with version 3.44, others may work)
If you are using Debian or a Debian based distribution, such as Ubuntu, running “sudo apt-get install
There are two ways of “installing” graphtecprint. The first way is to install it alongside other installed programs:
tar xvzf graphtecprint-1.0.tar.gz
sudo cp graphtecprint /usr/local/bin/
sudo mkdir /usr/local/share/graphtecprint
sudo cp *.png *.glade /usr/local/share/graphtecprint
Alternatively, the program and data files can be installed in their own separate directory, e.g. /opt/graphtecprint:
tar xvzf graphtecprint-1.0.tar.gz
cp -a graphtecprint-1.0 /opt/graphtecprint
The program was primarily tested to work with Inkscape, but in theory, all applications capable of printing PostScript to a file or a pipe should work. If you come across a program whose output does not work, feel free to inform the author. (Note that raster graphics from programs such as the GIMP can’t possibly work. Only vector graphics elements will be parsed by this program.)
To cut using Inkscape, open or edit your file of choice, then go to the File menu and select Print. In the Print dialog, select “Print using PostScript operators”. Under “Print destination”, type “| graphtecprint” (the first symbol is a pipe symbol). If you have installed graphtecprint under a directory that’s not in your path you must enter the full path instead, e.g. “| /opt/graphtecprint/graphtecprint”
If you’re using another application, see if it can print to a pipe directly. If so, the procedure should be very similar to the one above.
If the application can not print to a pipe, chose “Print to file” (most applications should offer this) and select an appropriate file name. Then, in a terminal window, run “graphtecprint < somefile.ps", substituting "somefile.ps" for the name of the file you just printed to.
If everything goes according to plan, you should now get the main dialog window. If not, check your program's terminal for error messages that may explain what went wrong.
Everything should be more or less self-explanatory, but there are some things to note:
- You need write access to the USB device file! (The “Device” pulldown menu should list the detected cutter and its character device. To give yourself (everyone, actually, so beware) write permissions, open a terminal window and run the command “sudo chmod a+rw /dev/usb/lpX”, where X is the number of the device shown in the pulldown menu.)
- Paper size should match the page size from your application. This information doesn’t make it through the format conversions, unfortunately.
- Orientation is hardcoded to portrait so far, as the overlying application would normally do the work of rotating it if it is a landscape drawing.
- The fine tuning buttons will not work with the usblp driver. For these to work you will need a separate driver for the cutter, or possibly a patched usblp driver. None of these options are implemented yet, but they might be in the future.
The latest version is 1.0.1 and can be downloader here: