Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
issue125:freecad [2017/10/05 07:17] – d52fr | issue125:freecad [2017/10/06 10:46] (Version actuelle) – auntiee |
---|
In today’s part of this series, we will extend FreeCAD’s possibilities using a little Python programming to create a helicoidal surface in the shape of a mechanical gear wheel.** | In today’s part of this series, we will extend FreeCAD’s possibilities using a little Python programming to create a helicoidal surface in the shape of a mechanical gear wheel.** |
| |
Dans cette série, nous examinerons le monde de FreeCAD, une application Open Source de modélisation par CAO qui est encore en bêta, mais qui a reçu un bon accueil ces dernières années. Naturellement, elle est facilement disponible dans les dépôts d'Ubuntu. Dans la cinquième article sur l'utilisation de FreeCAD, nous avons travaillé sur un projet architectural de deux façons différentes. D'abord, nous avons utilisé l'atelier Arch pour créer un projet architectural moderne, dans lequel des informations complémentaires sont fournies à l'ordinateur, de telle sorte que FreeCAD est utilisé pour créer un Modèle Intégré de Construction (BIM - Building Integrated Model). Comme cette approche est dans un état de développement commençant, et qu'il est limité à des formes simples, nous avons ensuite utilisé une approche plus traditionnelle pour créer des volumes de la même manière que pour les projets précédents, mais à un échelle plus grande. La technique du balayage nous a permis de créer un élément avec la forme d'une arche en balayant une esquisse (un profil) le long d'une autre esquisse (le trait formant une arche). | Dans cette série, nous examinerons le monde de FreeCAD, une application Open Source de modélisation par CAO qui est encore en bêta, mais qui a reçu un bon accueil ces dernières années. Naturellement, elle est facilement disponible dans les dépôts d'Ubuntu. Dans le cinquième article sur l'utilisation de FreeCAD, nous avons travaillé sur un projet architectural de deux façons différentes. D'abord, nous avons utilisé l'atelier Arch pour créer un projet architectural moderne, dans lequel des informations complémentaires sont fournies à l'ordinateur, de telle sorte que FreeCAD est utilisé pour créer un Modèle intégré de construction (BIM - Building Integrated Model). Comme cette approche n'en est qu'au début de son développement, et qu'elle est limitée à des formes simples, nous avons ensuite utilisé une approche plus traditionnelle pour créer des volumes de la même manière que pour les projets précédents, mais à une échelle plus grande. La technique du balayage nous a permis de créer un élément avec la forme d'une arche en balayant une esquisse (un profil) le long d'une autre esquisse (le trait formant une arche). |
| |
Dans cette nouvelle partie de cette série, nous allons étendre les possibilités de FreeCAD en utilisant un peu de programmation en Python, pour créer une surface hélicoïdale sous la forme d'un roue dentée. | Dans la nouvelle partie de cette série, nous allons étendre les possibilités de FreeCAD en utilisant un peu de programmation en Python, pour créer une surface hélicoïdale sous la forme d'une roue dentée. |
| |
**Programming FreeCAD? And why Python? | **Programming FreeCAD? And why Python? |
Programmer dans FreeCAD ? Et pourquoi Python ? | Programmer dans FreeCAD ? Et pourquoi Python ? |
| |
Comme le savent de nombreux lecteurs, le monde de l'implémentation des langages de programmation est divisé en deux catégories principales. Il y a des langage de programmation comme C ou Fortran dont le code source a besoin d'être compilé (dans le langage machine de l'ordinateur) pour être exécuté. Il y a aussi les langages interprétés qui n'ont pas besoin d'être compilés (ou « traduits », pour vous donner une image mentale de ce qui se passe en utilisant un compilateur), mais peuvent être directement interprétés par un programme spécial sur l'ordinateur de l'utilisateur, appelé interpréteur. C'est le cas de nombreux langages de programmation très utilisés de nos jours, tels que PHP sur les serveurs et Python sur les ordinateurs des utilisateurs. En aparté, le langage Java tend se rapprocher largement de la catégorie précédente des interprétés (avec certaines restrictions) tandis que le Javascript, au nom très proche, est vraiment d'un genre différent et il est utilisé par interprétation dans les navigateurs Web. | Comme le savent de nombreux lecteurs, le monde de l'implémentation des langages de programmation est divisé en deux catégories principales. Il y a des langages de programmation comme C ou Fortran dont le code source a besoin d'être compilé (dans le langage machine de l'ordinateur) pour être exécuté. Il y a aussi les langages interprétés qui n'ont pas besoin d'être compilés (ou « traduits », pour vous donner une image mentale de ce qui se passe en utilisant un compilateur), mais peuvent être directement interprétés par un programme spécial sur l'ordinateur de l'utilisateur, appelé interpréteur. C'est le cas de nombreux langages de programmation très utilisés de nos jours, tels que PHP sur les serveurs et Python sur les ordinateurs des utilisateurs. En aparté, le langage Java tend à se rapprocher largement de la catégorie précédente des interprétés (avec certaines restrictions) tandis que le Javascript, au nom très proche, est vraiment d'un genre différent ; il est principalement utilisé par interprétation dans les navigateurs Web. |
| |
FreeCAD a été construit en Python, donc en langage interprété. C'est vraiment pratique pour plusieurs raisons. D'abord, cela facilite le transport de l'application vers d'autres architectures d'ordinateurs et de systèmes d'exploitation, pour autant que Python soit disponible dans la plateforme désirée - et Python est vraiment répandu, bien sûr. En deuxième lieu, nous pouvons ouvrir une vue en console des travaux internes de FreeCAD en choisissant simplement l'option de menu Affichage > Vues > Console Python. Chaque action que nous réalisons dans l'interface utilisateur est directement convertie en Python et commande la logique centrale du programme - et nous pouvons le voir en temps réel dans cette console. Si, par exemple, je crée un nouveau projet, passe dans l'atelier Draft et dessine une ligne, voyez ci-dessous ce qui se passe réellement. | FreeCAD est construit en Python, donc en langage interprété. C'est vraiment pratique pour plusieurs raisons. D'abord, cela facilite le transport de l'application vers d'autres architectures d'ordinateurs et systèmes d'exploitation, pour autant que Python soit disponible sur la plateforme désirée - et Python est vraiment répandu. En deuxième lieu, nous pouvons ouvrir une vue en console des travaux internes de FreeCAD en choisissant simplement l'option de menu Affichage > Vues > Console Python. Chaque action que nous réalisons dans l'interface utilisateur est directement convertie en Python et commande la logique centrale du programme - et nous pouvons le voir en temps réel dans cette console. Si, par exemple, je crée un nouveau projet, passe dans l'atelier Draft et dessine une ligne, voyez ci-dessous ce qui se passe réellement. |
| |
**This is quite neat, since one can learn about the different commands used in an interactive way. Naturally, once one has a grasp of the fundamentals, they can be used to write one’s own scripts, and have them executed by FreeCAD. | **This is quite neat, since one can learn about the different commands used in an interactive way. Naturally, once one has a grasp of the fundamentals, they can be used to write one’s own scripts, and have them executed by FreeCAD. |
We will see FreeCAD start up and execute our script line-by-line, giving the final result shown below.** | We will see FreeCAD start up and execute our script line-by-line, giving the final result shown below.** |
| |
C'est plutôt chouette, car on peut apprendre de manière interactive les différentes commandes utilisées. Naturellement, une fois acquis un ensemble de fondamentaux, ils peuvent être utilisés pour écrire ses propres scripts et les faire exécuter par FreeCAD. | C'est très chouette, car on peut apprendre de manière interactive les différentes commandes utilisées. Naturellement, une fois acquis un ensemble de fondamentaux, ils peuvent être utilisés pour écrire ses propres scripts et les faire exécuter par FreeCAD. |
| |
Pour prendre un exemple, écrivons un script simple en Python qui créera la forme d'une simple boîte. Créez un fichier nommé « test1.py » et copiez le code présenté en haut à droite. | Pour prendre un exemple, écrivons un script simple en Python qui créera la forme d'une simple boîte. Créez un fichier nommé « test1.py » et copiez-y le code présenté en haut à droite. |
| |
La bibliothèque Part contient les outils de l'atelier Part. Nous conmmençons par créer un nouveau projet, appelé « Box Model » (Modèle de boîte). Nous en faisons le document actif (la fenêtre active) et nous ajoutons un nouvel objet basé sur le protoptype « Part::Box », en le nommant « box1 ». Nous fixons ses dimensions et lançons un recalcul. Nous disons ensuite à l'interface utilisateur (« Gui ») d'agrandir la vue pour l'adapter à l'objet et de sélectionner la vue axionométrique (3D). | La bibliothèque Part contient les outils de l'atelier Part. Nous conmmençons par créer un nouveau projet, appelé « Box Model » (Modèle de boîte). Nous en faisons le document actif (la fenêtre active) et nous ajoutons un nouvel objet basé sur le protoptype « Part::Box », en le nommant « box1 ». Nous fixons ses dimensions et lançons un recalcul. Nous disons ensuite à l'interface utilisateur (« Gui ») d'agrandir la vue pour l'adapter à l'objet et de sélectionner la vue axionométrique (3D). |
| |
Pour exécuter notre script, passons sur une fenêtre de terminal dasn le même répertoire que celui de « test1.py » et lançons la commande : | Pour exécuter notre script, passons sur une fenêtre de terminal dans le même répertoire que celui de « test1.py » et lançons la commande : |
| |
freecad test1.py | freecad test1.py |
As a final note, the finished project can be saved directly from our script, by calling the doc.saveAs procedure. When executed from the terminal, shown below is the result of our script.** | As a final note, the finished project can be saved directly from our script, by calling the doc.saveAs procedure. When executed from the terminal, shown below is the result of our script.** |
| |
Comme second exemple, construisons quelque chose de légèrement plus complexe : la forme d'une boîte de conserve qui consiste en une forme plate (deux arcs rattachés par des segments droits) qui sera ensuite extrudé pour former un volume. En bas à droite, voici le script, dans le fichier « test2.py ». | Comme second exemple, construisons quelque chose de légèrement plus complexe : la forme d'une boîte de conserve qui consiste en une forme plate (deux arcs rattachés par des segments droits) qui sera ensuite extrudée pour former un volume. En bas à droite, voici le script, dans le fichier « test2.py ». |
| |
Expliquons ce qui diffère de l'exemple précédent. De ce cas, nous commençons notre nouvel objet en créant quatre vecteurs V1 à V4, qui indiquent les positions des points de connexion entre les arcs et les lignes droites. Nous créons ensuite les segments droits, L1 et L2 , et , enfin, les arcs C1 et C2. Nous avons ensuite besoin de convertir ces quatre éléments en objets Edge, E1 à E4, qui sont ensuite connectés en un objet Wire W. C'est le tracé du haut de la boîte de conserve. Merci de vous assurer que les lignes et les arcs sont correctement définis, sinon des erreurs de connectivité peuvent apparaître. Enfin, le Wire est converti en objet bidimensionnel Face, F, qui est ensuite extrudé dans la forme P. Un volume générique est dérivé de « Part::Feature » et P est attribué à sa forme. | Expliquons ce qui diffère de l'exemple précédent. Dans ce cas, nous commençons notre nouvel objet en créant quatre vecteurs V1 à V4, qui indiquent la position des points de connexion entre les arcs et les lignes droites. Nous créons ensuite les segments droits, L1 et L2 , et, enfin, les arcs C1 et C2. Nous devons ensuite convertir ces quatre éléments en objets Edge, E1 à E4, qui sont alors connectés en un objet Wire W. C'est le tracé du haut de la boîte de conserve. Assurez-vous bien, s'il vous plaît, que les lignes et les arcs sont définis dans l'ordre exacte, sinon des erreurs de connectivité peuvent apparaître. Enfin, le Wire est converti en un objet bidimensionnel Face, F, qui est ensuite extrudé dans la forme P. Un volume générique est dérivé de « Part::Feature » et P est attribué à sa forme. |
| |
En touche finale, l'objet fini peut être sauvegardé directement dans le script en appelant la procédure doc.saveAs. À l'exécution dans un terminal, le résultat de notre script est présenté ci-dessous. | En touche finale, l'objet fini peut être sauvegardé directement dans le script en appelant la procédure doc.saveAs. À l'exécution dans un terminal, le résultat de notre script est présenté ci-dessous. |
Dessinons quelques engrenages | Dessinons quelques engrenages |
| |
L'utilisation d'un script peut devenir utile quand nous avons besoin d'une forme qui contient de nombreux éléments similaires mais différents et calculables. Dans de tels cas, l'écriture d'un programme pour itérer nos formes peut être un vrai gain de temps. Un cas typique est lors de la création d'une roue dentée. une tel roue peut être vue comme comme la combinaison d'une forme extérieure formée d'un certain nombre de dents ou pignons et d'une forme intérieure qui délimite l'axe. Ceci peut être lisse ou cannelé de sorte que l'axe peut transmettre le couple vers et depuis la roue. Les formes intérieures et extérieures de la roue sont toutes les deux formées d'un motif de base qui est répété avec un décalage fixe entre chaque dent. | L'utilisation d'un script peut devenir utile quand nous avons besoin d'une forme qui contient de nombreux éléments similaires, mais différents et calculables. Dans de tels cas, l'écriture d'un programme pour itérer nos formes peut être un vrai gain de temps. Un cas typique est lors de la création d'une roue dentée. Une telle roue peut être vue comme la combinaison d'une forme extérieure faite d'un certain nombre de dents ou pignons et d'une forme intérieure qui délimite l'axe. Celle-ci peut être lisse ou cannelé de sorte que l'axe peut transmettre le couple vers et depuis la roue. Les formes intérieures et extérieures de la roue sont toutes les deux faites d'un motif de base qui est répété avec un décalage fixe entre chaque dent. |
| |
Concentrons-nous sur la forme extérieure, légèrement plus complexe que les cannelures internes. Individuellement, chaque dent est centrée à un certain rayon du centre de la roue, ou surface d'appui. Dans notre cas, nous spécifions un rayon de 100 mm. En simplifiant quelque peu, c'est le point où les autres engrenages connectés à celui-ci vont transmettre leur force. Dans notre schéma, les points 3 et 6 sont sur cette surface. En allant vers l'extérieur, les dents s'étirent jusqu'à un e limite extérieure, le plat sommital. Les points 4 et 5 sont sur ceux rayon, dans notre cas, fixé à 110 mm. Enfin, nous avons besoin de dégager de la place vers l'intérieur pour laisser passer les dents de l'autre roue. aussi, nous allons vers l'intérieur jusqu'au fond plat, à un rayon de 90 mm dans notre cas, et obtenons les points 1 et 2. Nous répéterons cette forme de base sur les 16 dents de notre roue. | Concentrons-nous sur la forme extérieure, légèrement plus complexe que les cannelures internes. Individuellement, chaque dent est centrée à un certain rayon du centre de la roue, ou surface d'appui. Dans notre cas, nous spécifions un rayon de 100 mm. En simplifiant quelque peu, c'est le point où les autres engrenages connectés à celui-ci vont transmettre leur force. Dans notre schéma, les points 3 et 6 sont sur cette surface. En allant vers l'extérieur, les dents s'étirent jusqu'à une limite extérieure, le plat sommital. Les points 4 et 5 sont sur ce rayon, fixé à 110 mm dans notre cas. Enfin, nous avons besoin de dégager de la place vers l'intérieur pour laisser passer les dents de l'autre roue. Aussi, nous allons vers l'intérieur jusqu'au fond plat, à un rayon de 90 mm dans notre cas, et obtenons les points 1 et 2. Nous répéterons cette forme de base sur les 16 dents de notre roue. |
| |
**Our script (right) will simply draw a series of lines from vertices 1 through 6 of each cog, and then on to vertex 1 of the next cog. Since Python has a mathematical library “math”, sine and cosine functions can be used to calculate a pair of X and Y-axis coordinates for each vertex. The script itself is quite straightforward. As a note, in our example we are using only straight segments. However, in a real gear wheel, the bottom and top flats, and the contact faces, would more usually be drawn with arcs. | **Our script (right) will simply draw a series of lines from vertices 1 through 6 of each cog, and then on to vertex 1 of the next cog. Since Python has a mathematical library “math”, sine and cosine functions can be used to calculate a pair of X and Y-axis coordinates for each vertex. The script itself is quite straightforward. As a note, in our example we are using only straight segments. However, in a real gear wheel, the bottom and top flats, and the contact faces, would more usually be drawn with arcs. |
However, straight teeth do have the disadvantage of creating quite a bit of noise during operation, since, during each rotation, each tooth engages immediately with the other gear wheel’s corresponding tooth along the complete width of the tooth. This produces the typical whining noise that can be heard from some mechanical setups. In most modern applications where smoothness of operation and low noise emissions are valued, such as vehicle gear boxes, helicoidal gears can be preferred.** | However, straight teeth do have the disadvantage of creating quite a bit of noise during operation, since, during each rotation, each tooth engages immediately with the other gear wheel’s corresponding tooth along the complete width of the tooth. This produces the typical whining noise that can be heard from some mechanical setups. In most modern applications where smoothness of operation and low noise emissions are valued, such as vehicle gear boxes, helicoidal gears can be preferred.** |
| |
Notre script (à droite) dessinera simplement une série de lignes des sommets 1 à 6 puis vers le sommet 1 de la dent suivante. Comme python a une bibliothèque mathématique « math », les fonctions sinus et cosinus peuvent être utilisées pour calculer une paire de coordonnées X-Y pour chaque sommet. Le script lui-même est vraiment fluide. À noter, dans notre exemple, nous utilisons seulement des segments droits. Cependant, dans un engrenage réel, les surfaces de fond et sommitale et les surfaces de contact seraient le plus souvent dessinées avec des arcs. | Notre script (à droite) dessinera simplement une série de lignes des sommets 1 à 6 puis vers le sommet 1 de la dent suivante. Comme Python a une bibliothèque mathématique « math », les fonctions sinus et cosinus peuvent être utilisées pour calculer une paire de coordonnées X-Y pour chaque sommet. Le script lui-même est vraiment simple. À noter : dans notre exemple, nous utilisons seulement des segments droits. Cependant, dans un engrenage réel, les surfaces de fond et sommitale et les surfaces de contact seraient le plus souvent dessinées avec des arcs. |
| |
Une fois que nous avons la forme du pignon dans FreeCAD, nous poursuivons en l'utilisant « à la main » dans l'interface utilisateur habituel, comme base d'une extrusion ou d'un autre opération que nous souhaiterions. Avec un script similaire pour dessiner la forme centrale crénelée des cannelures, nous pouvons extruder en même temps la forme extérieure de la roue dentée et le volume intérieur de l'axe, puis utiliser une opération booléenne pour extraire l'une de l'autre. Nous pouvons ainsi obtenir la forme traditionnelle d'un engrenage droit que nous trouverions dans de nombreuses applications traditionnelles telle qu'une boîte de transfert d'un véhicule 4x4. | Une fois que nous avons la forme du pignon dans FreeCAD, nous poursuivons en l'utilisant « à la main » dans l'interface utilisateur habituelle, comme base d'une extrusion ou d'une autre opération que nous souhaiterions. Avec un script similaire pour dessiner la forme centrale crénelée des cannelures, nous pouvons extruder en même temps le volume extérieure de la roue dentée et le volume intérieur de l'axe, puis utiliser une opération booléenne pour extraire l'une de l'autre. Nous pouvons ainsi obtenir la forme traditionnelle d'un engrenage droit que nous trouverions dans de nombreuses applications classiques telles qu'une boîte de transfert d'un véhicule 4x4. |
| |
Cependant, les dents droites ont le désavantage de de créer pas mal de bruit à l'utilisation, car, lors de chaque rotation, chaque dent engage immédiatement la dent correspondante de l'autre roue dentée sur toute la largeur de la dent. Ceci produit le bruit typique de gémissement que nous pouvons entendre sur certains montages mécaniques. Dans des applications plus modernes où la douceur de fonctionnement et les faibles émissions sonores sont appréciées, comme dans les boîtes de vitesse de véhicules, les engrenages hélicoïdaux peuvent être préférés. | Cependant, les dents droites ont le désavantage de créer pas mal de bruit à l'utilisation, car, lors de chaque rotation, chaque dent engage immédiatement la dent correspondante de l'autre roue dentée sur toute la largeur de la dent. Ceci produit le bruit typique de gémissement que nous pouvons entendre sur certains montages mécaniques. Dans des applications plus modernes où la douceur de fonctionnement et les faibles émissions sonores sont appréciées, comme dans les boîtes de vitesse de véhicules, les engrenages hélicoïdaux peuvent être préférés. |
| |
**To draw such a gear wheel, the same tooth pattern can be used, but swept along a helicoidal path instead of using the simple linear extrusion tool. | **To draw such a gear wheel, the same tooth pattern can be used, but swept along a helicoidal path instead of using the simple linear extrusion tool. |
Once the helicoidal line is drawn, it can be used as a path along which to sweep the cog’s external face, using the same tools as when creating a Gothic arch in the previous part of this series. The internal surface will be created using a linear extrusion as before, since even a helicoidal gear wheel’s internal splines tend to be straight so as to facilitate assembly of the wheel on its supporting axle. The resulting wheel is actually a fair approximation of an actual gear. Some aspects would be made better, though, such as bevelling external edges to make them less aggressive, or cutting out part of the gear wheel’s material to make it lighter and use less material in fabrication. These operations can also be done in FreeCAD, and are left as an exercise to the reader (hint: use a revolution surface to create cutouts for each face).** | Once the helicoidal line is drawn, it can be used as a path along which to sweep the cog’s external face, using the same tools as when creating a Gothic arch in the previous part of this series. The internal surface will be created using a linear extrusion as before, since even a helicoidal gear wheel’s internal splines tend to be straight so as to facilitate assembly of the wheel on its supporting axle. The resulting wheel is actually a fair approximation of an actual gear. Some aspects would be made better, though, such as bevelling external edges to make them less aggressive, or cutting out part of the gear wheel’s material to make it lighter and use less material in fabrication. These operations can also be done in FreeCAD, and are left as an exercise to the reader (hint: use a revolution surface to create cutouts for each face).** |
| |
Pour dessiner un tel engrenage, le même motif de dent eut être utilisé, mais il est balayé le long d'un chemin hélicoïdal plutôt qu'avec un simple outil d'extrusion linéaire. | Pour dessiner un tel engrenage, le même motif de dent peut être utilisé, mais il est balayé le long d'un chemin hélicoïdal plutôt qu'avec un simple outil d'extrusion linéaire. |
| |
Commencez, dans l'atelier Part, par sélectionner l'option de menu Pièce > créer des primitives. Là, vous pouvez sélectionner la forme Hélice. Comme je souhaite créer une engrenage de 50 mm d'épaisseur, avec des dents penchées à environ 1:20 sur l'épaisseur de la dent, je choisis une hauteur d'hélice de 50 mm, mais un axe de tangage de 1000 mm entre les spires de l'hélice. Le rayon extérieur de l'hélice devrait correspondre à celui du point où elle sera créée. Des hélice à pas droit ou gauche peuvent être utilisées, suivant le besoin. | Commencez, dans l'atelier Part, par sélectionner l'option de menu Pièce > Créer des primitives. Là, vous pouvez sélectionner la forme Hélice. Comme je souhaite créer une engrenage de 50 mm d'épaisseur, avec des dents penchées à environ 1:20 sur l'épaisseur de la roue, je choisis une hauteur d'hélice de 50 mm, mais un axe de tangage de 1000 mm entre les spires de l'hélice. Le rayon extérieur de l'hélice devrait correspondre à celui du point où elle sera créée. Des hélices à pas droit ou gauche peuvent être utilisées, suivant le besoin. |
| |
Une fois que la ligne hélicoïdale a été tracée, elle peut être utilisée comme chemin le long duquel la face extérieure du pignon peut être balayée, en utilisant les mêmes outils que lors de la création de l'arche gothique dans la partie précédente de la série. La surface intérieure sera créée en utilisant une extrusion linéaire comme précédemment, car les les cannelures intérieures d'un engrenage hélicoïdal restent droites pour faciliter l'assemblage de la roue sur l'axe support. La roue résultante est en fait une approximation d'une vraie roue dentée. Cependant, certains aspects pour être mieux rendus, tels que les bords extérieurs biseautés pour les rendre moins agressifs ou l'enlèvement d'un partie de la matière de la roue pour l'alléger et utiliser moins de matière pour la fabriquer. Ces opérations peuvent être faites dans FreeCAD et sont laissées au lecteur comme exercice (indice : utiliser une surface de révolution pour créer les évidements sur chaque face). | Une fois la ligne hélicoïdale tracée, elle peut être utilisée comme chemin le long duquel la face extérieure du pignon peut être balayée, en utilisant les mêmes outils que lors de la création de l'arche gothique dans la partie précédente de la série. La surface intérieure sera créée en utilisant une extrusion linéaire comme précédemment, car les cannelures intérieures d'un engrenage hélicoïdal restent droites pour faciliter l'assemblage de la roue sur l'axe support. La roue résultante est en fait une assez bonne approximation d'une vraie roue dentée. Cependant, certains aspects pourraient être mieux rendus, tels que les bords extérieurs biseautés pour les rendre moins agressifs ou l'enlèvement d'un partie de la matière de la roue pour l'alléger et utiliser moins de matière pour la fabriquer. Ces opérations peuvent être faites dans FreeCAD et sont laissées au lecteur comme exercice (indice : utiliser une surface de révolution pour créer les évidements sur chaque face). |
| |
**What next? | **What next? |
Et ensuite ? | Et ensuite ? |
| |
Dans cet article sur l'utilisation de FreeCAD, nous avons étendu les possibilités de FreeCAD en utilisant un peu de programmation en python pour créer une surface hélicoïdale dans la forme de la roue dentée.Une fois la forme de base dessinée en utilisant un script, elle peut être utilisée en combinaison avec une autre des techniques disponibles dans l'interface graphique pour créer l'objet final. Python est un ensemble de programmation complètement développé, contenant des bibliothèques à la fois pour les mathématiques et pour d'autres besoins, et i peut être utilisé en combinaison avec FreeCAD pour créer des objets qui n'existent pas dans la bibliothèque d'origine des formes de base. | Dans cet article sur l'utilisation de FreeCAD, nous avons étendu les possibilités de FreeCAD en utilisant un peu de programmation en Python pour créer une surface hélicoïdale dans la forme d'une roue dentée. Une fois la forme de base dessinée en utilisant un script, elle peut être utilisée en combinaison avec une autre des techniques disponibles dans l'interface graphique pour créer l'objet final. Python est un ensemble de programmation complètement développé, contenant des bibliothèques à la fois pour les mathématiques et pour d'autres besoins, et il peut être utilisé en combinaison avec FreeCAD pour créer des objets qui n'existent pas dans la bibliothèque d'origine des formes de base. |
| |
Dans la prochaine partie de la série, nous nous concentrerons sur un objet à la primitive plus complexe qui nous permettra de créer des formes et des volumes avec moins de régularité, le maillage. | Dans la prochaine partie de la série, nous nous concentrerons sur un objet à la primitive plus complexe qui nous permettra de créer des formes et des volumes avec moins de régularité, le maillage. |
| |
| |