Skip to main content

A SVG Turtle package for Laser cutting machine

Project description

laser-turtle

Module inspiré de Turtle générant un dessin vectoriel natif en SVG pour gravure et découpe Laser.

La fonction circle de Turtle, qui approxime un cercle par un polygone régulier, a été remplacée par la fonction turn qui génère un chemin de type arc en SVG. Les fonctions forward et backward génèrent des chemins de type ligne en SVG.

Des fonctions ont été ajoutés pour contrôler le mode gravure ou découpe.

Le fichier SVG généré peut être directement utilisé pour commander une machine à découpe et gravure laser. Le fichier comporte deux frames : une en trait noir pour la gravure, une en trait rouge pour la découpe.

Installation et ouverture

Installer le package : pip install laser-turtle

Le package contient une classe de même nom :

from laser_turtle import laser_turtle

Méthodes disponibles

  • Création d'une instance : laser_turtle(width, height)
  • move_to(self, x, y): Déplace le curseur à une position absolue (x,y), sans dessiner
  • get_position(self): Renvoie la position courante du curseur sous forme d'un couple (x,y)
  • get_x(self): Renvoie la position horizontale courante du curseur
  • get_y(self): Renvoie la position verticale courante du curseur
  • set_heading(self, angle) : Oriente le curseur à un angle absolu (0 pour Nord) dans le sens horaire
  • get_heading(self, angle) : Renvoie l'orientation courante du curseur
  • rotate(self, angle) : Pivote le curseur d'un angle relatif (positif dans le sens horaire)
  • left(self, angle=90) : Pivote le curseur à gauche d'un angle donné (90 par défaut)
  • right(self, angle=90) : Pivote le curseur à droite d'un angle donné (90 par défaut)
  • forward(self, d) : Avance le curseur d'une distance d, en générant un chemin de type ligne
  • backward(self,d) : Recule le curseur d'une distance d, en générant un chemin de type ligne
  • turn(self, r, a) : Fait parcourir au curseur un arc de cercle de rayon r et d'angle a (positif dans le sens horaire)
  • draw_on(self) : Positionne le curseur en position de dessin
  • draw_off(self) : Remonte le curseur
  • cut_on(self) : Positionne le curseur en position de découpe
  • cut_off(self) : Remonte le curseur
  • to_svg(self) : Renvoie le dessin vectoriel en svg
  • export_svg(self, nom) : Enregistre le dessin vectoriel en svg dans le fichier nom.svg

Exemples d'utilisation

Avec Python

Le programme suivant :

from laser_turtle import laser_turtle
t = laser_turtle(100,100)
t.move_to(30, 20)
for i in range(4):
    t.forward(40)
    t.turn(10,90)
t.export_svg("test")

génère une image vectorielle dans le fichier test.svg

Avec Ipython ou notebook

Les objets de type laser_turtle peuvent directement être affichés dans un notebook. Il suffit d'évaluer l'objet dans une cellule pour obtenir son affichage en svg.

from laser_turtle import laser_turtle
t = laser_turtle(100,100)
t.move_to(30, 20)
for i in range(4):
    t.forward(40)
    t.turn(10,90)
t

Licence et crédits

Diffusé sous licence MIT.

Auteur : Christophe Declercq, Université de La Réunion : christophe.declercq@univ-reunion.fr

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

laser_turtle-1.0.5.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

laser_turtle-1.0.5-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file laser_turtle-1.0.5.tar.gz.

File metadata

  • Download URL: laser_turtle-1.0.5.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for laser_turtle-1.0.5.tar.gz
Algorithm Hash digest
SHA256 28af8401d2325d38d06e4019c894d1b99a249e4171ff3f30fe9503d383b0910f
MD5 b1822b1ebb26966f1ddb9ba368482ae9
BLAKE2b-256 c9e1593e0dcbe420f8d65965bdf2f815463dc7d4ee67859228974b8f756db53c

See more details on using hashes here.

File details

Details for the file laser_turtle-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: laser_turtle-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for laser_turtle-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d4033b3de08b440efbf0a9b8cc8e68be1b10c84b58c30e3309900fcdac373800
MD5 2f629827de18e9f7d0cff41a6809de02
BLAKE2b-256 e1973ea06887450d293cbdebf8ce0e83d62f99640ead2e837581fe21cdc271c4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page