HP Plotter

Unsere CAD-Abteilung kann demnächst die Entwürfe großformatig ausdrucken.

A0-Plotter

A1-Plotter

Projekt-Team

Derzeit nur Ralf

Das Projekt

In einem ersten Schritt geht es zunächst mal darum, die Plotter an einer USB-Schnittstelle ans laufen zu bringen. Die Plotter haben beide RS232 und sprechen HPGL. Sollte also machbar sein mit:
USB —> FTDI —> RS232

Die Handbücher

Sind auf der C-Hack Owncloud

Und hier: HP-Computermuseum

Projektfortschritt

Der Probedruck hat auf Anhieb geklappt.

Die RS232 Schnittstelle funktioniert auch. Ich habe direkt ein paar HPGL Befehle über ein Terminal geschickt:

IN; //setzt den Plotter zurück
PU 1000,1000; //Fährt den Stift nach x=1000, y=1000 Plottereinheiten
PD 0,0; //Zeichnet einen Strich nach 0,0
LB Das ist ein Test //Schreibt den Text

Inkscape Zeuchnungen plotten

1. Papier einlegen und vorbetreiten
– Mindestens einen Stift in das Karussell einsetzen (Position 1)
– USB zu Seriell Converter in USB Schnittstelle stecken
– Papier einlegen (weit reinschieben, so dass hinten ca. 20cm herauskommen)
– [Chart Hold] Knopf am Plotter drücken
– [Remote] Knopf am Plotter drücken
– [P1] Knopf bewegt den Stift an die links-unten Ecke des Plotterbereichs
– [P2] Knopf bewegt den Stift an die rechts-oben Ecke des Plotterbereichs

2. Schnittstelle auf dem Rechner vorbereiten
– command line: stty -F /dev/ttyUSB0 9600 crtscts

3. Zeichnung in Inkscape erstellen
– Alle Objekte müssen in Pfade gewandelt werden
– Dann als dateiname.plt abspeichern

4. Plotten
– Command line: cp dateiname.plt /dev/ttyUSB0

Plotbereich bei A0 Papier: -22840,-16180 … 22840,16180 (plotter units)

D.h Der Ursprung (x=0, y=0) liegt in der Blattmitte.
Da z.B. Inkscape den Ursprung des Plotbereichs auf die linke untere Ecke des Papiers legt, muss man die Zeichnung um eine halbe Papierlänge nach links verschieben und um eine halbe Papierbreite nach unten.
Das ist unschön…

…Besser:
Mit dem HPGL Command IP 0,0,45680,32340; werden die Referenzpunkte P1 und P2 so kalibriert, dass sie zu den Inkscape Koordinaten passen.
Ich schreibe noch ein kleines Script, das das alles automatisch richtig einstellt.

Hier das Ganze als Shell-Script:

#!/bin/bash
echo "cplot CC-by c-hack.de 2018"
serialPort=$(/bin/ls /dev/tty* | /bin/grep ttyU)
if [ -z $serialPort ]
then

echo "no USB Serial Port found"
exit 1

else

echo $serialPort found

fi
echo "Plotting in progress...."
/bin/stty -F $serialPort 9600 crtscts
echo "IP 0,0,45680,32340;" > $serialPort
cp $1 $serialPort
echo "Done!"