« Générateur Cone flex pour inkscape » : différence entre les versions

De Kernel Fablab Lannion
mAucun résumé des modifications
(Ajout lien github)
 
(7 versions intermédiaires par le même utilisateur non affichées)
Ligne 14 : Ligne 14 :
Rien... Sauf du bois pour passer à la réalisation concrète. <br>
Rien... Sauf du bois pour passer à la réalisation concrète. <br>
Utilisez du bois assez mince (3 ou 5mm max). J'ai personnellement utilisé du MDF ou du contreplaqué peuplier.
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.
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.<br>


Voir la découpe réalisée. [[Fichier:decoupecone.JPG|vignette]]
 
Voir la découpe réalisée. [[Fichier:decoupecone.JPG|400px]]<br>




== Logiciels ==
== Logiciels ==


Le logiciel est disponible ici :[[:File:conic_box.zip]]
Le logiciel est disponible ici :[[:File:conic_box.zip]]<br>
Il est aussi disponible sur github : https://github.com/thierry7100/ConeFlex<br>
 
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 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 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
Il faut redémarrer inkscape pour que l'extension soit prise en compte, elle arrive dans le menu extensions/Fablab<br>
[[File:FenetreConicBox.png|400px]]<br>
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 ===
Un peu de maths (simples). <br>
Le cône sera caractérisé par le diamètre du cercle le plus petit (d1), le diamètre du grand cercle d2 et la hauteur h <br>
[[File:cone_m1.png|400px]]<br>
Le développé d'un cône est un arc de la zone comprise entre deux cercles de rayon L1 et L2 avec un angle alpha.<br>
[[File:cone_m2.png|400px]]<br>
L2 et L1 sont tels que leur différence correspond à la longueur du coté du cône.
De plus on doit avoir alpha*L1*2*π/360 = π*d1 et  alpha*L2*2*π/360 = π*d2 car la longueur des côtés doit faire la circonférence des cercles.<br>
Cela donne 3 équations permettant de calculer L1, L2 et alpha.<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>
Le programme trace ensuite les deux cercles inférieurs et supérieurs.<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 !


=== Languages ===
=== Languages ===
Ligne 34 : Ligne 56 :
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>
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.
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 ==
== Évolutions possibles ==


On peut améliorer en ajoutant des options, sur le nombre de traits, l'épaisseur des dents.<br>
On peut améliorer en ajoutant des options, sur le nombre de traits, l'épaisseur des dents.<br>
On peut également prévoir un mécanisme pour rapprocher au maximum les deux bords de la zone "flex". <br>
On peut aussi généraliser à une ellipse au niveau du cône<br>
Mais il faut bien laisser un peu de travail à ceux qui reprennent ce projet, s'il y en a !





Version actuelle datée du 26 mars 2019 à 16:09

ConeFlex.JPG

Présentation

J'aime bien les découpes laser de bois sous forme de "flex" pouvant prendre des formes arrondies. On trouve assez facilement des découpes de cylindres, j'utilise personnellment ce site que je trouve très bien : Generating elliptical boxes using a laser cutter.
Par contre, je n'ai pas trouvé de générateur pour es boites en forme de cône, j'ai donc décider d'en fabriquer un.

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.


Voir la découpe réalisée. Decoupecone.JPG


Logiciels

Le logiciel est disponible ici :File:conic_box.zip
Il est aussi disponible sur github : https://github.com/thierry7100/ConeFlex

Il prend la forme d'un plugin inkscape.
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.
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
FenetreConicBox.png
Les paramètres à rentrer sont ceux du cône (voir ci dessous) plus l'épaisseur du bois.
On peut aussi choisir si l'on prend les dimensions internes ou externes du cône.


Architecture

Un peu de maths (simples).
Le cône sera caractérisé par le diamètre du cercle le plus petit (d1), le diamètre du grand cercle d2 et la hauteur h
Cone m1.png
Le développé d'un cône est un arc de la zone comprise entre deux cercles de rayon L1 et L2 avec un angle alpha.
Cone m2.png
L2 et L1 sont tels que leur différence correspond à la longueur du coté du cône. De plus on doit avoir alpha*L1*2*π/360 = π*d1 et alpha*L2*2*π/360 = π*d2 car la longueur des côtés doit faire la circonférence des cercles.
Cela donne 3 équations permettant de calculer L1, L2 et alpha.

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.

Le programme trace ensuite les deux cercles inférieurs et supérieurs.

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 !

Languages

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

On peut améliorer en ajoutant des options, sur le nombre de traits, l'épaisseur des dents.
On peut également prévoir un mécanisme pour rapprocher au maximum les deux bords de la zone "flex".
On peut aussi généraliser à une ellipse au niveau du cône

Mais il faut bien laisser un peu de travail à ceux qui reprennent ce projet, s'il y en a !


Bilbiographie

J'ai déjà cité le site https://www.instructables.com/id/Generating-elliptical-boxes-using-a-laser-cutter-a/