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

Télécharger le fichier : laser_turtle.py

from 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 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.0.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.0-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: laser_turtle-1.0.0.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.0.tar.gz
Algorithm Hash digest
SHA256 ad1cb1e18a0dd5c499d2c28a38249af6710ca3ccbf7c8f24b5748a94ac4e997c
MD5 1f6258dad624b960240c698040d34b5f
BLAKE2b-256 9b57956135f91b1373ea4df46b7ad024df21a726626813f99bb4d88ecb512981

See more details on using hashes here.

File details

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

File metadata

  • Download URL: laser_turtle-1.0.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9e15ea30661a5908cf3c97b9b370fecb34a220ac01033459100f1e69f9c0d2d8
MD5 df682baf8e2870526ebafed6d83bcdc1
BLAKE2b-256 1000d12f950426c62629d1830620fa6f3d25442a533f3ca2aae3e95820edfdf4

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