A2plus Workbench/fr

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

Cette documentation porte sur la version 0.3.16 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. 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.

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 vue d'ensemble
Plus vous ajoutez de pièces, plus il est important de conserver la vue d'ensemble. 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, la pièce 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 dans 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]].

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 à l’avance 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 sommet (point) sur une pièce et une arête sur l'autre pièce. Le bouton de la barre d'outils  ajoute la contrainte . Cela mettra le sommet sur le bord.

Point sur Plan
Sélectionnez un sommet (point) sur une pièce et un plan sur l'autre pièce. 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 sommet (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
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.

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 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 à tout moment être résolues 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 #PARSTINFO# des pièces dans une liste comme celle-ci :



The position (POS) is automatically set according to the appearance of the parts in the model tree. The top level part will get POS 1. The quantity (QTY) is automatically calculated from the assembly. If a parts is two times in the assembly it will get QTY 2.

If you have updated a part info you can refresh the parts list by pressing the toolbar button again.

For subassemblies you can also create an info spreadsheet using the toolbar button. When you create or update the parts list of the main assembly this info will be used if you click on No for the question if you want to iterate recursively over all subassemblies. Then the different parts are not in the parts list but only the subassemblies.

Assembly Structure
The toolbar button  creates a HTML file with the structure of your assembly. The file will by default be created in the folder of your assembly file. The structure looks like this one:

Degrees of Freedom
The button outputs a list of all parts in your assembly that are connected with a constraint. It states how many degrees of freedom and dependencies every part has. The list is output into FreeCAD's widget Report view. If this widget is currently not visible, it can either be shown by right-clicking into an empty part of the FreeCAD toolbar area and then choosing it in the appearing context menu or with the menu.

Shape of whole Assembly
Sometimes it is necessary to have the whole assembly combined as one shape. This shape can then for example be used for 3D printing in the Mesh workbench or for drawings in the TechDraw workbench. It is created using the toolbar button. The shape is by default not made visible. Use the same toolbar button to update the shape in case of changes in the assembly.

Preferences
The a2plus preferences can be accessed via FreeCAD's menu and there in the section A2plus. You can set the following options:

Default solving method

 * Use solving of partial systems The solver begins with a part that has the property set to true and a part constrained to it. All other parts are not calculated. If a solution could be found, the next constrained part is added for the calculation and so on.
 * Use "magnetic" solver, solving all parts at once The solver tries to move all parts at once in direction to a part that has the property set to true. Note that this will in most cases take more time for the calculation of a solution.
 * Force fixed position This sets for all parts in the assembly the property to true. Then no calculation is actually performed since all parts will always be fixed to the positions where they were created.

Default solver behavior

 * Solve automatically if a constraint property is changed The solver will automatically be started. The same as turning on the toolbar button [[Image:A2p ToggleAutoSolve.svg|24px]].

Behavior when updating imported parts

 * Recalculate imported parts before updating them All parts of the assembly, including subassemblies, will be opened in FreeCAD to be reconstructed using values from spreadsheets. This feature is designed to construct fully parametrically. Note: This feature is very experimental and not recommended for important projects. Known problems:
 * The assembly can be destroyed because of wrong references to topological names in parts
 * Master spreadsheets can get broken when they are edited while a referenced part file is already closed. This can crash FreeCAD.


 * Enable recursive update of imported parts Opens all subassemblies recursively to update them.


 * Use experimental topological naming While importing parts to the assembly an algorithm generates topological names for each subelement of the imported shape. The topological names are written into the . When an imported part needs to be updated, these topological names are used to update the subelements of the constraints. So assemblies get more robust against volatile subelement numbers of FreeCAD. Note: This increases file sizes and calculation time during importing of parts. If topological naming should be used it has to be activated before the assembly is created.


 * Inherit per face transparency from parts and subassemblies Use color and transparency settings from imported parts. Note: This feature is very experimental and not recommended for important projects.


 * Do not import invisible shapes This will hide invisible datum/construction shapes. Note: No constraints must be connected to datum/construction shapes in higher or other subassemblies. Otherwise you can break the assembly.


 * Use solid union for importing parts and subassemblies All imported parts will directly be put together as union.  This feature is useful for for FEM simulations or 3D-printing if only one solid is allowed. The alternative is to create later a shape of the whole assembly.

User interface settings

 * Show constraints in toolbar If this option is not used, the toolbar buttons for the different constraints are not visible to save space in the toolbar. New constraints can still be set using the Constraint Tools dialog (toolbar button [[Image:A2p DefineConstraints.svg|24px]]).

Storage of files

 * Use relative paths for imported parts Uses relative file paths to the part files.
 * Use absolute paths for imported parts Uses absolute file paths to the part files.
 * All files are in this project folder: All project files have to be in the specified folder. It doesn't matter if they are in subfolders of this folder. Note: No file is allowed to exist several times in the folder (e.g. in different subfolders). This option is helpful to work on different machines because then one only has to copy the project folder.

Troubleshooting
Sooner or later you will get the problem that A2plus cannot solve the constraints you set. To overcome this, there are different strategies:

Checking Constraint Direction
Sometimes constraints seem to be consistently defined but they can nevertheless not be solved. An example: Assume you have a constraint set for two planes. Now you want to set for the same planes the constraint and A2plus cannot solve this. Then the constraint directions of and  are different. Use the same direction for both constraints to fix this.

Deleting Constraints
Most cases of unsolvable constraints occur directly when adding a new constraint. The solution is then to delete the constraint you added the last. A2plus will also propose this.

Sometimes the deletion strategy is the only one, for example when you edited a part in FreeCAD so that faces or edges connected to constraints are missing. You should then delete one constraint after another that is connected to the changed part. Use the toolbar button after every deletion to see if you reached a solvable state.

When you got an assembly that can be solved, add step by step the constraints you need.

Moving Parts
In many cases the solver need only better start values to solve the constraints. Take for example the case that you have an axle part and a wheel part. You add a constraint and get no info that the solver failed but the parts are not moved accordingly and in the Report view widget of FreeCAD you see "REACHED  POS-ACCURACY :0.0". A solution for this is to move the parts closer to that position you like to get by the constraint.

Note: Assure that at least one part of the constraint has the property set to false.

Rotating Parts
The solver often fails for the constraint if the two selected planes have currently an angle of 0° or 180°. (The parts are not moved accordingly and in the Report view widget of FreeCAD you see "REACHED POS-ACCURACY :0.0".) A solution for this is to rotate one part by a few degrees using FreeCAD's transform feature (right-click on the part in the model tree and select in the context menu ).

Note: Assure that at least one part of the constraint has the property set to false.

Setting the Tip Property
If you miss some features of your part after the import to an A2plus assembly, check the property. A2plus imports bodies of parts with all their features up to the tip feature. This is sensible because setting the tip to a certain feature means that all features behind the tip should not appear in the final part. So if you miss a part feature in A2plus, open the part via the toolbar button, then select a body and look at its property. If the tip is not at the feature where you want it, right-click on the feature where the tip should be and choose. Finally save the part and reload the assembly using the toolbar button.

Repairing Assembly Tree
If you cannot see a clear reason why some constraints cannot be resolved, you can try to use the toolbar button. This will resolve all constraints and re-group then again under the different parts.

Avoiding Accented Characters
On some operating systems you can get problems if the file names or the file paths of parts or the assembly contain accented characters. Therefore avoid such characters and also special characters in general.

Fixing Position
This strategy is no longer necessary for assemblies created with A2plus 0.3.11 or newer because A2plus issues now a warning for missing fixed positions.

When you set a constraint between two parts and no part has the property set to true or is connected by a constraint to a part with  set to true, the constraint cannot be solved. The same happens if both parts of the constraint have set to true.

Then A2plus outputs the info about the failed solution, but sometimes you only see that the parts are not moved accordingly and in the Report view widget of FreeCAD you see "REACHED POS-ACCURACY :0.0". This means the solver finished without errors but it could actually not solve the constraints.

Therefore check that at least one of your parts in the assembly has set to true. Then assure that you only set constraints to a part which is somehow connected to the fixed part. To visualize these dependencies, see section Assembly Structure.