Roland DXY-990
https://github.com/TimeTravel-0/penplotterfeeder
https://pypi.python.org/pypi/Chiplotle
https://hackaday.io/project/12276-roland-dg-dxy-990
http://www.rolandforum.co.uk/viewtopic.php?f=49&t=2072
Milieu de page http://www.synthfool.com/laser/
Cable Serial <> USB : http://cmc.music.columbia.edu/chiplotle/manual/_static/SerialPlotterCable_Chiplotle.pdf
Créer un adaptateur à partir d'un vieux "pen": https://www.flickr.com/photos/anachrocomputer/sets/72157624783555539
Convertisseurs HPGL
-
Plugin inkscape : https://www.timewasters-place.com/inkscape-and-plotters-the-2nd/
-
Software C : https://github.com/anachrocomputer/vec#the-pens
-
Processing \o/ (voir plus bas)
psdtoedit
Pstoedit est un vieux soft en ligne de commande pour convertir à peu près n'importe quel fichier vectoriel en HPGL.
Installation sur Raspbian Jessie Lite :
$ sudo apt install ghostscript $ sudo apt install pstoedit
Utilisation :
$ PAGE_SIZE="a3" HPGL_VERSION=1 pstoedit -f "plot-hpgl:-plotformat hpgl" input.pdf output.hpgl
Les traits ont l'air d'être appliqués deux fois, ce qui peut être sympa pour les bics un peu récalcitrants mais ça vaudrait la peine de chercher à comprendre pourquoi.
Des variables d'environnement sont disponibles, voir sur https://www.gnu.org/software/plotutils/manual/en/html_node/Plotter-Parameters.html
Filtres et remplissage
-
Hatch Fill : https://www.thingiverse.com/thing:4943
Recherches HPGL
Envoi depuis une Raspberry Pi avec le script python https://github.com/TimeTravel-0/penplotterfeeder Ratio de 40 sur les distances:
PD400,400;
envoie le pen à x10mm, y10mm. Maximum travel size: x416, y259 (16640, 10360). Au-dessus le déplacement est imprédictible (quelques millimètres de décalage).
Control commands
Des commandes spéciales permettent de parler à la machine grâce au caractère d'échappement "ESC". Il a le code ASCII 27, en python on l'obtient avec chr(27)
. En Nodejs, "\x1b"
.
-
[ESC].B
récupérer l'état du buffer (Nodejs:"\x1b.B"
) -
[ESC].E
récupérer un code d'erreur (0 = pas d'erreur, pour les autre codes voir manuel papier) -
[ESC].O
récupérer l'état de la machine (pour codes voir manuel papier) -
[ESC].K
arrêter le plot en cours et vider le buffer. Ne fonctionne pas top, on doit envoyer la commande plusieurs fois pour qu'elle soit prise en compte et parfois elle ne l'est pas.
-
IN;
initialisation -
SP1;
selection du pen ⇒ 1 -
VS1;
vitesse du pen ⇒ 1 -
SI1,1;
taille sur l’axe x ⇒ 1, y ⇒ 1 -
PA0,4000;
position x ⇒ 0, y ⇒ 4000 -
DT$;
carractère final ⇒ $ et (char)3 = caractère invisible par défault -
LB RADISLAV EST BG$;
texte à afficher ⇒ RADISLAV EST BG + char final ⇒ $ (qui ducoup sera afficher) -
PU;
lever le pen -
PD;
decendre le pen -
CP;
retour à la ligne
Raspberry pi
Interface Web
John a créé une app web pour importer un fichier HPGL, le prévisualiser et l'envoyer à la machine : https://github.com/LgHS/hpgl-sender
(suivre les instructions du README)
Script Python
ssh pi@192.168.*.* sudo apt-get install git virtualenv git clone https://github.com/TimeTravel-0/penplotterfeeder.git cd penplotterfeeder virtualenv . . bin/activate pip install pySerial python plot.py tests.hpgl 1 0 0 /dev/ttyUSB0
Processing
Il est possible de générer du HPGL directement depuis Processing avec cette librairie : https://github.com/ciaron/HPGLGraphics.
Cette lib ne prend pas en compte P3D (rotateX
, vertex(float,float,float)
), il faut repartir d'un Fork de PGGraphicsSVG (sur le github de Processing) et adapter pour le HPGL.
Fork HPGLGraphics
John a forké la librairie Processing pour pouvoir définir des tailles personnalisées, des marges et la vitesse du pen : https://github.com/drskullster/HPGLGraphics (v1.0.4)
Pour compiler :
-
brew install ant
-
cd HPGLGraphics/resources
-
ant -Dclasspath.local.location=[Processing path] -Dsketchbook.location=[Sketchbook path]
-
La librairie est compilée dans le dossier [Sketchbook path]. Si l'originale était déjà présente, elle a été remplacée.
Projets
-
https://github.com/LgHS/TweetPlotBot Tweets dessinés par la machine en temps réel
-
https://github.com/LgHS/voiceplot Dessins génératifs basés sur un enregistrement audio
-
https://github.com/LgHS/hpgl-sender Interface web pour contrôler le plotter et envoyer du HPGL
-
https://github.com/drskullster/plots Sketchs Processing random de John
No Comments