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!"