Std LinkMake/fr

Description
crée une classe App Link, un type d'objet faisant référence ou lié à un autre objet, dans le même document ou dans un autre document. Il est spécialement conçu pour dupliquer efficacement un seul objet plusieurs fois, ce qui permet de créer des assemblages complexes à partir de sous-assemblages plus petits et de plusieurs composants réutilisables tels que des vis, des écrous et des éléments de fixation similaires.

L'objet App Link a été nouvellement introduit dans la v0.19. Auparavant, une simple duplication d'objets pouvait être réalisée avec, mais c'est une solution moins efficace en raison de son implémentation qui crée essentiellement une copie de la forme interne de l'objet source. D'un autre côté, un lien fait directement référence à la forme d'origine, donc plus efficace en mémoire.

En lui-même, l'objet Link peut se comporter comme un tableau dupliquant son objet de base plusieurs fois. Cela peut être fait en définissant sa propriété sur  ou plus. Cet objet "Link Array" peut également être créé avec les différents outils de tableau du atelier Draft, par exemple, , et.

Lorsqu'ils sont utilisés avec l' atelier PartDesign, les liens sont destinés à être utilisés avec. Il est donc recommandé de définir sur  pour sélectionner les caractéristiques du corps entier et non les fonctions individuelles. Pour créer des tableaux des PartDesign Features internes, utilisez, et.

L'outil n'est pas défini par un atelier particulier mais par le système de base. De ce fait il se trouve donc dans qui est disponible dans tous les ateliers. L'objet Link, utilisé en conjonction avec pour regrouper divers objets, constitue la base des ateliers  Assembly3 et  Assembly4.

Utilisation
Avec sélection :
 * 1) Sélectionnez un objet dans la Vue en arborescence ou la vue 3D pour lequel vous souhaitez créer un lien.
 * 2) Appuyez sur le bouton . L'objet crée a la même icône que l'objet d'origine mais a une flèche superposée indiquant qu'il s'agit d'un lien.

Sans sélection :
 * 1) Si aucun objet n'est sélectionné, appuyez sur le bouton  pour créer un lien vide Link.svg.
 * 2) Allez dans l'Éditeur de propriétés, puis cliquez sur la propriété  pour ouvrir la Dialogue de sélection des liens pour choisir un objet, puis appuyez sur.
 * 3) Au lieu de choisir un objet entier dans la Vue en arborescence, vous pouvez également choisir des sous-éléments (sommets, arêtes ou faces) d'un seul objet dans la Vue 3D. Dans ce cas, le lien dupliquera uniquement ces sous-éléments et la superposition de flèches sera différente. Cela peut également être fait avec.



Utilisation : documents externes

 * 1) Commencez par un document contenant au moins un objet qui sera la source du lien.
 * 2) Ouvrez un nouveau document ou un document existant. Pour une manipulation plus facile, utilisez  pour afficher les deux documents dans la Vue en arborescence. Avant de continuer, sauvegarder les deux documents. Le lien ne pourra pas trouver sa source et sa cible à moins que les deux documents ne soient enregistrés sur le disque.
 * 3) Dans le premier document, sélectionnez l'objet que vous souhaitez lier, puis changez d'onglet dans la Zone de vue principale pour passer au deuxième document.
 * 4) Appuyez sur . L'objet produit a la même icône que l'objet d'origine mais a une flèche superposée indique qu'il s'agit d'un lien provenant d'un document externe.


 * Lors de l'enregistrement du document avec le lien, il sera demandé également de sauvegarder le document source qui contient l'objet d'origine.
 * Pour inclure l'objet d'origine dans le document avec le lien, utilisez ou.
 * peut être utilisé sur un objet Link existant afin de créer un lien vers un lien qui résout finalement l'objet original dans le document source. Cela peut être réalisé avec pour ne sélectionner que certains sous-éléments également.



Glisser-déposer
Au lieu de changer d'onglet de document, vous pouvez créer des liens en effectuant une opération de glisser-déposer dans la Vue en arborescence: sélectionnez l'objet source dans le premier document, faites-le glisser, puis déposez-le dans le nom du second document tout en maintenant la touche du clavier.

Le glisser-déposer entraîne différentes actions en fonction de la touche de modification enfoncée.
 * Sans touche de modification, il déplace simplement l'objet d'un document à l'autre; une flèche inclinée s'affiche dans le curseur.
 * Maintenir la touche copie l'objet ; un signe plus est affiché dans le curseur.
 * Maintenir la touche crée un lien ; une paire de maillons de chaîne est affichée dans le curseur.

Pour les modificateurs et, le glisser-déposer peut également être effectué avec un seul document. Autrement dit, faire glisser un objet et le déposer dans le même nom de document peut être utilisé pour créer plusieurs copies ou plusieurs liens vers celui-ci.

Groupes
peut être utilisé avec des objets afin de dupliquer rapidement des groupes d'objets positionnés dans l'espace, c'est-à-dire assemblages.



Un ne possède pas de propriété, il ne peut donc pas contrôler la position des objets à l'intérieur de celui-ci. Cependant, lorsque est utilisé avec, le lien résultant se comporte essentiellement comme un  et peut également être déplacé dans l'espace.



Un lien vers un gardera la visibilité des objets synchronisée avec la Part d'origine. Donc si vous masquez un objet dans un lien, il sera masqué dans tous les liens et dans l'objet d'origine. D'un autre côté, un lien vers un permettra un contrôle indépendant des visibilités.



Apparence de remplacement
Lorsqu'un lien est créé, par défaut est, donc le lien aura la même apparence que l'original.

Lorsque est défini sur, la propriété  contrôlera désormais l'apparence du lien.

Quel que soit l'état de, il est possible de définir individuellement l'apparence des sous-éléments (sommets, arêtes, faces) d'un lien.
 * 1) Sélectionnez le lien dans la Vue en arborescence. Ouvrez le menu contextuel (clic droit) et choisissez.
 * 2) Choisissez maintenant les sous-éléments individuels que vous voulez dans la Vue 3D, appuyez sur  et modifiez les propriétés, y compris la transparence.
 * 3) Pour supprimer les attributs personnalisés, sélectionnez les éléments dans la liste et appuyez sur.
 * 4) Lorsque vous êtes satisfait du résultat, appuyez sur  pour fermer la boîte de dialogue.

à partir de la v0.19, la coloration des sous-éléments est soumise au Problème de dénomination topologique. Elle doit être effectuée comme dernière étape de modélisation lorsque le modèle n'est plus sensé être modifié.



Réseau lien
Draft Réseau orthogonal.

Lorsqu'un lien est créé, par défaut, son est, donc un seul objet Link sera visible dans la Vue en arborescence.

Étant donné que est  par défaut, lorsque  est défini sur  ou plus, automatiquement plus de liens seront créés sous le premier. Chaque nouveau lien peut être placé à la position souhaitée en modifiant sa propre propriété.

De la même manière, chaque élément du réseau peut avoir sa propre apparence modifiée, soit par les propriétés et, soit en utilisant le menu  sur l'ensemble du réseau puis en sélectionnant des faces une par une. Ceci est décrit dans Apparence de remplacement.



Une fois que vous êtes satisfait de l'emplacement et des propriétés des éléments Liens dans le réseau, vous pouvez changer en  afin de masquer les liens individuels dans la Vue en arborescence. Cela présente l'avantage de rendre le système plus réactif, en particulier si vous avez de nombreux objets dans le document.

Lors de la création de ce type de réseau de liens, vous devez placer chacun des éléments manuellement. Cependant, si vous souhaitez utiliser des modèles spécifiques pour placer les copies, vous pouvez utiliser les outils de réseau de l' atelier Draft, comme, et ; ces commandes peuvent créer des copies normales ou des copies de lien selon les options au moment de la création.

Visibilité
Lorsque est  et que des éléments individuels sont répertoriés dans la Vue en arborescence dans un Réseau lien, chaque lien peut être affiché ou masqué par en appuyant sur la barre  du clavier.

Une autre façon de masquer les éléments individuels consiste à utiliser le menu.
 * 1) Sélectionnez le tableau, ouvrez le menu  (clic droit).
 * 2) Dans la Vue 3D, choisissez n'importe quel sous-élément à partir de n'importe quel lien du réseau.
 * 3) Appuyez sur . Une icône représentant un œil Invisible.svg devrait apparaître, indiquant que cet élément a été masqué de la Vue 3D. L'objet s'affichera temporairement lorsque le curseur survolera l'icône Invisible.svg.
 * 4) Vous pouvez cliquer sur  pour confirmer l'opération et fermer la boîte de dialogue. Le lien restera caché même s'il est affiché comme visible dans la Vue en arborescence.



Si vous souhaitez restaurer la visibilité de cet élément du réseau, entrez à nouveau dans la boîte de dialogue, choisissez l'icône en forme d'œil, puis cliquez sur pour supprimer l'état caché et cliquez sur  pour confirmer et fermez la boîte de dialogue. L'élément sera à nouveau visible dans Vue 3D.

Lorsque le lien est pour un ou un, le menu  fonctionne de la même manière qu'avec les réseaux. Il permet de contrôler la couleur de la face, la couleur de l'objet entier et la visibilité des objets du groupe.



Propriétés
Un App Link (classe ) est dérivé de App DocumentObject (classe ). Il a donc les propriétés de base de ce dernier comme et.

Voici les propriétés spécifiques disponibles dans l'Éditeur de propriétés. Les propriétés masquées peuvent être affichées en utilisant la commande dans le menu contextuel de l'Éditeur de propriétés.

Données

 * : il indique l'objet source de App Link; il peut s'agir d'un objet entier ou d'un sous-élément de celui-ci (sommet, arête ou face).
 * : la valeur par défaut est, auquel cas le lien remplacera le propre emplacement de . S'il est défini sur , le lien sera placé à la même position que , et son placement sera relatif à l'emplacement de . Ceci peut également être réalisé avec.
 * : le placement du lien en coordonnées absolues.
 * : il s'agit d'un décalage appliqué au-dessus du du . Cette propriété est normalement masquée mais apparaît si  est défini sur  ; dans ce cas,  devient désormais masqué.
 * : la valeur par défaut est, auquel cas la Vue en arborescence affichera les copies de lien individuelles, tant que est  ou plus grand.
 * : la valeur par défaut est . S'il est ou plus grand, le App Link se comportera comme un réseau et dupliquera le même  plusieurs fois. Si  est, chaque élément du tableau sera affiché dans la Vue en arborescence et chacun pourra avoir son propre  modifié. Chaque copie de lien aura un nom basé sur le nom (Name) du lien, augmenté de , où  est un nombre commençant par . Par exemple, avec un seul , les copies seront nommées , , , etc.
 * : nom de la fonction d'exécution qui s'exécutera pour cet objet Link particulier. La valeur par défaut est . Réglez-le sur pour le désactiver.
 * : liste des éléments Link dont la couleur a été remplacée.
 * : la valeur par défaut est . C'est un facteur de mise à l'échelle uniforme dans chaque direction, et . Par exemple, un cube de  x  x , qui est mis à l'échelle par , donnera une forme aux dimensions  x  x.
 * : le facteur d'échelle pour chaque composant pour tous les éléments Link lorsque  est  ou plus. Si  est différent de, cette même valeur sera utilisée dans les trois composants.
 * : le facteur d'échelle pour chaque élément Link.
 * : l'état de visibilité de chaque élément Link, soit  ou.
 * : l'emplacement de chaque élément Link.
 * : la liste des éléments Link.


 * : classe personnalisée associée à cet objet. Cela n'existe que pour la version Python. Voir Script.

L'objet App Link affichera en plus les propriétés de d'origine, ainsi l'Éditeur de propriétés peut avoir des groupes de propriétés comme, , , etc.

Vues

 * : il vaut par défaut ; il peut s'agir de, , , ; définit le style des arêtes dans la Vue 3D.
 * : un flotteur qui détermine la largeur en pixels des bords dans la Vue 3D. La valeur par défaut est.
 * : la valeur par défaut est ; s'il est défini sur, il remplacera le matériau de et affichera les couleurs définies dans.
 * : similaire à, définit la taille des sommets.
 * : s'il est, l'objet peut être sélectionné avec le pointeur dans la Vue 3D. Sinon, l'objet ne peut pas être sélectionné tant que cette option n'est pas définie sur.


 * : cette propriété comprend des sous-propriétés qui décrivent l'apparence de l'objet.
 * , la valeur par défaut est, qui s'affiche sous la forme sur la base 255, light blue ..
 * , la valeur par défaut est, qui s'affiche sous la forme sur la base 255, dark gray.
 * , la valeur par défaut est, qui s'affiche sous la forme sur la base 255, black.
 * , la valeur par défaut est, qui s'affiche sous la forme sur la base 255, black.
 * , la valeur par défaut est
 * , la valeur par défaut est.


 * : si des matériaux individuels ont été ajoutés, ils seront listés ici.
 * : si les faces ou arêtes individuelles du lien ont été remplacées, elles seront listées ici.
 * : si les différents matériaux du lien ont été remplacés, ils seront listés ici.
 * : si les différents matériaux du lien ont été remplacés, ils seront listés ici.


 * : ou.
 * : voir les informations dans App FeaturePython.
 * : voir les informations dans App FeaturePython.


 * : voir les informations dans App FeaturePython.
 * : voir les informations dans App FeaturePython.

Il montrera en outre les propriétés de vue de l'original.

Héritage
Un App Link est formellement une instance de la classe, dont le parent est le App DocumentObject (classe ). C'est un objet de très bas niveau, qui peut être utilisé avec la plupart des autres objets de document.



Script
Débuter avec les scripts et Objets créés par script.

Voir Part Feature pour plus d'informations.

Un lien d'application est créé avec la méthode du document. Il peut définir son en remplaçant son attribut, ou en utilisant sa méthode.

Le de base n'a pas d'objet Proxy, il ne peut donc pas être entièrement utilisé pour la sous-classification.

Par conséquent, pour la sous-classification Python, vous devez créer l'objet.

Lecture complémentaire
L'objet App Link a été introduit après 2 ans de développement et de prototypage. Ce composant a été pensé et développé presque seul par l'utilisateur. Les motivations et les implémentations de conception derrière ce projet sont décrites dans sa page GitHub, Link. Afin d'accomplir cette fonctionnalité, plusieurs modifications fondamentales de FreeCAD ont été apportées; ceux-ci ont également été largement documentés dans Core-Changes.

Le projet App Link a démarré après que la refonte de l'atelier PartDesign s'est terminée dans la v0.17. L'histoire d'App Link peut être retracée à certains fils de discussion essentiels du forum :
 * Pourquoi un objet ne peut être que dans un seul App::Part? (mars 2017)
 * Présentation de App::Link/XLink (mars 2017)
 * Liens (mai 2017)
 * Implémentation de Realthunder Link: discussion sur l'architecture (juin 2017)
 * PR # 876: Lien, première étape, sélection sensible au contexte (juillet 2017)
 * Preview: Link, stage two, API groundwork (juillet 2017)
 * Aperçu Assembly3 (décembre 2017)
 * Fusion de ma branche Link (juin 2018)

Enfin, le pull request et le merge ont eu lieu :
 * App::Link: the big merge, ancien fil de discussion (juillet 2019), pull request #2350 (the BIG merge), LinkMerge branch.
 * App::Link: the big merge, fil de discussion principal (juillet 2019)
 * A simple path description of Link, 019, Link stage, Asm3, merge? (août 2019)
 * PR#2559: expose link and navigation actions, une introduction à la fonctionnalité Lien dans la version 0.19 (septembre 2019).

D'autres "liens" divers à propos de Link incluent :
 * Dynamic linked object - Un schéma avec Link et assemblys qui vise à réduire la duplication de la logique associée à l'assemblage telle que l'orientation, le positionnement ou le nombre d'instances.