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 un module de même nom, qui contient une classe de même nom :

from laser_turtle.laser_turtle import laser_turtle

Méthodes disponibles

  • Création d'une instance : laser_turtle(width, height)
  • moveto(self, x, y): Déplace le curseur à une position absolue (x,y), sans dessiner
  • heading(self, angle) : Oriente le curseur à un angle absolu (0 pour Nord) dans le sens horaire.
  • rotate(self, angle) : Pivote le curseur d'un angle relatif (positif dans le sens horaire)
  • 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
  • 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.laser_turtle import laser_turtle
t = laser_turtle(100,100)
t.moveto(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 :

Utilisation dans un notebook

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.1.tar.gz (4.3 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.1-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for laser_turtle-1.0.1.tar.gz
Algorithm Hash digest
SHA256 3e000a406f7708ba63b06d31bc2cb19380eeafdf3c71eb8d23ea8d223a711da7
MD5 d40412c93ad5afd5aa829eaf58430a3b
BLAKE2b-256 e0863e9c1db97530d35c52c84c3fbd9a76623c3b221fd6cfdab2764d762ffd8c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for laser_turtle-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bcca3e0329f06ca1133b89eb1bbfff89f4c2c90f294310912e01ba39563d495b
MD5 c9ba967b9d187937af411052ef0276d6
BLAKE2b-256 e792f6b9996d036df3ec4ab8a4035a816fd97e4dafddd25dd5c85812c37005a2

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