A2plus Workbench/fr

Introduction
L'atelier A2plus est un atelier externe de Freecad qui permet l'assemblage de plusieurs pièces.

Cette documentation d'A2plus porte sur la version 0.4.33 ou plus récente.

Installation
L’atelier A2plus est un complément (greffon ou addon) à FreeCAD. Il peut être facilement installé via le menu. A2plus est en cours de développement et bénéficiera fréquemment de nouvelles fonctionnalités. Par conséquent, vous devez le mettre à jour régulièrement en utilisant également le menu. Le code A2plus est hébergé et développé sur GitHub et peut également être installé manuellement en le copiant dans le répertoire MOD de FreeCAD.

Commencer
Commencez par passer à la barre d’outils A2plus dans FreeCAD. Pour créer un assemblage, créez un nouveau fichier dans FreeCAD. Au début, ce fichier doit être enregistré. Il est recommandé (mais pas nécessaire) de l’enregistrer dans le même dossier que les pièces à assembler.

Vous pouvez maintenant ajouter des pièces à l'assemblage à l'aide du bouton de la barre d'outils ou. Le bouton ajoute tous les corps du fichier sélectionné en une seule pièce. Lorsque vous utilisez le bouton vous pouvez choisir quel corps du fichier doit être importé en tant que pièce. La première partie ajoutée obtient une position fixe par défaut. (Vous pourrez le modifier ultérieurement via la propriété de la pièce .) Les pièces déjà présentes dans l'assemblage peuvent être clonées à l'aide du bouton de la barre d'outils. Pour modifier une pièce de l'assemblage, sélectionnez-la dans l'arborescence du modèle et utilisez le bouton de la barre d'outils. Cela ouvrira la pièce dans un nouvel onglet de FreeCAD ou basculera vers son onglet si le fichier est déjà ouvert. Pour importer les modifications de pièces dans l'assemblage, cliquez sur le bouton de la barre d'outils.

Les pièces importées conservent leurs dépendances externes et peuvent être modifiées. Pour des pièces bien définies telles que des vis, il est toutefois utile que leur forme ne puisse pas être modifiée. Ceci peut être réalisé avec le bouton de la barre d’outils  qui convertit la pièce sélectionnée en une copie statique de la pièce d'origine.

Pour enregistrer l’ensemble et le refermer par la suite, vous pouvez utiliser le bouton de la barre d’outils.

Assemblage
L'assemblage des pièces se fait en ajoutant des contraintes entre les pièces. Après une contrainte, A2plus déplacera les pièces en fonction de la contrainte, si possible. Pour des contraintes complexes entre les pièces, A2plus pourrait ne pas résoudre les contraintes. Par conséquent, consultez également la section Dépannage pour connaître les stratégies permettant de résoudre de tels cas.

Les contraintes entre les pièces sont ajoutées en maintenant la touche  enfoncée et en sélectionnant un bord ou une face de deux pièces. La contrainte sera ajoutée attachée dans l'arborescence du modèle aux pièces affectées.

Garder la trace
Plus vous ajoutez de pièces, plus il est important de conserver la trace. A2plus propose donc ces outils pour déplacer et visualiser des pièces :


 * Pour déplacer une pièce dans l'assemblage, sélectionnez-la dans l'arborescence du modèle et utilisez le bouton de la barre d'outils [[Image:A2p MovePart.svg|24px]]. Lorsque vous avez placé la pièce où vous le souhaitez, faites un clic gauche avec la souris. Si la pièce déplacée a déjà des contraintes, elle sera placée en conséquence en appuyant sur le bouton de la barre d'outils [[Image:A2p solver.svg|24px]] car cela déclenche la résolution de toutes les contraintes de l’assemblage.
 * Pour afficher une contrainte, sélectionnez-la dans l'arborescence du modèle et utilisez le bouton de la barre d'outils [[Image:A2p ViewConnection.svg|24px]]. Cela rendra tout l'assemblage transparent et mettra en évidence les deux éléments liés via la contrainte. Pour revenir à la vue normale, cliquez avec le bouton gauche de la souris dans l'assemblage.
 * Pour afficher uniquement certaines pièces de l'assemblage, sélectionnez-les dans l'arborescence du modèle et utilisez le bouton de la barre d'outils [[Image:A2p Isolate Element.svg|24px]].Vous pouvez également masquer une certaine partie en la sélectionnant dans l'arborescence du modèle et en appuyant sur la touche  pour modifier sa visibilité.
 * Pour basculer l'affichage de la transparence de l'ensemble, vous pouvez utiliser le bouton de la barre d'outils [[Image:A2p ToggleTransparency.svg|24px]].
 * Chaque pièce peut être rendue transparente par l'édition normale de FreeCAD. Cependant, le réglage de la transparence des pièces est parfois perdu lors de la réouverture de l'assemblage en raison d'un bogue dans FreeCAD. Pour contourner le problème, vous pouvez utiliser le bouton de la barre d’outils [[Image: A2p_Restore_Transparency.svg | 24px]] pour restaurer les paramètres de transparence.

Contraintes
Lors de la création d'une contrainte, un tel dialogue sera affiché après avoir appuyé sur un bouton de la barre d'outils de contrainte : . Pour certaines contraintes, cela vous permet de modifier le sens de la contrainte. Avec le bouton vous pouvez vérifier auparavant si cette nouvelle contrainte peut être résolue par A2plus. Sinon, consultez la section Dépannage.

A2plus fournit les contraintes suivantes :

Point sur Point
Sélectionnez un sommet (point) sur chaque pièce. Le bouton de la barre d'outils   ajoute la contrainte . Cela fera coïncider les sommets.

Point sur Ligne
Sélectionnez un vertex (point) ou un edge (ici arc) de cercle (sélectionnera son centre) ou une face sphérique (sélectionnera également son centre) d'une part et un edge d'autre part. Le bouton de la barre d'outils ajoute la contrainte. Cela mettra le vertex sur l'edge.

Point sur Plan
Sélectionnez un vertex (point) ou un edge (ici arc) de cercle (sélectionnera son centre) ou la face d'une sphère (sélectionnera également son centre) d'une par et un plan d'autre part. Le bouton de la barre d’outils ajoute la contrainte. Le dialogue de contrainte vous permet de spécifier un décalage entre le point et le plan. Ce décalage peut également être inversé entre les deux côtés du plan. Si le décalage est nul, la contrainte placera le sommet sur le plan.

Sphère sur Sphère
Sélectionnez une face sphérique ou un vertex (point) sur les deux pièces. Le bouton de la barre d'outils  ajoute la contrainte . Cela fera coïncider les centres des sphères, le centre de la sphère et le sommet, ou les sommets.

Bord circulaire sur bord circulaire
Sélectionnez un bord circulaire sur les deux pièces. Le bouton de la barre d'outils  ajoute la contrainte . Le dialogue de contrainte vous permet de spécifier un décalage entre les arêtes. Ce décalage peut également être inversé. Vous pouvez en outre définir le sens de la contrainte et verrouiller la rotation des pièces. Si le décalage est nul, la contrainte placera les arêtes concentriques dans le même plan.

Axes coïncidents
Sélectionnez une face cylindrique ou un bord linéaire sur les deux pièces. Le bouton de la barre d'outils  ajoute la contrainte . Le dialogue de contrainte vous permet de spécifier la direction de l'axe.La boîte de dialogue vous permet en outre de verrouiller la rotation des pièces. La contrainte fera coïncider les axes ou les lignes.

Axes parallèles
Sélectionnez une face cylindrique ou un bord linéaire sur les deux pièces. Le bouton de la barre d'outils  ajoute la contrainte . Le dialogue de contrainte vous permet de spécifier la direction de l'axe. La contrainte rendra les axes ou les lignes parallèles.

Axe sur plan parallèle
Sélectionnez une face cylindrique ou un bord linéaire sur une pièce et un plan sur l'autre pièce. Le bouton de la barre d'outils  ajoute la contrainte . La contrainte rendra l'axe ou la ligne parallèle au plan.

Axe sur plan normal
Sélectionnez une face cylindrique ou un bord linéaire sur une partie et un plan sur l'autre partie. Le bouton de la barre d’outils ajoute la contrainte. La contrainte rendra l'axe ou la ligne normale au plan.

Axe sur plan d'angle
Sélectionnez une face cylindrique ou une arête linéaire sur une partie et un plan sur l'autre partie. Le bouton de la barre d'outils ajoute la contrainte. La contrainte rendra d'abord l'axe parallèle au plan. Ensuite, vous pouvez ajuster l'angle de l'axe dans la boîte de dialogue des paramètres de contrainte qui apparaît.

Plans parallèles
Sélectionnez un plan sur les deux pièces. Le bouton de la barre d'outils  ajoute la contrainte . La boîte de dialogue de contrainte vous permet de spécifier le sens de la contrainte. La contrainte rendra les plans parallèles.

Plan sur plan
Sélectionnez un plan sur les deux pièces. Le bouton de la barre d'outils  ajoute la contrainte . La boîte de dialogue de contrainte vous permet de spécifier une direction de contrainte et un décalage entre les plans. Ce décalage peut également être inversé. Si le décalage est nul, la contrainte fera coïncider les plans.

Angle entre plans
Sélectionnez un plan sur les deux pièces. Le bouton de la barre d'outils  ajoute la contrainte . Le dialogue de contrainte vous permet de spécifier un angle entre les plans. La contrainte va d'abord rendre les plans parallèles et définir l'angle spécifié.

Coïncidence au centre de masse
Sélectionnez un bord fermé ou un plan sur les deux pièces. Le bouton de la barre d'outils  ajoute la contrainte . Le dialogue de contrainte vous permet de spécifier un décalage entre les arêtes ou les plans. Ce décalage peut également être inversé. Vous pouvez en outre définir le sens de la contrainte et verrouiller la rotation des pièces. Si le décalage est nul, la contrainte placera les arêtes ou les plans dans le même plan.

Sous-assemblages
Un assemblage peut contenir d'autres assemblages. Ils sont ajoutés comme des pièces en appuyant sur le bouton de la barre d’outils  et en sélectionnant un fichier  contenant un assemblage. De tels sous-ensembles peuvent également être édités comme des pièces à l’aide du bouton de la barre d’outils. Assurez-vous, pour les étapes d'assemblage supérieures, que vous mettez à jour l'assemblage via le bouton de la barre d'outils  quand il y a eu des changements.

Traitement des contraintes
Les contraintes possibles pour une sélection sont affichées dans la barre d’outils et dans la boîte de dialogue "Outils de contrainte" en activant les boutons correspondants. La boîte de dialogue "Outils de contrainte" s’ouvre via le bouton de la barre d’outils. Il est prévu de rester ouvert pour pouvoir ajouter rapidement plusieurs contraintes à l’assemblage.

Les contraintes existantes peuvent être modifiées en les sélectionnant dans l'arborescence du modèle, puis en double-cliquant dessus ou en utilisant le bouton de la barre d'outils. Cela ouvre la boîte de dialogue "Propriétés de contrainte".

Les contraintes peuvent être temporairement supprimées en les sélectionnant dans l'arbre du modèle et en modifiant la propriété de l'élément d'arbre.

Les contraintes peuvent être supprimées en les sélectionnant dans l'arborescence du modèle et en appuyant sur  ou en sélectionnant une pièce avec des contraintes dans l'arborescence du modèle et en utilisant le bouton de la barre d'outils.

Toutes les contraintes peuvent être résolues à tout moment avec le bouton de la barre d’outils. Si le bouton de la barre d'outils  est activé, une résolution est automatiquement effectuée après chaque édition d'une contrainte.

Le bouton de la barre d'outils  affecte la contrainte qui a été ajoutée le plus récemment. Il inverse la direction de la contrainte.

Listes de pièces
Pour créer des listes de pièces d'assemblages, les différentes pièces de l'assemblage doivent obtenir des informations sur les pièces pouvant être lues par A2plus. Ceci est fait en éditant la pièce en utilisant le bouton de la barre d’outils. Dans la partie ouverte, appuyez sur le bouton de la barre d’outils  et une feuille de calcul portant le nom #PARTINFO# est créée.

La structure de la feuille de calcul est la suivante :



Remplissez les champs gris avec les informations que vous avez et que vous souhaitez inclure dans la liste de pièces finale.

Dans l'assemblage ou le sous-assemblage, utilisez le bouton de la barre d'outils. Il vous demandera si vous souhaitez effectuer une itération récursive sur tous les sous-assemblages. Cliquez sur "Oui". Cela crée une nouvelle feuille de calcul avec le nom #PARTSLIST#. Il contient les informations des différentes feuilles de calcul #PARTSINFO# des pièces dans une liste comme celle-ci :



La position (POS) est automatiquement définie en fonction de l'apparence des pièces dans l'arbre du modèle. La pièce de niveau supérieur recevra le POS 1. La quantité (QTY) est automatiquement calculée à partir de l'assemblage. Si une pièce fait deux fois partie de l’assemblage, elle obtiendra QTY 2.

Si vous avez mis à jour une information de pièce, vous pouvez actualiser la liste de pièces en appuyant sur le bouton de la barre d’outils à nouveau.

Pour les sous-ensembles, vous pouvez également créer une feuille de calcul d’informations à l’aide du bouton de la barre d’outils. Lorsque vous créez ou mettez à jour la liste de pièces de l'assemblage principal, cette information est utilisée si vous cliquez sur "Non" pour la question si vous souhaitez effectuer une itération récursive sur tous les sous-assemblages. Ensuite, les différentes pièces ne figurent pas dans la liste de pièces, mais uniquement les sous-assemblages.

Structure d'assemblage
Le bouton de la barre d'outils  crée un fichier HTML avec la structure de votre assemblage. Le fichier sera créé par défaut dans le dossier de votre fichier d'assemblage. La structure ressemble à celle-ci :

Degrés de liberté
Le bouton permet d’étiqueter chaque partie de l’assemblage avec ses degrés de liberté. De plus, il affiche une liste avec toutes les pièces et leurs dépendances. La liste est sortie dans le widget Vue rapport de FreeCAD. Si ce widget n'est actuellement pas visible, vous pouvez l'afficher soit en cliquant avec le bouton droit de la souris sur une partie vide de la zone de la barre d'outils FreeCAD, puis en le choisissant dans le menu contextuel qui apparaît, ou avec le menu. Vous pouvez supprimer les libellés des degrés de liberté en cliquant à nouveau sur le bouton.

Étiquetage
Le bouton identifie chaque partie de l'assemblage dans la vue 3D par son nom. Les étiquettes des pièces peuvent être supprimées en cliquant sur le bouton.

Forme de l'assemblage complet
Parfois, il est nécessaire de combiner l’ensemble du montage en une seule forme. Cette forme peut ensuite être utilisée par exemple pour l’impression 3D dans l’atelier Mesh workbench ou pour les dessins dans l’atelier TechDraw. Il est créé en utilisant le bouton de la barre d’outils . La forme est par défaut non visible.Utilisez le même bouton de la barre d’outils pour mettre à jour la forme en cas de modification de l’assemblage.

Préférences
Les préférences de a2plus sont accessibles via le menu  de FreeCAD et dans la section "A2plus". Vous pouvez définir les options suivantes :

Méthode de résolution par défaut
Le solveur commence par une pièce ayant la propriété  définie sur "true" et une pièce contrainte à celle-ci. Toutes les autres pièces ne sont pas calculées. Si une solution peut être trouvée, la prochaine pièce contrainte est ajoutée pour le calcul, etc. Le solveur essaie de déplacer toutes les pièces en même temps en direction d'une pièce pour laquelle la propriété  a la valeur "true". Notez que dans la plupart des cas, cela prend plus de temps pour le calcul d'une solution. Ceci définit la propriété  à "true" pour toutes les pièces de l’assemblage. Ensuite, aucun calcul n'est réellement effectué, car toutes les pièces seront toujours fixées aux positions où elles ont été créées.
 * Utiliser la résolution de systèmes partiels
 * Utilisez un solveur "magnétique", résolvant toutes les pièces à la fois
 * Force en position fixe

Comportement par défaut du solveur

 * Résoudre automatiquement si une propriété de contrainte est modifiée Le solveur sera automatiquement lancé. Identique à l'activation du bouton de la barre d'outils [[Image:A2p ToggleAutoSolve.svg|24px]].

Comportement lors de la mise à jour de pièces importées
Problèmes connus :
 * Recalculer les pièces importées avant de les mettre à jour Toutes les pièces de l'assemblage, y compris les sous-assemblages, seront ouvertes dans FreeCAD pour être reconstruites à l'aide des valeurs des feuilles de calcul. Cette fonctionnalité est conçue pour une construction totalement paramétrique. Remarque: cette fonctionnalité est très expérimentale et n'est pas recommandée pour des projets importants.
 * L'assemblage peut être détruit à cause de fausses références à des noms topologiques dans des pièces
 * Les feuilles de calcul principales peuvent être endommagées lorsqu'elles sont modifiées alors qu'un fichier de pièce référencé est déjà fermé. Cela peut planter FreeCAD.


 * Activer la mise à jour récursive des pièces importées Ouvre tous les sous-assemblages de manière récursive pour les mettre à jour.


 * Utiliser un nom topologique expérimental Lors de l’importation de pièces dans l’assemblage, un algorithme génère des noms topologiques pour chaque sous-élément de la forme importée. Les noms topologiques sont écrits dans . Lorsqu'une pièce importée doit être mise à jour, ces noms topologiques sont utilisés pour mettre à jour les sous-éléments des contraintes. Ainsi, les assemblages deviennent plus robustes face aux nombres volatils de sous-éléments de FreeCAD. Remarque: Cela augmente la taille des fichiers et le temps de calcul lors de l'importation de pièces. Si la dénomination topologique doit être utilisée, elle doit être activée avant la création de l'assemblage.


 * Hériter par transparence des pièces et des sous-assemblages Utilisez les paramètres de couleur et de transparence des pièces importées. Remarque : cette fonctionnalité est très expérimentale et n'est pas recommandée pour des projets importants.


 * N'importez pas de formes invisibles Cela masquera les formes de données / construction invisibles. Remarque: Aucune contrainte ne doit être connectée aux formes de référence / construction dans les sous-ensembles supérieurs ou autres.Sinon, vous pouvez casser l'assemblage.


 * Utilisez l'union solide pour importer des pièces et des sous-assemblages Toutes les pièces importées seront directement assemblées en tant que union.  Cette fonctionnalité est utile pour les simulations FEM simulations ou l’impression 3D si un seul solide est autorisé. L'alternative consiste à créer ultérieurement une forme de l'assemblage complet.

Paramètres de l'interface utilisateur

 * Afficher les contraintes dans la barre d'outils Si cette option n'est pas utilisée, les boutons de la barre d'outils pour les différentes contraintes ne sont pas visibles pour économiser de l'espace dans la barre d'outils. De nouvelles contraintes peuvent toujours être définies à l’aide de la boîte de dialogue Outils de contrainte (bouton de la barre d’outils [[Image:A2p DefineConstraints.svg|24px]]).

Stockage des fichiers

 * Utiliser des chemins relatifs pour les pièces importées UUtilise les chemins de fichiers relatifs aux fichiers de pièce.
 * Utiliser des chemins absolus pour les pièces importées Utilise des chemins de fichier absolus pour les fichiers de pièces.
 * Tous les fichiers sont dans ce dossier de projet : Tous les fichiers de projet doivent être dans le dossier spécifié. Peu importe s'ils se trouvent dans les sous-dossiers de ce dossier.Remarque: aucun fichier ne peut exister plusieurs fois dans le dossier (par exemple, dans différents sous-dossiers). Cette option est utile pour travailler sur différentes machines car il suffit ensuite de copier le dossier du projet.

Dépannage
Tôt ou tard, vous aurez le problème qu'A2plus ne peut pas résoudre les contraintes que vous avez définies.Pour surmonter cela, il existe différentes stratégies :

Vérification de la direction de la contrainte
Parfois, les contraintes semblent être systématiquement définies mais elles ne peuvent néanmoins pas être résolues. Un exemple: supposons que vous ayez un ensemble de contraintes pour deux plans. Vous souhaitez maintenant définir pour les mêmes plans la contrainte et A2plus ne peut pas résoudre ce problème. Alors les directions de contrainte des et  sont différentes. Utilisez la même direction pour les deux contraintes afin de résoudre ce problème.

Suppression de contraintes
La plupart des cas de contraintes insolubles se produisent directement lors de l'ajout d'une nouvelle contrainte. La solution consiste alors à supprimer la dernière contrainte que vous avez ajoutée. A2plus le proposera également.

Parfois, la stratégie de suppression est la seule, par exemple lorsque vous modifiez une pièce dans FreeCAD afin que des faces ou des arêtes liées à des contraintes soient manquantes. Vous devez ensuite supprimer une contrainte liée à la pièce modifiée à la fois. Utilisez le bouton de la barre d'outils  après chaque suppression pour voir si vous avez atteint un état que le solveur peut résoudre.

Lorsque vous avez un assemblage qui peut être résolu, ajoutez étape par étape les contraintes dont vous avez besoin.

Pièces mobiles
Dans de nombreux cas, le solveur ne nécessite que des meilleures valeurs de départ pour résoudre les contraintes. Prenons par exemple le cas où vous avez une pièce essieu et une pièce roue. Vous ajoutez une contrainte  et n'obtenez aucune information sur l'échec du solveur, mais les pièces ne sont pas déplacées en conséquence et dans le l'onglet Afficher rapport de FreeCAD, vous voyez "REACHED POS-ACCURACY :0.0". Une solution à cela consiste à rapprocher les pièces de la position souhaitée par la contrainte.

Remarque : Assurez-vous qu'au moins une pièce de la contrainte a la propriété  définie sur false.

Définition de la propriété Fonction résultante
Si vous avez oublié certaines fonctionnalités de votre pièce après l'importation dans un assemblage A2plus, vérifiez la propriété. A2plus importe le corps des pièces avec toutes leurs fonctionnalités jusqu'à la fonction résultante. Cela est judicieux, car définir la fonction résultante sur une certaine fonctionnalité signifie que toutes les fonctionnalités situées derrière la fonction résultante ne doivent pas apparaître dans la pièce finale. Ainsi, s'il vous manque une fonctionnalité de pièce dans A2plus, ouvrez la pièce via le bouton de la barre d’outils, puis sélectionnez un corps et regardez sa propriété. Si l'info-bulle ne correspond pas à la fonctionnalité souhaitée, cliquez avec le bouton droit de la souris sur celle-ci et choisissez. Enfin, enregistrez la pièce et rechargez l’assemblage à l’aide du bouton de la barre d’outils.

Réparation de l'arbre d'assemblage
Si vous ne voyez pas clairement pourquoi certaines contraintes ne peuvent pas être résolues, vous pouvez utiliser le bouton de la barre d’outils. Ceci résoudra toutes les contraintes et les regroupera à nouveau sous les différentes pièces.

Migration d'anciens assemblages A2plus
Les assemblages créés avec A2plus antérieurs à mars 2019 n'affichent pas les icônes correctes pour les pièces importées et ont des propriétés obsolètes. Ces assemblages peuvent être migrés vers A2plus version 0.4.35 et plus récente à l'aide du menu. Après cela, vous devez enregistrer et rouvrir votre fichier d'assemblage.

Éviter les caractères accentués
Cette stratégie n'est pas nécessaire pour Windows.

Sur certains systèmes d'exploitation, vous pouvez rencontrer des problèmes si les noms de fichier ou les chemins de fichier des pièces ou de l'assemblage contiennent des caractères accentués. Par conséquent, évitez ces caractères et les caractères spéciaux en général.

Position de fixation
Cette stratégie n'est plus nécessaire pour les assemblages créés avec A2plus 0.3.11 ou une version plus récente, car A2plus émet désormais un avertissement pour les positions fixes manquantes.

Lorsque vous définissez une contrainte entre deux pièces et qu'aucune pièce n'a la propriété  définie sur true ou est liée par une contrainte à une pièce avec  définie sur true, la contrainte ne peut pas être résolue. La même chose se produit si les deux pièces de la contrainte ont  défini sur true.

Ensuite, A2plus transmet les informations relatives à la solution défaillante, mais parfois, vous voyez que les pièces ne sont pas déplacées en conséquence et dans l'onglet Afficher rapport de FreeCAD, vous voyez "REACHED POS-ACCURACY :0.0". Cela signifie que le solveur a fini sans erreurs mais qu'il n'a pas pu résoudre les contraintes.

Par conséquent, vérifiez qu'au moins une de vos pièces de l'ensemble a  définie sur true. Assurez-vous ensuite que vous ne définissez des contraintes que sur une pièce qui est en quelque sorte connectée à la pièce fixe. Pour visualiser ces dépendances, reportez-vous à la section Structure de l'assemblage.

Pièces tournantes
Cette stratégie n'est plus nécessaire pour les assemblages créés avec A2plus 0.4.0 ou plus récent, car A2plus fait pivoter automatiquement les pièces en arrière-plan afin d'obtenir un angle de départ suffisant pour le solveur.

Le solveur échoue souvent pour la contrainte  si les deux plans sélectionnés ont actuellement un angle de 0 ° ou 180 °. (Les pièces ne sont pas déplacées en conséquence et dans l'onglet "Vue Rapport" de FreeCAD, vous voyez "REACHED POS-ACCURACY :0.0".) Une solution consiste à faire pivoter une pièce de quelques degrés à l'aide de la fonction de transformation de FreeCAD (cliquez avec le bouton droit de la souris sur la pièce dans l’arbre du modèle et sélectionnez dans le menu contextuel ).

Remarque: Assurez-vous qu'au moins une pièce de la contrainte a la propriété définie sur false.

Animation
A2plus propose des animations via des scripts Python. Cela peut sembler compliqué, mais avec un modèle de script, les utilisateurs sans fond de programmation peuvent obtenir des animations.

Glisser
Les animations de glissement sont interactives. Vous les déclenchez en faisant glisser une partie de l'assemblage. Pour obtenir ce genre d'animations:
 * 1) Contraindre complètement la partie dont le mouvement ou la rotation doit être animé.
 * 2) Cliquez sur le bouton de la barre d'outils [[Image:A2p MovePartUnderConstraints.svg|24px]]. Cela active le mode de glissement.
 * 3) Cliquez sur la pièce souhaitée dans l'assemblage.
 * 4) Vous pouvez maintenant déplacer la souris et la pièce suivra le mouvement de la souris dans les contraintes définies.
 * 5) Pour terminer le mode de glissement, faites un clic gauche dans l'assemblage ou appuyez sur ÉCHAP.

Voici un exemple d'assemblage pour tester l'animation de glissement: A2p_example-for-dragging-animation.FCStd

Voici l'animation de glissement à l'aide de l'exemple d'assemblage:



Script
Bien que le mode glisser offre de belles animations interactives, elles ne sont parfois pas assez précises pour les screencasts ou les vidéos. Les animations scriptées ont l'avantage d'animer des mouvements et des rotations d'une manière définie. Vous pouvez par exemple faire pivoter une pièce exactement de 10° d'avant en arrière. Les exemples suivants utilisent un assemblage dans lequel une pièce doit être tournée. Si vous essayez d'animer cela en utilisant le mode glisser, vous verrez à quel point il est difficile d'obtenir une rotation d'avant en arrière que vous pouvez par exemple montrez votre patron dans une présentation. Avec l'exemple de script interactif, c'est une tâche facile.

Une animation scriptée fonctionne généralement de cette façon:
 * 1) L'assemblage est entièrement contraint.
 * 2) Le script modifie un paramètre, par exemple la position ou l'angle de rotation d'une pièce.
 * 3) Après le changement de paramètre, les contraintes d'assemblage sont résolues.
 * 4) Les étapes 2 et 3 sont répétées pour obtenir l'animation.

Il est également possible de modifier au lieu d'un paramètre de placement une contrainte, par exemple la distance entre 2 plans.

Exemple simple de script
La manière la plus simple de scénariser une animation est une animation non interactive qui suit un mouvement défini. Voici un exemple: Téléchargez d'abord ce fichier d'assemblage: A2p_animated-example.FCStd et aussi ce script Python: /file.php?id=97981 A2p_animation-example-script.py.

C'est le contenu du script et les lignes commençant par un '#' décrivent ce que font les différentes lignes de script:

Pour utiliser le script pour effectuer l'animation, nous devons:
 * 1) Ouvrir le fichier d'assemblage dans FreeCAD.
 * 2) Ouvrir le fichier de script dans FreeCAD.
 * 3) Cliquer sur le bouton de la barre d'outils [[Image:Menu_Std_DlgMacroExecute_fr_02.png|24px]] pour exécuter le script (également appelé macro).
 * 4) Passer à l'onglet de l'assemblage pour voir la rotation.

Pour vous entraîner, changez simplement quelque chose dans le script et exécutez-le ensuite. Par exemple, augmentez «step» à «5».

Voici le résultat de l'exemple d'animation:



Exemple interactif
Le premier exemple a montré comment créer une animation sans rétroaction de l'utilisateur. Pour la plupart des applications, vous devez interagir avec l'animation. Par exemple, le problème intéressant dans l'exemple est de voir comment les broches d'entraînement traversent la rainure centrale de la roue. Pour regarder de plus près, vous pouvez présenter ce détail à vos collègues. Vous avez donc besoin d'une solution interactive.

Cela peut être fait en utilisant une boîte de dialogue d'animation personnalisée avec un curseur. En déplaçant le curseur, vous pouvez définir l'angle de rotation et donc faire pivoter d'avant en arrière à une position intéressante.

Nous utilisons le même fichier d'assemblage:A2p_animated-example.FCStd et ce script Python: A2p_animation-example-script.py.

Voici le contenu du script pour obtenir la boîte de dialogue d'animation interactive:

La boîte de dialogue définie dans le script ressemble à ceci:

Commandes de script
Pour mieux comprendre la syntaxe du script, voici quelques informations de commande:

La commande signifie que nous changeons la propriété de placement Rotation.Angle de la pièce obtenue précédemment en tant que "starWheel". Cette propriété obtient l'angle en radian. La fonction radians de la bibliothèque math convertit l'angle de degré en radian.

La propriété Rotation.Angle utilise l'axe de placement actuel de la pièce (dans notre exemple l'axe des x). Pour faire pivoter la pièce, par ex. autour de l'axe z, on peut définir l'axe de rotation (avant d'appeler la commande de rotation) en utilisant la commande

Au lieu de tourner, les pièces peuvent également être déplacées. Pour changer par exemple le placement dans la direction y de la roue, la commande serait Dans ce cas, nous ne définirions pas la variable angle mais PositionShift que nous modifions à chaque boucle. Il existe différentes façons de définir le placement d'une pièce. Certains sont documenté ici. Malheureusement, il n'y a pas de liste avec toutes les commandes de positionnements possibles.

La commande est une commande spécifique à A2plus. Elle résout les contraintes d'assemblage de l'assemblage que nous avons précédemment obtenu en tant que "document". L'option useTransaction spécifie si FreeCAD doit stocker chaque modification dans la pile undo/redo. Pour les grandes animations, vous pouvez donc le régler sur False.