boxotron.py V3: réaliser un boîtier avec une cnc et un script en python

Développé initialement par Simon Kirkby et posté sur Thingiverse, le petit programme écrit en python « boxotron » a pour objectif de permettre la génération rapide d’un fichier DXF de découpe laser d’un boîtier, assemblée par tenons et mortaises ou par vis + écrous pris dans la masse, à la manière de boîtier bois d’un Makerbot.

Malheureusement, il est conçu uniquement pour une découpe laser, c’est à dire qu’il ne prévoit la possibilité de découper à l’aide d’une machine d’usinage cnc.

En effet, lors de la découpe d’un trou carré, les bords sont arrondis du diamètre de la fraise… ce qui ne facilite pas l’emboîtement d’un tenon et d’une mortaise usinées par ce biais.

De plus, selon le logiciel utilisé pour reprendre le DXF généré, il peur être intéressant de n’avoir que la découpe, sans les textes et contours générés par le programme.

Nous avons donc fait plusieurs petites adaptations à ce programme pour tendre vers cet objectif :

  • Ajouter une option permettant de préciser le diamètre de fraise utilisée pour la découpe (‘–bit’ )
  • Ajouter une option permettant de générer ou pas les textes dans le fichier de sortie (‘–text). Ceci ajoutera ou pas la couche ‘TEXT’ dans le fchier DXF.
  • Ajouter une option permettant de générer ou pas les contours dans le fichier de sortie (‘–construction’). Ceci ajoutera ou pas la couche ‘CONSTRUCTION’ dans le fchier DXF.
  • Générer dans le fichier de sortie, sur une couche séparée (‘CORNERS’), des trous aux angles des tenons mortaises, de façon à supprimer la matière restante après fraisage.
  • Et enfin, ajouter une option permettant d’agrandir ou pas la largeur des lumières de la taille de la fraise (‘–mill’).

Il est donc possible de générer une boite usinable par cnc de 2 manières, soit en perçant des trous aux coins à partir de la couche ‘CORNERS’, ou d’utiliser l’option –mill pour élargir les lumières (mortaises) afin qu’elles n’entrent pas en collision avec les arrondis au fond des tenons.

Voici donc l’écran d’aide de Boxotron V3, avec les nouvelles options (en gras)

Options
Usage: boxotron.py [options]

Options:
  -h, --help            show this help message and exit
  -l LENGTH, --length=LENGTH
                        Length of box in mm
  -w WIDTH, --width=WIDTH
                        width of box in mm
  -d DEPTH, --depth=DEPTH
                        depth of box in mm
  -t THICKNESS, --thickness=THICKNESS
                        thickness of material in mm
  -c CLEARANCE, --clearance=CLEARANCE
                        clearance between panels of material in mm
  -i INSET, --inset=INSET
                        inset to middle of slot material in mm
  -s SLOT_LENGTH, --slot_length=SLOT_LENGTH
                        length of slot in mm
  -f FILENAME, --file_name=FILENAME
                        file_name
  -j JOIN_EVERY, --join_every=JOIN_EVERY
                        join every x in mm
  --type=TYPE           box type = slot , bolt
  -b BOLT, --bolt_size=BOLT
                        bolt size in mm
  --bolt_length=BOLT_LENGTH
                        bolt length in mm
  --bolt_clearance=BOLT_TAB_CLEARANCE
                        clearance between bolt and tab , multiple of bolt size
  --nut_multiplier=NUT_MULTIPLIER
                        nut size - multiple of bolt size
  --nut_depth=NUT_DEPTH
                        nut depth - multiple of bolt size
  --bit=BIT             Cut bit size in mm, default 1mm
  --mill=MILL           Enlarge slots of bit size (for milling), [no], yes
  --text=TEXT           Include texts layer (yellow), [yes], no
  --construction=CONSTRUCTION
                        Include construction layer (red), [yes], no

Et voici un exemple de fichier de sortie DXF, pour une boite de 50 x 100mm et e hauteur 50mm. Cette sortie a été faite sur LibreCAD (cliquez pour agrandir)

 

En bleu ciel, les trous (couche CORNERS), en jaune les textes (couche TEXT), en rouge le contour (CONSTRUCTION) et en blanc la découpe.

Le code source de la V3 est disponible ici : boxotron.tgz

A voir aussi :

This entry was posted in Fab personnelle. Bookmark the permalink.

Comments are closed.