Passer au contenu principal

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éerCré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èsprè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être appliquésappliqués deux fois, ce qui peut êtreêtre sympa pour les bics un peu récalcitrantsrécalcitrants mais çaç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 déplacementdéplacement est imprédictibleimprédictible (quelques millimètresmillimètres de décalage)décalage).

Des commandes spécialesspéciales permettent de parler àà la machine grâcegrâce au caractèrecaractère d'échappementé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érer récupérer l'étatétat du buffer (Nodejs:  "\x1b.B")
    [ESC].E récupérer récupérer un code d'erreur (0 = pas d'erreur, pour les autre codes voir manuel papier)
    [ESC].O récupérer récupérer l'étatétat de la machine (pour codes voir manuel papier)
    [ESC].K arrêter 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ère carractère final $ et (char)3 = caractèrecaractère invisible par défaultdé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évisualiserpré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érergé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 définirdéfinir des tailles personnalisées,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éecompilée dans le dossier [Sketchbook path]. Si l'originale étaitétait déjàdéjà présente,présente, elle a étéété remplacée.remplacée.
          https://github.com/LgHS/TweetPlotBot  Tweets dessinésdessinés par la machine en temps réelréel
          https://github.com/LgHS/voiceplot  Dessins génératifsgénératifs basésbasés sur un enregistrement audio
          https://github.com/LgHS/hpgl-sender  Interface web pour contrôlercontrôler le plotter et envoyer du HPGL
          https://github.com/drskullster/plots  Sketchs Processing random de John