douardda
Ouvrier
Bonjour à tous,
en jouant avec FreeCAD récemment, je me suis demandé comment faire un engrenage avec. Il n'y a pas encore de fonction intégrée pour cela, à part ce script
/usr/lib/freecad/Mod/PartDesign/Scripts/Gear.py qui n'est pas vraiment satisfaisant je trouve.
J'ai un peu cherché et j'ai trouvé un blog d'un gars (que je ne retrouve pas dans l'immédiat) qui propose d'utiliser l'extension intégrée à Inkscape qui génère un engrenage... enfin pas vraiment. Les profils de dent sont constitués de 2 ou 3 segments de droite.
En cherchant un peu plus, je suis tombé sur ce papier (dont je suis surpris qu'il soit aussi récent, je pensais qu'un sujet comme ça aurait été traité depuis des lustres, mais non) qui propose une méthode d'approximation du profil en développante de cercle normal d'un engrenage en courbes de Bézier à l'aide de polynômes de Tchebychev (car la développante a le mauvais goût, pour les logiciels de CAO, d'être transcendante).
J'ai commencé à implémenter la méthode en Python, puis je suis tombé sur cette implémentation de la méthode proposée en javascript. J'ai repris mon code Python pour m'inspirer de ce code JS (car j'avais 2 ou 3 petites choses un peu foireuses dans mon code).
J'ai contacté l'auteur du code JS pour lui demander la permission de redistribuer mon bout de code (qu'il m'a donnée), mais surtout il m'a donné la référence de cette implémentation de la méthode en Python sous forme d'une extension pour Inkscape qui implémente la méthode décrite dans le papier... exactement ce que j'étais en train de faire.
Gear2 dans Inkscape
Bref, au final, en utilisant cette extension, je peux enfin créer de jolis engrenages dans FreeCAD (car FreeCAD sait importer de format de fichier SVG tel que généré par Inkscape).
engrenage dans FreeCAD
Détail du profil de dent
Je vais peut-être essayer d'en faire une extension pour FreeCAD, si je trouve le temps et le courage.
David
en jouant avec FreeCAD récemment, je me suis demandé comment faire un engrenage avec. Il n'y a pas encore de fonction intégrée pour cela, à part ce script
/usr/lib/freecad/Mod/PartDesign/Scripts/Gear.py qui n'est pas vraiment satisfaisant je trouve.
J'ai un peu cherché et j'ai trouvé un blog d'un gars (que je ne retrouve pas dans l'immédiat) qui propose d'utiliser l'extension intégrée à Inkscape qui génère un engrenage... enfin pas vraiment. Les profils de dent sont constitués de 2 ou 3 segments de droite.
En cherchant un peu plus, je suis tombé sur ce papier (dont je suis surpris qu'il soit aussi récent, je pensais qu'un sujet comme ça aurait été traité depuis des lustres, mais non) qui propose une méthode d'approximation du profil en développante de cercle normal d'un engrenage en courbes de Bézier à l'aide de polynômes de Tchebychev (car la développante a le mauvais goût, pour les logiciels de CAO, d'être transcendante).
J'ai commencé à implémenter la méthode en Python, puis je suis tombé sur cette implémentation de la méthode proposée en javascript. J'ai repris mon code Python pour m'inspirer de ce code JS (car j'avais 2 ou 3 petites choses un peu foireuses dans mon code).
J'ai contacté l'auteur du code JS pour lui demander la permission de redistribuer mon bout de code (qu'il m'a donnée), mais surtout il m'a donné la référence de cette implémentation de la méthode en Python sous forme d'une extension pour Inkscape qui implémente la méthode décrite dans le papier... exactement ce que j'étais en train de faire.
Bref, au final, en utilisant cette extension, je peux enfin créer de jolis engrenages dans FreeCAD (car FreeCAD sait importer de format de fichier SVG tel que généré par Inkscape).
Je vais peut-être essayer d'en faire une extension pour FreeCAD, si je trouve le temps et le courage.
David