App Link
Einleitung
Ein Anwendungsverknüpfung oder formal ein App::Link
, ist ein Programmobjekt, das einen Verweis auf ein anderes Objekt im Dokument oder in einem externen Dokument zurückgibt. Dieses Programmobjekt wurde in v0.19 eingeführt, um zuvor erstellte Zeichnungsobjekte zur Zusammenstellung von Baugruppen wiederzuverwenden.
Wenn eine reguläre Kopie eines Objekts erstellt wird (z.B. mit Part SimpleCopy), wird ein ganz neues Objekt mit seiner topologische Form dupliziert, was viel Speicherplatz verbraucht. Die Anwendungsverknüpfung wird verwendet, um bestehende Daten eines bestehenden Objektes wiederzuverwenden, so dass ein komplett neues Objekt nicht erstellt werden muss. Dies verbessert die Handhabung von Kopien, insbesondere im Zusammenhang mit mechanischen Baugruppen, wo viele Duplikate benötigt werden können oder wo der Import kleinerer Baugruppen in größere Baugruppen erforderlich ist.
Verwendung
- Anwendungsverknüpfungen können durch Drücken von LinkMake erstellt werden.
Hinweis: Ein App Link ist ein internes Objekt, daher ist es hauptsächlich für Entwickler bei der Entwicklung von Assembly Arbeitsbereichen gedacht. Beispielsweise verwenden die Arbeitsbereiche Assembly3 und Assembly4 dieses Objekt. Siehe auch Externe Arbeitsbereiche.
Eigenschaften
Siehe Eigenschaft für alle Eigenschaftstypen, die geskriptete Objekte haben können.
Ein App::Link
Objekt wird nicht von einem Part Funktion abgeleitet, aber wenn die Verknüpfung einen Bezug auf ein externes Objekt hat, zeigt er die Eigenschaften des letzteren Objekts an.
Dies sind die Eigenschaften, die im Editor Eigenschaften für einen leeren App::Link
verfügbar sind.
Daten
Verknüpfung
- Daten-EigenschaftVerknüpftes Objekt:
- Daten-EigenschaftVerknüpfe Verschiebung/Drehung:
- Daten-EigenschaftPositionierung:
- Daten-EigenschaftAnsicht Element:
- Daten-EigenschaftElement Zähler:
- Daten-EigenschaftMassstab:
Base
- Daten-EigenschaftLabel:
Ansicht
Verknüpfung
- Ansicht EigenschaftZeichnungsstil:
- Ansicht EigenschaftLinienbreite:
- Ansicht EigenschaftÜbersteuerungsmaterial:
- Ansicht EigenschaftPunktgrösse:
- Ansicht EigenschaftWählbar:
- Ansicht EigenschaftForm Material:
Basis
- Ansicht EigenschaftOben, wenn gewählt:
- Ansicht EigenschaftWähle Stil:
- Ansicht EigenschaftZeige im Baum:
- Ansicht EigenschaftSichtbarkeit:
Vererbung
Vereinfachtes Diagramm der Beziehungen zwischen den Kernobjekten im Programm. Das Objekt App::Link
ist eine Kernkomponente des Systems, es ist von keinem Arbeitsbereich abhängig, aber es kann mit den meisten Objekten verwendet werden, die in allen Arbeitsbereichen erstellt werden.
Skripten
Siehe auch: FreeCAD Grundlagen Skripten , und geskriptete Objekte.
Siehe Part Grundelement zur allgemeinen Information.
Eine Anwendungsverknüpfung wird mit der Methode addObject()
des Dokuments erstellt.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::Link", "Name")
obj.Label = "Custom label"
Weiterführende Literatur
Das Anwendungsverknüpfungsobjekt wurde nach 2 Jahren Entwicklung und Prototypenfertigung eingeführt. Diese Komponente wurde fast im Alleingang vom Benutzer realthunder ausgedacht und entwickelt. Die Motivationen und Entwurfsimplementierungen hinter diesem Projekt sind in seiner GitHub Seite, Link beschrieben. Um dieses Feature zu erreichen, wurden einige Kernänderungen an FreeCAD vorgenommen; diese wurden auch ausführlich dokumentiert in Core-Changes.
Das Projekt Anwendungsverknüpfung startete, nachdem die Neugestaltung des PartDesign Arbeitsbereiches in v0.17 abgeschlossen war. Die Geschichte der Anwendungsverknüpfung kann auf einige wesentliche Forenbeiträge zurückgeführt werden:
- Why an object can only be inside one App::Part? (März 2017)
- Introducing App::Link/XLink (März 2017)
- Links (May 2017)
- Realthunder Link implementation: Architektur Diskussion (Juni 2017)
- PR #876: Link, stage one, context aware selection (Juli 2017)
- Preview: Link, stage two, API groundwork (Juli 2017)
- Assembly3 preview (Dezember 2017)
- Merging of my Link branch (Juni 2018)
Schließlich erfolgte die Pull Anforderung und die Zusammenführung:
- App::Link: the big merge, alter Beitrag (Juli 2019), pull request #2350 (the BIG merge), LinkMerge branch.
- App::Link: the big merge, Hauptbeitrag (July 2019)
- A simple path description of Link, 019, Link stage, Asm3, merge? (August 2019)
- PR#2559: expose link and navigation actions, eine Einführung zu den Verknüpfungsfunktionen in 0.19 (September 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, Toggle measurement, Clear measurement
- 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, Project utility, Measure distance, 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
- 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
- Erste Schritte
- Installation: Herunterladen, Windows, Linux, Mac, Zusätzlicher Komponenten, Docker, AppImage, Ubuntu Snap
- Grundlagen: Über FreeCAD, Graphische Oberfläche, Mausbedienung, Auswahlmethoden, Objektname, Programmeinstellungen, Arbeitsbereiche, Dokumentstruktur, Objekteigenschaften, Hilf FreeCAD, Spende
- Hilfe: Tutorien, Video Tutorien
- Arbeitsbereiche: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Start, Surface, TechDraw, Test Framework, Web