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 dessinerget_position(self): Renvoie la position courante du curseur sous forme d'un couple (x,y)get_x(self): Renvoie la position horizontale courante du curseurget_y(self): Renvoie la position verticale courante du curseurset_heading(self, angle): Oriente le curseur à un angle absolu (0 pour Nord) dans le sens horaireget_heading(self, angle): Renvoie l'orientation courante du curseurrotate(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 lignebackward(self,d): Recule le curseur d'une distance d, en générant un chemin de type ligneturn(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 dessindraw_off(self): Remonte le curseurcut_on(self): Positionne le curseur en position de découpecut_off(self): Remonte le curseurto_svg(self): Renvoie le dessin vectoriel en svgexport_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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| laser_turtle-1.0.5.tar.gz | 6.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.