FreeCAD Logo FreeCAD 1.0
  • Anglais Afrikaans Arabe Biélorusse Catalan Tchèque Allemand Grec Espagnol Espagnol Basque Finnois Philippin Français Galicien Croate Hongrois Indonésien Italien Japonais Kabyle Coréen Lituanien Néerlandais Norvégien classique Polonais Portugais Portugais Roumain Russe Slovaque Slovène Serbe Suédois Turc Ukrainien Valencien Vietnamien Chinois Chinois
  • Fonctions
  • Télécharger
  • Blog
  • Documentation
    Index de la documentation Premiers pas Documentation pour les utilisateurs Manuel de FreeCAD Documentation des ateliers Documentation sur le codage en Python Documentation pour les développeurs Tutoriels Foire aux questions Politique de confidentialité À propos de FreeCAD
  • Contribuer
    Comment aider Sponsor Signaler un bogue Faire une demande de modification (PR) Emplois et financements Guide pour les contributions Manuel pour les développeurs Traductions
  • Communauté
    Code de conduite Forum The FPA GitHub GitLab Codeberg Mastodon Matrix IRC IRC via Webchat Gitter Discord Reddit Twitter Facebook LinkedIn Calendrier
  • ♥ Donate

Donate

$
Informations SEPA
Veuillez configurer votre virement bancaire SEPA pour:
Beneficiary: The FreeCAD project association
IBAN: BE04 0019 2896 4531
BIC/SWIFT: GEBABEBBXXX
Agence bancaire: BNP Paribas Fortis
Adresse: Rue de la Station 64, 1360 Perwez, Belgium

While Stripe doesn't support monthly donations, you can still become a sponsor! Simply make a one-time donation equivalent to 12 months of support, and you'll gain access to the corresponding sponsoring tier. It's an easy and flexible way to contribute.

If you are not sure or not able to commit to a regular donation, but still want to help the project, you can do a one-time donation, of any amount.

Choose freely the amount you wish to donate one time only.

You can support FreeCAD by sponsoring it as an individual or organization through various platforms. Sponsorship provides a steady income for developers, allowing the FPA to plan ahead and enabling greater investment in FreeCAD. To encourage sponsorship, we offer different tiers, and unless you choose to remain anonymous, your name or company logo will be featured on our website accordingly.

from 1 USD / 1 EUR per month. You will not have your name displayed here, but you will have helped the project a lot anyway. Together, normal sponsors maintain the project on its feet as much as the bigger sponsors.

from 25 USD / 25 EUR per month. Your name or company name is displayed on this page.

from 100 USD / 100 EUR per month. Your name or company name is displayed on this page, with a link to your website, and a one-line description text.

from 200 USD / 200 EUR per month. Your name or company name and logo displayed on this page, with a link to your website and a custom description text. Companies that have helped FreeCAD early on also appear under Gold sponsors.

Instead of donating each month, you might find it more comfortable to make a one-time donation that, when divided by twelve, would give you right to enter a sponsoring tier. Don't hesitate to do so!

Choose freely the amount you wish to donate each month.

Please inform your forum name or twitter handle as a notein your transfer, or reach to us, so we can give you proper credits!

Tutoriel
Thème
Assembly3, un squelette cinématique
Niveau
Une connaissance de base d'Assembly3 et des outils Sketcher est utile.
Temps d'exécution estimé
40 minutes
Auteurs
FBXL5
Version de FreeCAD
0.20 et ultérieure
Fichiers exemples
None
Voir aussi
Tutoriel Assemblage cinématique, Tutoriel Contrôleur cinématique

Introduction

Ce tutoriel explique comment mettre en place un mécanisme simple en 2D et attacher des objets en 3D, principalement à l'aide de les outils de l' atelier Assembly3 externe.

Ce tutoriel n'utilise pas le principe du schéma squelette (voir Assembly3 Create-Skeleton-Sketch sur GitHub).

Nous utiliserons plutôt des PartDesign Corps ne contenant qu'une seule esquisse, pour construire un mécanisme en 2D, un squelette multi esquisse.

Les dimensions, ainsi que les couleurs, sont tirées du tutoriel SolveSpace auquel il est fait référence sur la page GitHub de Assembly3 (voir ci-dessus).

Squelette à plusieurs esquisses

Ce squelette dit "multi esquisses" se compose de plusieurs Corps individuels et un conteneur Assemblage. Pour pouvoir attacher d'autres objets, chaque corps est placé dans un conteneur d'assemblage distinct.

Objets du corps 2D

Les corps, et leurs esquisses, qui sont utilisés dans ce montage :

  • Une plaque de base (vert)
  • Une manivelle (bleue)
  • Deux plaques mobiles (rouge et gris)
  • Quatre bielles (blanche, jaune, violette et marron)

Les huit esquisses sont colorées individuellement et positionnées manuellement en déplaçant leurs corps parents

La forme peut s'écarter de celle de la pièce réelle, mais la position de l'articulation définissant la géométrie doit être précise.

Conteneurs d'assemblage

Assemblage parent

Pour fixer ou contrôler la position de tous les corps, il faut un objet Assembly. Il ajoute une branche Assembly à la Vue en arborescence.

  • Appuyez sur le bouton Create assembly pour créer une branche Assembly dans la Vue en arborescence.

Sous-assemblages

Répétez l'action ci-dessus pour créer un objet Assembly pour chaque corps et faites glisser le corps dans son conteneur Parts. Fixez ensuite le corps à son assemblage :

  1. Activez l'objet Assembly (double-cliquez).
  2. Sélectionnez un cercle/arc appartenant à l'objet Body.
  3. Appuyez sur le bouton Create "Locked" constraint pour fixer le corps dans son sous-assemblage.

L'assemblage de la manivelle, par exemple, doit ressembler à ceci :

La branche du sous-assemblage de la manivelle dans l'arborescence et la manivelle avec son élément verrouillé dans la vue 3D

Arborescence Assembly

Dans la vue en arborescence, faites glisser toutes les branches du sous-assemblage dans le conteneur Parts de l'objet Assembly parent.

Branche Assembly dans la vue en arborescence

Ils sont maintenant prêts à être arrangés.

Plaque de base fixe

Tout d'abord, nous avons besoin d'une partie fixe. Pour fixer complètement la base, nous sélectionnons habituellement une face, mais dans ce cas, un cercle fera aussi bien l'affaire.

  1. Sélectionnez un cercle de la base.
  2. Appuyez sur le bouton Create "Locked" constraint pour fixer la base.

Cercle sélectionné → Base fixée avec l'objet Element créé et le système de coordonnées de l'élément (ECS) affiché (vert)

Liaisons

Pour les articulations de type charnière, nous sélectionnons un cercle de chaque esquisse et utilisons la contrainte Plane Coincidence. Non seulement elle rend les plans XY des deux éléments coplanaires, mais elle rend également leurs axes Z colinéaires.

  1. Sélectionnez un cercle de chaque objet à connecter.
  2. Appuyez sur le bouton Create "Plane Coincidence" constraint.

Base - Manivelle

Cercles sur la base et la manivelle sélectionnés → Manivelle relocalisée avec les objets Élément et ECS créés affichés (vert)

Base - Plateau supérieur

Cercles sur la plaque de base et la plaque supérieure sélectionnés → Plaque supérieure relocalisée

Les liaisons déjà créées peuvent être identifiées par leurs représentations de contraintes (rouge).

Manivelle - tige 1

Cercles sur la manivelle et la tige 1 sélectionnés → Tige 1 déplacée et manivelle inclinée

Plaque supérieure - tige 1

La dernière liaison de cette chaîne cinématique relie deux éléments dont les directions Z sont déjà définies et une contrainte Point on line est tout ce dont nous avons besoin.

  1. Sélectionnez un cercle de chaque objet à connecter.
  2. Appuyez sur le bouton Create "PointOnLine" constraint.

Cercles sur la plaque supérieure et la tige 1 sélectionnés → Tige 1 déplacée, manivelle et plaque supérieure inclinées

Si les axes Z de trois éléments ou articulations sont parallèles et se trouvent sur le même plan virtuel, le solveur peut échouer à les réarranger dans une étape suivante parce qu'il est incapable de décider dans quelle direction l'articulation centrale doit être tournée. Cela peut se produire pour l'élément tige 1, l'articulation manivelle - tige 1 et l'articulation base - manivelle que nous avons ici. Dans ce cas, nous devons aider le solveur et faire tourner un objet (par exemple la manivelle) manuellement en utilisant l'outil Axial move.

Plaque supérieure - tige 2

Une autre (sous-)chaîne cinématique commence avec des contraintes Plane Coincidence.

Cercles sur la plaque supérieure (ou la base) et tige 2 sélectionnés → Tige 2 relocalisée

Tige 2 - Plaque inférieure

Cercles sur la tige 2 et plaque inférieure sélectionné → Plaque inférieure déplacée et tige 2 inclinée

Plaque supérieure - tige 3

Cercles sur la plaque supérieure et tige 3 sélectionnés → Déplacement de la tige 3 et réorganisation de la sous-chaîne cinématique supérieure

Plaque inférieure - tige 3

Et cette (sous-)chaîne cinématique se termine par une contrainte Point on line aussi.

Cercles sur la plaque inférieure et tige 3 sélectionnés → Relocalisation de la tige 3 et réarrangement des sous-chaînes ukinématiques

Pour relier les deux sous-chaînes cinématiques, nous utilisons la tige 4 avec une contrainte Plane Coincidence à une extrémité et une contrainte Point on line à l'autre extrémité.

Manivelle - tige 4

Cercles sur la manivelle et la tige 4 sélectionnés → Tige 4 relocalisée

Plaque inférieure - tige 4

Cercles sur la plaque inférieure et tige 4 sélectionnés → Tige 4 déplacée et disposition finale de l'assemblage cinématique

Actionneur

Puisque Assembly3 ne fournit aucun moyen de contrôler les assemblages cinématiques, nous avons besoin d'une aide externe telle que ce contrôleur cinématique. Pour utiliser ce contrôleur, nous devons marquer l'étiquette d'une contrainte avec le suffixe "Driver" pour en faire une contrainte de mouvement. Il peut être séparé par un "." ou "-" pour plus de clarté, car le contrôleur ne vérifiera que si le label se termine par "Driver".

Nous changeons donc le label de la liaison Base-Manivelle en Base-Crank.Driver.

Squelette terminé

L'assemblage cinématique terminé avec la représentation désactivée des éléments et des contraintes doit ressembler à ceci :

Assemblage terminé dans la Vue en arborescence et la Vue 3D

Animation GIF réalisée à partir d'une séquence d'images de ce contrôleur cinématique

Attachement de la géométrie 3D

Mes attentes concernant l'attachement d'un nouvel objet à un objet de base appartenant à un assemblage cinématique étaient quelque chose comme :

  • Placer le nouvel objet dans le conteneur Parts de l'objet de base.
  • Positionner le nouvel objet par rapport à l'objet de base.
  • Fixer le décalage et l'orientation relatifs à l'aide de la contrainte Attachment.

Mais cela aurait été trop facile.


L'outil Assembly3 ConstraintAttachment, comme tout outil de contrainte d'Assembly3, repose sur l'utilisation d'objets Element et de leurs systèmes de coordonnées d'éléments (ECSs) pour les tâches de positionnement.

Ainsi, attacher des objets n'est qu'une autre façon d'ajouter des objets à un (sous-)ensemble.


Attachons la tige 4-3D à la tige 4 par exemple :

Les objets ont une orientation différente et l'objet 3D doit avoir un décalage par rapport à l'objet 2D.

  1. Placez le nouvel objet dans le conteneur Parts de l'objet de base.
  2. Sélectionnez deux cercles ou arcs correspondants.
  3. Appuyez sur le bouton Create "Attachment" constraint.

Tige 4 (verrouillée) et Tige 4-3D → Arcs sélectionnés → Tige 4-3D relocalisée (les deux ECSs sont au même endroit avec une orientation identique)

Il est maintenant évident que l'outil Assembly3 ConstraintAttachment ignore le décalage et l'orientation entre les deux objets.

Cependant, la position est déjà définie comme nous le voulions et il nous suffit donc d'adapter l'angle manuellement et de définir le décalage souhaité :

  • Définissez la DonnéesOffset, Angle du premier élément du conteneur Attachment pour qu'il corresponde à l'orientation.
  • Définissez la DonnéesOffset, Position, z du même élément pour appliquer un décalage.

Si nous définissons les propriétés du deuxième élément, le mouvement de l'angle et du décalage ira dans la direction opposée.

Comme attaché → Angle adapté → Décalage défini

S'il y a un objet 3D attaché à chaque objet 2D, cela pourrait ressembler à ceci :

Remarques

La section Attachement de la géométrie 3D ne fait qu'effleurer l'extension d'un sous-ensemble, et d'autres contraintes ou combinaisons de contraintes peuvent être plus appropriées que la contrainte d'attachement.

Il est important de déplacer un tel assemblage cinématique par petits pas, sinon le solveur abandonnera et échouera. Il est presque impossible d'utiliser Move part ou Axial move pour cette tâche.

La contrainte Assembly3_ConstraintCoincidence est utilisée pour piloter l'assemblage cinématique, sa propriété DonnéesAngle (activée par la propriété DonnéesLock Angle) accepte des nombres positifs ou négatifs en virgule flottante supérieurs à 360 et peut donc faire plusieurs tours complets.

Cette page est extraite de https://wiki.freecad.org/Tutorial_KinematicSkeleton

Contactez-nous !
Forum GitHub Mastodon Matrix IRC Gitter.im Discord Reddit Twitter Facebook LinkedIn

© L'équipe FreeCAD. Crédits des images de la page d'accueil (de haut en bas) : ppemawm, r-frank, epileftric, regis, rider_mortagnais, bejant.

Ce projet est soutenu par : , KiCad Services Corp. et autres parrains

GitHubAméliorer cette page sur GitHub