Dans ce tutoriel, nous allons dessiner divers liens, et utiliser le solveur géométrique de SolveSpace pour simuler leur mouvement. Une tringlerie se compose d'au moins deux parties, contraintes de se déplacer l'une par rapport à l'autre d'une façon particulière. Par exemple, une liaison à deux dimensions peut être constituée de barres rigides longues, reliées avec articulations à leurs extrémités. Deux barres résultante dans un mouvement circulaire simple, et trois dans un treillis rigide, de sorte que des liens intéressants de cette nature seront généralement composés d'au moins quatre barres.
Ces liens sont difficiles à analyser sans ordinateur. Différents résultats généraux de formes fermées existent, mais rien de particulièrement utile. Il est plus facile de laisser le solveur de contraintes géométriques trouver la solution. En modélisant le lien de cette manière, nous pouvons aussi contraindre des pièces 3D contre le squelette de la liaison, et d'animer le mouvement des parties réelles remplissant l'espace, par exemple pour vérifier les interférences que la liaison est fonctionnelle.
Ici, nous allons modéliser un des chaînages de Theo Jansen pour le mouvement de marche simulée. Il apparaît comme ci-dessous:
Ces liens sont difficiles à analyser sans ordinateur. Différents résultats généraux de formes fermées existent, mais rien de particulièrement utile. Il est plus facile de laisser le solveur de contraintes géométriques trouver la solution. En modélisant le lien de cette manière, nous pouvons aussi contraindre des pièces 3D contre le squelette de la liaison, et d'animer le mouvement des parties réelles remplissant l'espace, par exemple pour vérifier les interférences que la liaison est fonctionnelle.
Ici, nous allons modéliser un des chaînages de Theo Jansen pour le mouvement de marche simulée. Il apparaît comme ci-dessous:
La plaque rose est maintenu immobile. Le mécanisme est entraîné sur le lien bleu, par le moteur vert (à peine visible derrière la plaque rose). Comme le lien est mis en rotation, la partie inférieure de la jambe grise trace la courbe en cyan.
Pour modéliser le lien, nous commençons par une esquisse vide. Dans ce croquis, nous allons dessiner et contraindre un squelette de la liaison. Un lien correspond à un segment de droite limité à une longueur spécifiée, et un joint de broche correspond à une contrainte de point coïncidant en 2D. (SolveSpace peut aussi dessiner en 3D, où cette contrainte point de coïncident correspondrait à une rotule, pas un axe d'articulation, mais il s'agit d'une liaison plane, il est donc plus facile de dessiner dans un plan de travail 2D.) En faisant un lien avec la souris, nous serons en mesure de travailler l'articulation, de manière analogue que si nous appliquions un déplacement à ce point dans la vie réelle, et utiliser divers outils pour enregistrer les mouvements qui en résultent.
Un dessin coté de ce squelette apparaît comme ci-dessous:
Pour modéliser le lien, nous commençons par une esquisse vide. Dans ce croquis, nous allons dessiner et contraindre un squelette de la liaison. Un lien correspond à un segment de droite limité à une longueur spécifiée, et un joint de broche correspond à une contrainte de point coïncidant en 2D. (SolveSpace peut aussi dessiner en 3D, où cette contrainte point de coïncident correspondrait à une rotule, pas un axe d'articulation, mais il s'agit d'une liaison plane, il est donc plus facile de dessiner dans un plan de travail 2D.) En faisant un lien avec la souris, nous serons en mesure de travailler l'articulation, de manière analogue que si nous appliquions un déplacement à ce point dans la vie réelle, et utiliser divers outils pour enregistrer les mouvements qui en résultent.
Un dessin coté de ce squelette apparaît comme ci-dessous:
C'est un lien de huit barres (car il se compose de huit parties mobiles indépendantes), mais les articulations sur certaines de ces pièces ne se trouvent pas toutes sur une ligne droite, l'esquisse se compose de plus de huit lignes, dans certains cas, avec une structure en treillis pour fournir l'articulation supplémentaire. Sur la photo, j'ai marqué des liens qui finiront par s'installer comme un corps rigide de la même couleur.
Pour esquisser le lien, nous venons de dessiner et dimensionner ces lignes comme d'habitude. Il est utile d'esquisser les lignes aussi près que possible de la géométrie finale souhaitée, il peut être possible d'assembler les liens dans une configuration qui est différente de celle du lien souhaité, et cela aide le solveur pour trouver la solution envisagée.
Tout d'abord, nous esquissons les lignes, en utilisant Sketch → Segment de ligne (ou un raccourci clavier S, ou sur l'icône de barre d'outils correspondante). Nous pouvons insérer certaines des contraintes de point coïncident qui relient les lignes aux extrémités automatiquement, en cliquant sur un point de terminaison existant lors de la création de notre nouvelle ligne, nous pourrions également créer explicitement si vous le souhaitez, en sélectionnant les deux extrémités et en choisissant Contrainte → Sur le point / Courbe / Plan. Il est utile de limiter la longueur de l'une des lignes avant de dessiner le reste d'entre elles, pour aider à obtenir l'esquisse à l'échelle à peu près correcte, et de minimiser combien cela va changer quand elle sera dimensionnée.
Pour esquisser le lien, nous venons de dessiner et dimensionner ces lignes comme d'habitude. Il est utile d'esquisser les lignes aussi près que possible de la géométrie finale souhaitée, il peut être possible d'assembler les liens dans une configuration qui est différente de celle du lien souhaité, et cela aide le solveur pour trouver la solution envisagée.
Tout d'abord, nous esquissons les lignes, en utilisant Sketch → Segment de ligne (ou un raccourci clavier S, ou sur l'icône de barre d'outils correspondante). Nous pouvons insérer certaines des contraintes de point coïncident qui relient les lignes aux extrémités automatiquement, en cliquant sur un point de terminaison existant lors de la création de notre nouvelle ligne, nous pourrions également créer explicitement si vous le souhaitez, en sélectionnant les deux extrémités et en choisissant Contrainte → Sur le point / Courbe / Plan. Il est utile de limiter la longueur de l'une des lignes avant de dessiner le reste d'entre elles, pour aider à obtenir l'esquisse à l'échelle à peu près correcte, et de minimiser combien cela va changer quand elle sera dimensionnée.
Ensuite, nous insérons des contraintes de longueur de ligne pour chaque lien, en passant la souris sur un lien (de sorte qu'il devient jaune), en cliquant (de sorte qu'il devient rouge), puis en choisissant Contrainte → Distance / Diamètre. Nous double-cliquons sur chaque dimension sur le croquis, et tapons la longueur désirée.
Nous limitons également les liaisons fixes (dessinées plutôt en vert), en limitant l'extrémité gauche de la liaison horizontale pour être à l'origine (Contrainte → Le Point / Courbe / Plan), et en limitant les orientations des deux liens (Contrainte → Horizontal ou vertical). Cela limite pleinement le lien, nous devrions donc avoir un seul degré de liberté, ce qui correspond à la rotation de notre lien de conduite. Nous pouvons le confirmer en cliquant sur le lien "home" en haut à gauche de la fenêtre du navigateur de texte, puis cliquez sur le nom du groupe nous avons dessiné, la valeur par défaut "g002-sketch-in-plane».
Nous pouvons maintenant travailler l'articulation, en faisant glisser un lien avec la souris. Le solveur doit généralement suivre le mouvement de la souris. Dans certains cas, le solveur peut échouer et indiquer une erreur, en tournant le fond de l'esquisse du noir au rouge foncé. Cela peut provenir de problèmes numériques dans le solveur, dans ce cas, nous pourrions être en mesure d'opérer la liaison correctement en déplaçant lentement. Il peut aussi résulter d'un problème réel avec le lien, le solveur ne parviendra pas aux mêmes endroits où un vrai lien lierait. Dans ce cas, le lien doit être repensé, ou dessiné à partir d'un lien différent. En tout cas, l'erreur peut être effacée en choisissant Édition → Annuler.
Nous pouvons également travailler le lien avec une dimension. Par exemple, on peut ajouter une contrainte sur l'angle de la bielle entraînée par rapport à la longueur du lien horizontal, qui correspond à la rotation du moteur ou d'une autre action entraînant la tringlerie.
Nous pouvons également travailler le lien avec une dimension. Par exemple, on peut ajouter une contrainte sur l'angle de la bielle entraînée par rapport à la longueur du lien horizontal, qui correspond à la rotation du moteur ou d'une autre action entraînant la tringlerie.
Le schéma est maintenant complètement contraint, avec 0 degré de liberté. Pour tracer le fonctionnement du système d'articulation, nous pouvons faire intervenir cette dimension. Pour ce faire, nous cliquons sur la dimension (de sorte qu'elle devienne rouge), puis choisissons Analyser → Dimension du pas. L'angle de départ est déterminé par la valeur actuelle de cette dimension, et nous pouvons spécifier l'angle final arbitrairement, en cliquant sur le "changement" dans la fenêtre du navigateur en mode texte et en tapant une nouvelle valeur, et en appuyant sur Entrée. Nous pouvons également préciser le nombre de pas, si nous entrons à partir de 40 degrés à 50 degrés en 20 étapes, par exemple, le solveur se déplacera à la dimension de 40,5 degrés, puis 41, 41,5, 42, ... jusqu'à ce qu'il atteigne la valeur finale de 50. Si nous voulons regarder le mouvement de liaison, alors nous devrions probablement augmenter ce nombre de pas, parce que le solveur travaille autrement trop rapidement pour que nous puissions voir l'animation.
Nous pouvons aussi enregistrer la position d'un point sur le lien comme mouvements de liaison. Pour ce faire, nous cliquons sur un point (de sorte qu'il devient rouge), puis choisissons Analyser → Trace Point. Toute animation de ce point va maintenant être enregistrée avec une courbe cyan.
Pour arrêter le traçage, nous choisissons Analyser → Arrêter le traçage. Une boîte de dialogue apparaît, nous pouvons abandonner que en appuyant sur Echap ou en choisissant d'annuler, ou nous pouvons spécifier un fichier csv, dans lequel les points tracés seront exportés, en coordonnées globale du système du modèle (x, y, z). L'espacement de ces points sera déterminé par la séquence des positions au cours de laquelle le lien a été résolu. Si le lien a été travaillé "à la main", en faisant glisser un lien avec la souris, puisque l'espacement sera arbitraire; la courbe géométrique tracée est significative, mais la vitesse le long de cette courbe ne l''est pas. Voici, par exemple, le lien a été élaboré avec la souris, puis nous avons tracé les x du point de sortie en fonction de y (avec Scilab, mais de nombreux programmes pourrait le faire, par exemple la plupart des tableurs).
Si le lien a fonctionné avec la dimension du pas, alors que la vitesse est connue, ce fichier peut être utilisé pour imprimer la position de l'angle de liaison. Voici, par exemple, le lien élaboré au cours d'une demi-rotation avec une dimension de pas, et nous traçons la variation de x (la courbe bleue) et y (le tracé noir) en fonction du temps ou, de façon équivalente, l'angle.
Une fois que le squelette de la liaison existe, des modèles solides peuvent être contraints contre lui. C'est ainsi que l'image au début de ce tutoriel a été générée. Si ces contraintes sont choisies de manière appropriée, les modèles solides suivront le squelette du lien comme le lien fonctionnel. Pour une liaison plane, par exemple, un bon choix de contraintes est:
Importer la pièce sur un axe z parallèle à la normale de la pièce de notre axe z de référence, pour maintenir la pièce importée dans un plan parallèle à notre plan de liaison.
Un point de la pièce se trouve importé sur le plan de travail spécifié (ou sur la face plane déterminée à partir du modèle solide), pour tenir la pièce importée à la définition désirée perpendiculaire au plan.
En 2D point sur point, (choisir un plan de travail parallèle au plan de liaison, et choisir Sketch → Dans Plan de travail, puis sélectionnez les deux points, et choisir Contrainte → Le Point) à l'un des joints d'axe.
Une ligne dans le modèle solide parallèle à la ligne dans le squelette de la liaison, y compris en 2D.
D'autres combinaisons de contraintes peuvent fonctionner, mais elles doivent être choisies avec soin pour éviter toute ambiguïté des mouvements de liaison. Pour faire fonctionner le lien, il est nécessaire de faire glisser les entités de ce squelette d'origine, ce qui peut devenir difficile quand le modèle devient encombré avec les entités des modèles solides, puisque ceux-ci sont faciles à sélectionner à la place par hasard. Pour éviter cela, nous pouvons cacher les entités de ces modèles solides (tout en laissant le modèle solide lui-même visible), en cliquant sur le lien "home" en haut à gauche de la fenêtre du navigateur de texte, et en décochant la case "montrer" pour les groupes .
Nous pouvons également dessiner une "poignée" sur le lien, pour étendre la liaison du moteur et le rendre plus facile à saisir avec la souris. Voici, par exemple, ici nous le faisons avec une ligne supplémentaire, le partage d'une terminaison avec le lien entraîné et une contrainte parallèle. La poignée est affectée à un style de ligne personnalisé, afin que nous puissions la marquer en bleu, et la cacher dans un fichier exporté.
Importer la pièce sur un axe z parallèle à la normale de la pièce de notre axe z de référence, pour maintenir la pièce importée dans un plan parallèle à notre plan de liaison.
Un point de la pièce se trouve importé sur le plan de travail spécifié (ou sur la face plane déterminée à partir du modèle solide), pour tenir la pièce importée à la définition désirée perpendiculaire au plan.
En 2D point sur point, (choisir un plan de travail parallèle au plan de liaison, et choisir Sketch → Dans Plan de travail, puis sélectionnez les deux points, et choisir Contrainte → Le Point) à l'un des joints d'axe.
Une ligne dans le modèle solide parallèle à la ligne dans le squelette de la liaison, y compris en 2D.
D'autres combinaisons de contraintes peuvent fonctionner, mais elles doivent être choisies avec soin pour éviter toute ambiguïté des mouvements de liaison. Pour faire fonctionner le lien, il est nécessaire de faire glisser les entités de ce squelette d'origine, ce qui peut devenir difficile quand le modèle devient encombré avec les entités des modèles solides, puisque ceux-ci sont faciles à sélectionner à la place par hasard. Pour éviter cela, nous pouvons cacher les entités de ces modèles solides (tout en laissant le modèle solide lui-même visible), en cliquant sur le lien "home" en haut à gauche de la fenêtre du navigateur de texte, et en décochant la case "montrer" pour les groupes .
Nous pouvons également dessiner une "poignée" sur le lien, pour étendre la liaison du moteur et le rendre plus facile à saisir avec la souris. Voici, par exemple, ici nous le faisons avec une ligne supplémentaire, le partage d'une terminaison avec le lien entraîné et une contrainte parallèle. La poignée est affectée à un style de ligne personnalisé, afin que nous puissions la marquer en bleu, et la cacher dans un fichier exporté.
Le lien établi précédemment utilise seulement des broches comme joints. D'autres types de joints peuvent être modélisés en utilisant des contraintes différentes. Par exemple, une goupille qui coulisse dans une fente peut être modélisée comme une contrainte de point en ligne. Cette contrainte est utilisé ici, pour modéliser un mécanisme à retour rapide Whitworth:
Ce mécanisme contient des liens tournants: un de 15 mm de long, sur l'origine, et un de 80 mm de long, d'un point situé à 30 mm en dessous de l'origine. Comme d'habitude, l'articulation de la cheville pour le lien tournant en 2D contraint deux liaison à trois degrés de liberté, la laissant avec seulement une rotation autour de l'articulation fixée.
Il contient également deux broches dans des fentes, correspondant aux deux contraintes de point en ligne, dessinées ici comme des boîtes Magenta carrées. Ces joints contraignent un seul degré de liberté, laissant le lien libre à la fois de tourner autour du point contraint, et de se translater le long de la ligne. Enfin, le lien de 40 mm est contraint à l'horizontale, et de 35 mm au-dessus de l'axe x. Ceci correspond à un guidage linéaire, ce qui limite à deux degrés de liberté, ce qui laisse le lien avec seulement la translation dans la direction contrainte.
Comme précédemment, nous pouvons contraindre les modèles solides contre le squelette, et ils vont suivre le mouvement du mécanisme.
Il contient également deux broches dans des fentes, correspondant aux deux contraintes de point en ligne, dessinées ici comme des boîtes Magenta carrées. Ces joints contraignent un seul degré de liberté, laissant le lien libre à la fois de tourner autour du point contraint, et de se translater le long de la ligne. Enfin, le lien de 40 mm est contraint à l'horizontale, et de 35 mm au-dessus de l'axe x. Ceci correspond à un guidage linéaire, ce qui limite à deux degrés de liberté, ce qui laisse le lien avec seulement la translation dans la direction contrainte.
Comme précédemment, nous pouvons contraindre les modèles solides contre le squelette, et ils vont suivre le mouvement du mécanisme.
Ici, nous avons une fois de plus fourni une poignée pour faciliter le travail de la tringlerie, dessinée en bleu. Les mêmes outils peuvent être utilisés pour analyser ce lien comme avant, tout bouge dans les lignes ou les arcs, de sorte que la trace géométrique n'est pas particulièrement intéressante, mais la vitesse du mécanisme de retour rapide, par exemple, peut être mesurée et rendue graphiquement, en utilisant Analyser → Tracer le point sur le point de sortie et ensuite Analyser → Dimension du pas pour travailler l'articulation, et enfin Analyser → Arrêter le traçage pour enregistrer les résultats.
La fonction "retour rapide" est visible ici, la position de sortie augmente lentement puis décroît rapidement.
D'autres mécanismes avec glissières linéaires peuvent avoir un comportement géométrique plus intéressant. Par exemple, on peut modéliser une crémaillère elliptique en limitant deux points sur une ligne avec liaison sur les axes x et y.
Tout autre point sur cette ligne tracera une ellipse sur l'axe aligné:
D'autres mécanismes avec glissières linéaires peuvent avoir un comportement géométrique plus intéressant. Par exemple, on peut modéliser une crémaillère elliptique en limitant deux points sur une ligne avec liaison sur les axes x et y.
Tout autre point sur cette ligne tracera une ellipse sur l'axe aligné:
Les modèles de SolveSpace utilisés dans ce tutoriel sont disponibles pour téléchargement ci-dessous. Extraire tous les fichiers dans le même répertoire avant d'essayer de les ouvrir; certains fichiers sont assemblés, et ne marcheront pas si les fichiers de composants référencés ne sont pas présents.
Fichier à charger : mechanisms.zip
Fichier à charger : mechanisms.zip