App Link
Introduction
Un App Link, ou formellement un App::Link
, est un élément qui renvoie une référence à un autre objet du document ou à un document externe. Cet objet est introduit dans la version 0.19 afin de réutiliser des objets créés précédemment, ce qui est très utile pour créer des assemblages.
Lorsqu'une copie normale d'un objet est créée (par exemple avec Part Copie simple), un nouvel objet complet avec sa forme topologique est dupliqué, ce qui consomme beaucoup de mémoire. App Link est utilisé pour réutiliser les données existantes d'un objet existant, il n'est donc pas nécessaire de créer un nouvel objet entier. Cela améliore la gestion des copies, en particulier dans le contexte d'assemblage mécanique où de nombreux doublons peuvent être nécessaires, ou lorsqu'il est nécessaire d'importer des assemblages plus petits dans des assemblages plus grands.
Utilisation
- Les App Links peuvent être créés en appuyant sur LinkMake.
Remarque: un App Link est un objet interne. Il est donc principalement destiné à être utilisé par les développeurs lors du développement d'établissements d'assemblage. Par exemple, les établis Assembly3 et Assembly4 utilisent cet objet. Voir Ateliers externes.
Propriétés
Voir Propriétés pour tous les types de propriétés que les objets crées par script peuvent avoir.
Un objet App::Link
n'est pas dérivé d'un Part Feature, cependant, si le lien fait référence à un objet externe, il affichera les propriétés de ce dernier.
Ce sont les propriétés disponibles dans l'Éditeur de propriétés pour un App::Link
vide.
Données
Link
- DonnéesLinked Object:
- DonnéesLink Transform:
- DonnéesPlacement:
- DonnéesShow Element:
- DonnéesElement Count:
- DonnéesScale:
Base
- DonnéesLabel:
Vue
Link
- VueDraw Style:
- VueLine Width:
- VueOverride Material:
- VuePoint Size:
- VueSelectable:
- VueShape Material:
Base
- VueOn Top When Selected:
- VueSelection Style:
- VueShow In Tree:
- VueVisibility:
Héritage
Diagramme simplifié des relations entre les objets centraux du programme. L'objet App::Link
est un composant central du système: il ne dépend d'aucun atelier mais peut être utilisé avec la plupart des objets créés dans tous les ateliers.
Création de scripts
Voir aussi: Débuter avec les scripts et Objets créés par script.
Voir Part Feature pour plus d'informations.
Un App Linkn est créé avec la méthode addObject()
du document.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::Link", "Name")
obj.Label = "Custom label"
Lecture complémentaire
L'objet App Link a été a été introduit après 2 ans de développement et de prototypage. Ce composant a été pensé et développé presque à lui seul par l'utilisateur realthunder. Les motivations et les implémentations de conception derrière ce projet sont décrites dans sa page GitHub, Link. Afin de réaliser cette fonctionnalité, plusieurs modifications essentielles à FreeCAD ont été apportées. Celles-ci sont également largement documentés dans Core-Changes.
Le projet App Link a démarré une fois la refonte de l'Atelier PartDesign fut terminée en v0.17. L'histoire d'App Link peut être reliée à certains fils de discussion essentiels du forum:
- Why an object can only be inside one App::Part? (Mars 2017)
- Introducing App::Link/XLink (Mars 2017)
- Links (Mai 2017)
- Realthunder Link implementation: Architecture discussion (Juin 2017)
- PR #876: Link, stage one, context aware selection (Juillet 2017)
- Preview: Link, stage two, API groundwork (Juillet 2017)
- Assembly3 preview (Décembre 2017)
- Merging of my Link branch (Juin 2018)
Enfin, le PR (pull request) et la fusion ont eu lieu:
- App::Link: the big merge, vieux fil (Juillet 2019), pull request #2350 (la GRANDE fusion), LinkMerge branch.
- App::Link: the big merge, fil 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é Link en 0.19 (Septembre 2019).
- File: New, Open, Close, Close All, Save, Save As, Save a Copy, Save All, Revert, Import, Export,Merge project, Project information, Print, Print preview, Export PDF, Recent files, Exit
- Edit: Undo, Redo, Cut, Copy, Paste, Duplicate selection, Refresh, Box selection, Box element selection, Select All, Delete, Send to Python Console, Placement, Transform, Alignment, Toggle Edit mode, Edit mode, Preferences
- View:
- Miscellaneous: Create new view, Orthographic view, Perspective view, Fullscreen, Bounding box, Toggle axis cross, Clipping plane, Texture mapping, Toggle navigation/Edit mode, Appearance, Random color, Workbench, Status bar
- Standard views: Fit all, Fit selection, Isometric, Dimetric, Trimetric, Home, Front, Top, Right, Rear, Bottom, Left, Rotate Left, Rotate Right
- Freeze display: Save views, Load views, Freeze view, Clear views
- Draw style: As is, Points, Wireframe, Hidden line, No shading, Shaded, Flat lines
- Stereo: Stereo red/cyan, Stereo quad buffer, Stereo Interleaved Rows, Stereo Interleaved Columns, Stereo Off, Issue camera position
- Zoom: Zoom In, Zoom Out, Box zoom
- Document window: Docked, Undocked, Fullscreen
- Visibility: Toggle visibility, Show selection, Hide selection, Select visible objects, Toggle all objects, Show all objects, Hide all objects, Toggle selectability
- Toolbars: File, Edit, Clipboard, Workbench, Macro, View, Structure, Help
- Panels: Tree view, Property view, Selection view, Tasks, Python console, DAG view, Model, Report view
- Link navigation: Go to linked object, Go to the deepest linked object, Select all links
- Tree view actions: Sync view, Sync selection, Sync placement, Pre-selection, Record selection, Single document, Multi document, Collapse/Expand, Initiate dragging, Go to selection, Selection Back, Selection Forward
- Tools: Edit parameters, Save image, Load image, Scene inspector, Dependency graph, Document utility, Measure, Add text document, View turntable, Units calculator, Customize, Addon manager
- Macro: Macro recording, Macros, Recent macros, Execute macro, Attach to remote debugger, Debug macro, Stop debugging, Step over, Step into, Toggle breakpoint
- Help: Help, FreeCAD Website, Donate, Users documentation, Python scripting documentation, Automatic Python modules documentation, FreeCAD Forum, FreeCAD FAQ, Report a bug, About FreeCAD, What's This
- Coeur : App DocumentObject
- Base : App FeaturePython, App GeoFeature, Part Fonction, Mesh Feature, Fem FemMeshObject
- Formes internes : Part TopoShape, Mesh MeshObject, Fem FemMesh
- Structure : App DocumentObjectGroup (Std Groupe), App Part (Std Part), App Link
- Derivés : Part Part2DObject, Sketcher SketchObject, PartDesign Corps, PartDesign Fonction
- Démarrer avec FreeCAD
- Installation : Téléchargements, Windows, Linux, Mac, Logiciels supplémentaires, Docker, AppImage, Ubuntu Snap
- Bases : À propos de FreeCAD, Interface, Navigation par la souris, Méthodes de sélection, Objet name, Préférences, Ateliers, Structure du document, Propriétés, Contribuer à FreeCAD, Faire un don
- Aide : Tutoriels, Tutoriels vidéo
- Ateliers : Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test
- Core: App DocumentObject
- Basic: App FeaturePython, App GeoFeature, Part Feature, Mesh Feature, Fem FemMeshObject
- Internal shapes: Part TopoShape, Mesh MeshObject, Fem FemMesh
- Structure: App DocumentObjectGroup (Std Group), App Part (Std Part), App Link (Std LinkMake)
- Derived: Part Part2DObject, Sketcher SketchObject, PartDesign Body, PartDesign Feature
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Assembly, BIM, CAM, Draft, FEM, Inspection, Material, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub