Skip to main content

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

Metadata

Release files for laser-turtle 1.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for laser-turtle 1.0.5
File Size Uploaded Provenance
laser_turtle-1.0.5.tar.gz 6.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for laser-turtle 1.0.5
File Interpreter ABI Platform
laser_turtle-1.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 13.4 kB

Release files / laser_turtle-1.0.5.tar.gz

Download URL laser_turtle-1.0.5.tar.gz
Size 6.4 kB
Tags Source
SHA-256 checksum
How to use checksums
28af8401d2325d38d06e4019c894d1b99a249e4171ff3f30fe9503d383b0910f
BLAKE2b-256 checksum
How to use checksums
c9e1593e0dcbe420f8d65965bdf2f815463dc7d4ee67859228974b8f756db53c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / laser_turtle-1.0.5-py3-none-any.whl

Download URL laser_turtle-1.0.5-py3-none-any.whl
Size 6.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d4033b3de08b440efbf0a9b8cc8e68be1b10c84b58c30e3309900fcdac373800
BLAKE2b-256 checksum
How to use checksums
e1973ea06887450d293cbdebf8ce0e83d62f99640ead2e837581fe21cdc271c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Security for laser-turtle 1.0.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page