« Extension inkscape, boite flex forme quelconque » : différence entre les versions

De Kernel Fablab Lannion
(Page créée avec « <!-- Page pouvant servir d'exemple pour la création d'un projet. Pour l'utiliser, copiez-collez le code de celle-ci vers votre page de projet --> Fichier:GenFlex2... »)
 
(→‎Bilbiographie : ajout du git du projet)
 
(7 versions intermédiaires par un autre utilisateur non affichées)
Ligne 8 : Ligne 8 :


J'aime bien les découpes laser de bois sous forme de "flex" pouvant prendre des formes arrondies. Après avoir réalisé des cônes, je suis passé à des boîtes de forme (presque) quelconque. La limitation vient du rayon de courbure qui doit être au moins de 10-15mm sous peine de casser le bois. <br>
J'aime bien les découpes laser de bois sous forme de "flex" pouvant prendre des formes arrondies. Après avoir réalisé des cônes, je suis passé à des boîtes de forme (presque) quelconque. La limitation vient du rayon de courbure qui doit être au moins de 10-15mm sous peine de casser le bois. <br>
Cette extension peut être utilisée pour des cercles, des ellipses ou n'importe quelle forme que vous avez créé. J'ai essayé de faire des lettres mais la police utilisée au départ doit être très grande pour respecter la contrainte des rayons de courbures. Vous ne pourrez pas faire des lettres de moins de 15cm (cela dépend bien sur de la police).<br>


== Matériel ==
== Matériel ==
Ligne 17 : Ligne 19 :
== Logiciels ==
== Logiciels ==


Le logiciel est disponible ici :[[:File:gen_flex_box.zip]]
Le logiciel est disponible ici : [[File:path2flex.zip]]
 
Il prend la forme d'un plugin inkscape. <br>
Il prend la forme d'un plugin inkscape. <br>
Pour l'installer, décompresser le .zip. Il y a 3 fichiers dans l'archive. La partie interface vers inkscape est en deux langues (français/anglais). Choisissez entre conic_box_en.inx ou conic_box_fr.inx. Renommez en conic_box.inx et copiez avec le fichier conic_box.py dans le répertoire d'extensions d'inkscape.<br>
Pour l'installer, décompresser le .zip. Il y a 2 fichiers dans l'archive. La partie interface vers inkscape et le programme python lui-même. Copiez ces deux fichiers dans le répertoire d'extensions d'inkscape.<br>
Pour une utilisation sur votre compte, c'est ~/.config/inkscape/extensions. Si vous souhaitez en disposer quelque soit le compte, utilisez /usr/share/inkscape/extensions.<br>
Pour une utilisation sur votre compte, c'est ~/.config/inkscape/extensions. Si vous souhaitez en disposer quelque soit le compte, utilisez /usr/share/inkscape/extensions.<br>
Il faut redémarrer inkscape pour que l'extension soit prise en compte, elle arrive dans le menu extensions/Fablab<br>
Il faut redémarrer inkscape pour que l'extension soit prise en compte, elle arrive dans le menu extensions/Fablab<br>
[[File:FenetreFlexBox.png|400px]]<br>
Voir ci dessous pour le mode d'emploi.
Les paramètres à rentrer sont ceux du cône (voir ci dessous) plus l'épaisseur du bois.<br>
On peut aussi choisir si l'on prend les dimensions internes ou externes du cône.<br>
 
 


=== Architecture ===
=== Architecture ===
Ligne 35 : Ligne 34 :


Dans le menu extensions/FabLab, cherchez Path2Flex<br>
Dans le menu extensions/FabLab, cherchez Path2Flex<br>
[[File:Path2Flex.png|400px]]<br>
[[File:Path2Flex2.png|400px]]<br>


Les paramètres à fournir :<br>
Les paramètres à fournir :<br>
Ligne 41 : Ligne 40 :
# Structure height : la hauteur de la boite finie, c'est donc la hauteur du "flex" qui sera créé.
# Structure height : la hauteur de la boite finie, c'est donc la hauteur du "flex" qui sera créé.
# Interval between notches : chaque "dent" au niveau du flex fait 2 mm (environ) de large. L'intervalle entre les dents est à donner ici. Par défaut il est de 2mm, donnant un crénelage régulier. Il peut être plus simple de faire des boites avec un intervalle plus grand (j'utilise souvent 6) ce qui fait moins de dents à accrocher ! C'est en particulier le cas quand la forme possède des courbes prononcées.<br>
# Interval between notches : chaque "dent" au niveau du flex fait 2 mm (environ) de large. L'intervalle entre les dents est à donner ici. Par défaut il est de 2mm, donnant un crénelage régulier. Il peut être plus simple de faire des boites avec un intervalle plus grand (j'utilise souvent 6) ce qui fait moins de dents à accrocher ! C'est en particulier le cas quand la forme possède des courbes prononcées.<br>
# Limit length of flex band : Si vous créez des structures assez grandes la taille de la bande de flex (périmètre de votre structure) peut dépasser la taille acceptable par la découpeuse laser. Dans ce cas, mettez ce paramètre à la taille maximale acceptable et le logiciel va automatiquement couper la bande de flex en plusieurs morceaux, chacun étant plus petit que la taille donnée. Chaque morceau débute et finit par des dents d'une demi-taille pour les accrocher ensemble dans le même emplacement.
   
   
Le logiciel calcule à partir de a forme sélectionnée un polygone se rapprochant de cette forme. La partie logicielle qui transforme un chemin inkscape (utilisant des courbes de Bezier) en polygone est récupérée de l'extension Paths2OpenSCAD qui transforme un chemin de forme pouvant être extrudée sous OpenSCAD. Un grand merci à l'auteur.   
Le logiciel calcule à partir de a forme sélectionnée un polygone se rapprochant de cette forme. La partie logicielle qui transforme un chemin inkscape (utilisant des courbes de Bezier) en polygone est récupérée de l'extension Paths2OpenSCAD qui transforme un chemin de forme pouvant être extrudée sous OpenSCAD. Un grand merci à l'auteur.  [https://www.thingiverse.com/thing:25036 Path2OpenSCAD]<br>
Le logiciel calcule ensuite les traits à tracer dans cette zone. Le motif se répétant est une dent et un creux de 2 mm chacun (du petit coté L1), au niveau de L2 c'est forcément plus grand en rapport L2/L1. Pour rendre le bois flexible 4 traits sont tirés par motif, soit un trait tous les mm. Cela donne un excellente souplesse au bois. <br>
 
A partir de ce polygone, le logiciel calcule une forme crénelée (avec les dents)... Les crénelages sont aussi régulièrement que possible répartis le long de la courbe. Les dents sont à cheval sur la forme initiale, pour une épaisseur de 3mm, il y a donc 1.5mm de chaque côté.<br>
 
Puis la partie Flex est générée avec les dents qui correspondent (si tout fonctionne bien !) à la partie crénelée. Le logiciel ne crée pas de structure flex quand il n'y en a pas besoin, c'est à dire quand les bords ne sont pas courbes. Cela fait gagner énormément de temps à la découpe laser. Mais par contre il vous faudra démarrer l'assemblage à un endroit précis, marqué par un trait rouge sur le dessin. Enroulez ensuite de flex dans le sens des aiguilles d'une montre à partir de ce point.<br>
La première et la dernière dent sur le flex sont plus petites (1mm), l'idée est de les positionner toutes les deux dans une même encoche des faces dessus/dessous.<br>
 


Le programme trace ensuite les deux cercles inférieurs et supérieurs.<br>
Pour créer une boîte réelle, vous devrez dupliquer la partie crénelée (Ctrl+D pour ceux qui ne maîtrisent pas complètement inkscape). Personnellement, j'inverse ensuite une des deux faces pour voir toujours le plus "beau" côté du bois.<br>
Voici ce que donne l'exemple précédent :<br>
[[File:Path2Flex3.png|400px]]<br>


Pour le moment, ce programme ne peut pas tracer des cylindres (d1 = d2) dans ce cas on obtiendrait une division par 0. Mais on peut avoir d2 = d1+0.02 mm, ce qui donne une cône se rapprochant diablement d'n cylindre !
Le logiciel est capable de gérer des courbes non fermées, dans ce cas la première et la dernière encoche sont plus petites pour coller avec la forme flex générée.<br>
Pour ces cas particuliers, il pourra être utile d'enlever les traits de coupe du bord du flex pour intégrer la structure à un dessin plus vaste. Chaque pas de flex est un chemin inkscape, vous pouvez sélectionner ce chemin (après avoir dégroupé l'ensemble) et vous servir de l'outil nœud pour détruire le bord à enlever.


=== Languages ===
=== Langages ===


Comme il s'agit d'une extension inkscape, c'est du python...<br>
Comme il s'agit d'une extension inkscape, c'est du python...<br>
Ligne 61 : Ligne 69 :
== Bilbiographie ==
== Bilbiographie ==


J'ai déjà cité le site https://www.instructables.com/id/Generating-elliptical-boxes-using-a-laser-cutter-a/
J'ai déjà cité dans un autre projet le site https://www.instructables.com/id/Generating-elliptical-boxes-using-a-laser-cutter-a/ qui m'a donné la forme générale des découpes du flex et le projet Path2OpenSCAD cité plus haut
 
[https://github.com/thierry7100/Path2flex Path2flex] : Le git du projet


<!--
<!--
   Enfin, vous listez les catégories auquels le projet appartient
   Enfin, vous listez les catégories auxquels le projet appartient
   Il y a au moins la catégorie Projet
   Il y a au moins la catégorie Projet
-->
-->


[[Category:Projet]]
[[Category:Projet]]

Version actuelle datée du 19 mars 2019 à 19:58

GenFlex2.JPG

Présentation

J'aime bien les découpes laser de bois sous forme de "flex" pouvant prendre des formes arrondies. Après avoir réalisé des cônes, je suis passé à des boîtes de forme (presque) quelconque. La limitation vient du rayon de courbure qui doit être au moins de 10-15mm sous peine de casser le bois.
Cette extension peut être utilisée pour des cercles, des ellipses ou n'importe quelle forme que vous avez créé. J'ai essayé de faire des lettres mais la police utilisée au départ doit être très grande pour respecter la contrainte des rayons de courbures. Vous ne pourrez pas faire des lettres de moins de 15cm (cela dépend bien sur de la police).


Matériel

Rien... Sauf du bois pour passer à la réalisation concrète.
Utilisez du bois assez mince (3 ou 5mm max). J'ai personnellement utilisé du MDF ou du contreplaqué peuplier. Un conseil : avec la découpeuse laser du FabLab, n'utilisez PAS la fonction "cut optimize" de RDWorks. En effet cela fait tracer les lignes de manière non continue et cela provoque des décalages sévères à la longue. Les traits sont créés dans l'ordre logique ou presque.

Logiciels

Le logiciel est disponible ici : Fichier:Path2flex.zip

Il prend la forme d'un plugin inkscape.
Pour l'installer, décompresser le .zip. Il y a 2 fichiers dans l'archive. La partie interface vers inkscape et le programme python lui-même. Copiez ces deux fichiers dans le répertoire d'extensions d'inkscape.
Pour une utilisation sur votre compte, c'est ~/.config/inkscape/extensions. Si vous souhaitez en disposer quelque soit le compte, utilisez /usr/share/inkscape/extensions.
Il faut redémarrer inkscape pour que l'extension soit prise en compte, elle arrive dans le menu extensions/Fablab
Voir ci dessous pour le mode d'emploi.

Architecture

A partir d'un chemin (ou d'un objet simple, mais PAS de texte ou d'image), sélectionner l'objet.

InkscapeFlex1.png

Dans le menu extensions/FabLab, cherchez Path2Flex
Path2Flex2.png

Les paramètres à fournir :

  1. Material thickness : Epaisseur du bois, 3mm par défaut. N'utiliser qu'avec du bois fin !
  2. Structure height : la hauteur de la boite finie, c'est donc la hauteur du "flex" qui sera créé.
  3. Interval between notches : chaque "dent" au niveau du flex fait 2 mm (environ) de large. L'intervalle entre les dents est à donner ici. Par défaut il est de 2mm, donnant un crénelage régulier. Il peut être plus simple de faire des boites avec un intervalle plus grand (j'utilise souvent 6) ce qui fait moins de dents à accrocher ! C'est en particulier le cas quand la forme possède des courbes prononcées.
  4. Limit length of flex band : Si vous créez des structures assez grandes la taille de la bande de flex (périmètre de votre structure) peut dépasser la taille acceptable par la découpeuse laser. Dans ce cas, mettez ce paramètre à la taille maximale acceptable et le logiciel va automatiquement couper la bande de flex en plusieurs morceaux, chacun étant plus petit que la taille donnée. Chaque morceau débute et finit par des dents d'une demi-taille pour les accrocher ensemble dans le même emplacement.

Le logiciel calcule à partir de a forme sélectionnée un polygone se rapprochant de cette forme. La partie logicielle qui transforme un chemin inkscape (utilisant des courbes de Bezier) en polygone est récupérée de l'extension Paths2OpenSCAD qui transforme un chemin de forme pouvant être extrudée sous OpenSCAD. Un grand merci à l'auteur. Path2OpenSCAD

A partir de ce polygone, le logiciel calcule une forme crénelée (avec les dents)... Les crénelages sont aussi régulièrement que possible répartis le long de la courbe. Les dents sont à cheval sur la forme initiale, pour une épaisseur de 3mm, il y a donc 1.5mm de chaque côté.

Puis la partie Flex est générée avec les dents qui correspondent (si tout fonctionne bien !) à la partie crénelée. Le logiciel ne crée pas de structure flex quand il n'y en a pas besoin, c'est à dire quand les bords ne sont pas courbes. Cela fait gagner énormément de temps à la découpe laser. Mais par contre il vous faudra démarrer l'assemblage à un endroit précis, marqué par un trait rouge sur le dessin. Enroulez ensuite de flex dans le sens des aiguilles d'une montre à partir de ce point.
La première et la dernière dent sur le flex sont plus petites (1mm), l'idée est de les positionner toutes les deux dans une même encoche des faces dessus/dessous.


Pour créer une boîte réelle, vous devrez dupliquer la partie crénelée (Ctrl+D pour ceux qui ne maîtrisent pas complètement inkscape). Personnellement, j'inverse ensuite une des deux faces pour voir toujours le plus "beau" côté du bois.
Voici ce que donne l'exemple précédent :
Path2Flex3.png

Le logiciel est capable de gérer des courbes non fermées, dans ce cas la première et la dernière encoche sont plus petites pour coller avec la forme flex générée.
Pour ces cas particuliers, il pourra être utile d'enlever les traits de coupe du bord du flex pour intégrer la structure à un dessin plus vaste. Chaque pas de flex est un chemin inkscape, vous pouvez sélectionner ce chemin (après avoir dégroupé l'ensemble) et vous servir de l'outil nœud pour détruire le bord à enlever.

Langages

Comme il s'agit d'une extension inkscape, c'est du python...
En fait je viens de suivre un Mooc sur python, j'évolue vers des langages plus évolués. J'ai mis mon cours à profit pour réaliser ce projet.

Évolutions possibles

A vous de me dire, ou à faire vous même... Dans ce cas, n'oubliez pas de republier !

Bilbiographie

J'ai déjà cité dans un autre projet le site https://www.instructables.com/id/Generating-elliptical-boxes-using-a-laser-cutter-a/ qui m'a donné la forme générale des découpes du flex et le projet Path2OpenSCAD cité plus haut

Path2flex : Le git du projet