Pen plotters: Difference between revisions
Line 50: | Line 50: | ||
'''demo plot''': hold down the <code>P1 + P2</code> keys and turn on the power | '''demo plot''': hold down the <code>P1 + P2</code> keys and turn on the power | ||
Repair log: [[Printing/xml-plotter-1]] | |||
===HP ColorPro=== | ===HP ColorPro=== |
Revision as of 13:48, 13 November 2023
HPGL
Hewlett-Packard Graphics Language
- There is a HPGL book in the studio/library!
- HP-GL Reference Guide
IN;IP0,0,4000,4000;SC0,100,0,100;
SP1;
PA0,0;
PD;
PA100,0;
PA100,100;
PA0,100;
PA0,0;
PU;
Plotters at XPUB
HP DraftPro EXL
A0+ pen plotter.
Currently borrowed from Varia. It was a gift from Gijs (OSP).
http://hpmuseum.net/display_item.php?hw=393
http://www.hpmuseum.net/document.php?hwfile=3232 (user manual) http://www.hpmuseum.net/collection_document.php (list of HP museum user manuals, in case the download link above does not work)
HP DraftPro EXL demo plot: press P1 + P2
simultaneously (the buttons with a small 1 and 2)
It speaks: HPGL (HP graphics language)
HP 7475A
A4/A3 plotter
https://www.hpmuseum.net/display_item.php?hw=74
https://archive.org/details/HP7475AInterfacingandProgrammingManual
demo plot: hold down the P1 + P2
keys and turn on the power
Repair log: Printing/xml-plotter-1
HP ColorPro
A4 plotter
http://hpmuseum.net/display_item.php?hw=80
HP 7440A
A4 plotter
☐ mod: cutout plastic to use regular pens ☑ check if it works with 230V > yes, it works with 230v, but it needs a special power supply (0v - 10v - 20v) - info in the hp museum
- user manual: https://userequip.com/files/specs/1504/HP%207440A%20Operating.pdf
- in the HP museum: http://hpmuseum.net/display_item.php?hw=80
- works with a parallel port, and is currently connected with an adapter to a serial port, connected to another adapter to USB
CLI
Most plotters connect to this socket on a Linux machine:
/dev/ttyUSB0
Add your user to the dialout group first:
$ useradd USERNAME dialout
Then configure how your computer and the plotter communicate, these settings should work with most plotters:
$ stty 9600 parodd parenb ixon ixoff -F /dev/ttyUSB0
Then send a file with cat:
$ cat myfile.hpgl > /dev/ttyUSB0
Chiplotle
Chiplotle is an HPGL plotter driver that implements and extends the HPGL (Hewlett-Packard Graphics Language) plotter control language. It provides direct control of your HPGL-aware hardware via a standard usb<->serial port interface. Chiplotle is also a general purpose vector drawing library with functions for creating and transforming shapes, which can then be sent directly to your HPGL plotter for printing.
Chiplotle is written and maintained by Víctor Adán and Douglas Repetto.
- Main web page: http://sites.music.columbia.edu/cmc/chiplotle/
- Documentation: https://chiplotle.readthedocs.io/en/latest/index.html
- More documentation: http://sites.music.columbia.edu/cmc/chiplotle/manual/chapters/tutorial/intro.html
Use
Connect to plotter to computer with usb.
Start the plotter.
Wait! until the plotter is fully running.
Activate the venv you made.
In Linux:
$ source FOLDERNAME/bin/activate
In Windows (using Powershell):
$ FOLDERNAME\Scripts\Activate.ps1
Now you can start chiplotle:
$ chiplotle3
It should automatically detect the plotter...
If it doesn't, you can try to turn the plotter on and off, or load paper.
Once the plotter is detected, you can send a HPGL file to plotter:
plotter.write_file('FILENAME.hpgl')
When you're done, close chiplotle with:
exit()
Install
Install pip, venv
First install pip and the virtual environment python module, if you don't have them yet.
On Linux:
$ sudo apt install python3-pip $ sudo apt install python3-venv
On Mac and Windows:
follow the instructions at https://www.python.org/.
Make a virtual environment
On Linux and Mac:
$ python3 -m venv FOLDERNAME
For example:
$ python3 -m venv plotter-venv
On Windows:
py -m venv FOLDERNAME
For example:
$ py -m venv plotter-venv
Activate the virtual environment
On Linux and Mac:
$ source FOLDERNAME/bin/activate
On Windows (using Powershell):
FOLDERNAME\Scripts\Activate.ps1
You can exit again by writing deactivate
.
Install Chiplotle
Install Chiplotle inside this virtual environment (the Python library to speak HPGL to the plotter):
$ pip install Chiplotle3
Run Chiplotle
See #Use.
Errors
Windows: Script Execution Policy
See: https://www.makeuseof.com/enable-script-execution-policy-windows-powershell/
Mac: ImportError: module not found "imp"
?
Windows: "port" not found (?)
File "C:\Users\aless\OneDrive\Desktop\PENPLOTTER_venv\lib\site-packages\serial\serialutil.py", line 268, in port raise ValueError('"port" must be None or a string, not {}'.format(type(port))) ValueError: "port" must be None or a string, not <class 'int'>
Alessia and Manetta spend an hour on this error on Nov 13th 2023, but did not figure it out. There is little documentation on using Chiplotle on Windows unfortunately. A next step could be do open serialutil.py
to see if the error can be resolved directly there.
It's the next day now, we looked into this again and solved it!
First, edit your Chiplotle config file, which is stored in your home folder, which you can edit on Linux/Mac with:
$ nano ~/.chiplotle/config.py
or on Windows:
> notepad C:\Users\USERNAME\.chiplotle\config.py
Change this line:
serial_port_to_plotter_map = None
into:
serial_port_to_plotter_map = {'COM4' : 'HP7475A'}
or use another plotter model number.
Secondly, you need to also edit a Python script within the Chiplotle library, which you can open on Linux/Mac with:
$ nano PATH-TO-YOUR-VENV/chiplotle3/src/chiplotle3/plotters/baseplotter.py
or on Windows:
> notepad PATH-TO-YOUR-VENV\chiplotle3\src\chiplotle3\plotters\baseplotter.py
Then edit the following on line 196:
@property def _buffer_space(self): self._serial_port.flushInput() self._serial_port.write(self._hpgl.B().format.encode()) bs = self._read_port() return int(bs)
and just change the last line:
@property def _buffer_space(self): self._serial_port.flushInput() self._serial_port.write(self._hpgl.B().format.encode()) bs = self._read_port() return int(128)
Now Chiplotle should work.
Raspberry Pi
Numpy error:
libopenblas.so.0: cannot open shared object file: No such file or directory
Install the missing library:
$ sudo apt install libopenblas-dev
Debian / Ubuntu / Raspbian: "Chiplotle3" command not found
After running chiplotle
after intalling it through pip3 install chiplotle3
, you might be prompted with an error that the command is not found. This might be caused due to a PATH problem. pip
installs into ~/.local/bin
, which is not part of the default PATH on Debain based operating systems.
Check your path:
> echo $PATH
Add to path:
> nano /.bashrc [scroll to the bottom and add the line:] export PATH="$HOME/.local/bin:$PATH" restart your shell
Inkscape
The plot function is under: export > plot
Error: pySerial is not installed.
Please follow these steps:
- Download and extract (unzip) this file to your local harddisk: https://pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz
- Copy the "serial" folder (Can be found inside the just extracted folder) into the following Inkscape folder:
/usr/????????
- Close and restart Inkscape
Make a vector file in Inkscape.
Save it as a HPGL
file. See the image on the right for the settings.
For example: A3 landscape
Tip (!): landscape file = portrait plot. Make a landscape document, it plots in portrait orientation on the plotter (weird, but works)
Rasterize
Color Separation
This ColorSeparation tool from OSP: http://osp.kitchen/tools/pdfutils/
$ sh ColorSeparation FILENAME
Creates:
. ├── gunta-stoelzl-study-cmyk-page001(Black).jpg ├── gunta-stoelzl-study-cmyk-page001(Cyan).jpg ├── gunta-stoelzl-study-cmyk-page001(Magenta).jpg └── gunta-stoelzl-study-cmyk-page001(Yellow).jpg
GIMP
filters > distorts > newsprint
spotfunction: lines oversample: 1 cell size: 5
Inkscape
Bitmap tracing time!
However, it would be great to have a trace that does not create outlines of the lines, but renders them as single lines ... (also to speed up the final penplot!).
For this there must be an extention: center trace.
... But where?
Ah! install Inkscape 1.0 (or higher)! It comes with the newer version :).
(removed my inkscape and installed from backports!)
sudo apt remove inkscape
sudo apt -t buster-backports install "inkscape"
Pens
HP Fiber Tip Plotter Pens S Style Pens:
- $ 22 for 5: https://www.draftingsteals.com/catalog-plotters---plotter-supplies-plotter-pens-fiber-tip-plotter-pens.html
3d printable adapters for pens: