Skip to main content

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

http://wiki.lghs.be/_media/rnd:screencapture-rolanddga-support-product-lifecycle-policy-1508016279527.png

Milieu de page page http://www.synthfool.com/laser/

Cable Serial <> USB :  http://cmc.music.columbia.edu/chiplotle/manual/_static/SerialPlotterCable_Chiplotle.pdf

CréCréer un adaptateur àà partir d'un vieux "pen":  https://www.flickr.com/photos/anachrocomputer/sets/72157624783555539

psdtoedit

Pstoedit est un vieux soft en ligne de commande pour convertir àà peu prè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éappliqués deux fois, ce qui peut êêtre sympa pour les bics un peu calcitrants mais çça vaudrait la peine de chercher àà comprendre pourquoi.

Des variables d'environnement sont disponibles, voir sur sur https://www.gnu.org/software/plotutils/manual/en/html_node/Plotter-Parameters.html

Envoi depuis une Raspberry Pi avec le script python 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 placement est impréimprédictible (quelques millimèmillimètres de calage).

Des commandes spéspéciales permettent de parler àà la machine grâgrâce au caractècaractère d'ééchappement "ESC". Il a le code code ASCII  27, en python on l'obtient avec avec chr(27). En Nodejs,  "\x1b".

  • [ESC].B récupé récupérer l'éétat du buffer (Nodejs:  "\x1b.B")
  • [ESC].E récupé récupérer un code d'erreur (0 = pas d'erreur, pour les autre codes voir manuel papier)
  • [ESC].O récupé récupérer l'éétat de la machine (pour codes voir manuel papier)
  • [ESC].K arrê 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’l’axe x 1, y 1
  • PA0,4000;  position x 0, y 4000
  • DT$; carractè carractère final $ et (char)3 = caractècaractère invisible par 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

Interface Web

John a créécréé une app web pour importer un fichier HPGL, le pré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

Il est possible de géné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éforké la librairie Processing pour pouvoir finir des tailles personnalisé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écompilée dans le dossier [Sketchbook path]. Si l'originale éétait déjàdéjà préprésente, elle a étéété remplacéremplacée.