App Link
Introduzione
Un App Link, o formalmente un App::Link
, è un elemento che restituisce un riferimento a un altro oggetto nel documento o in un documento esterno. Questo oggetto è stato introdotto in v0.19 per riutilizzare oggetti precedentemente creati, che è molto utile per creare assiemi.
Quando viene creata una copia regolare di un oggetto (ad esempio, con Crea una copia semplice di Part), viene duplicato un intero nuovo oggetto con la sua forma topologica, che consuma molta memoria. App Link viene utilizzato per riutilizzare i dati esistenti di un oggetto esistente, quindi non è necessario creare un intero nuovo oggetto; ciò migliora la gestione delle copie, in particolare nel contesto dell'assemblaggio meccanico in cui possono essere necessari molti duplicati o dove è richiesta l'importazione di assiemi più piccoli in assiemi più grandi.
Utilizzo
- App Link può essere creato premendo Crea link.
Un App Link è un oggetto interno, quindi è principalmente destinato all'uso da parte degli sviluppatori durante lo sviluppo di ambienti di lavoro di assemblaggio. Ad esempio, Assembly3 e Assembly4 utilizzano questo oggetto. Vedere Ambienti esterni.
Proprietà
Vedere Proprietà per tutti i tipi di proprietà che possono avere gli oggetti con script.
Un oggetto App::Link
non deriva da una Part Feature, tuttavia, se il collegamento ha un riferimento a un oggetto esterno, mostra le proprietà di quest'ultimo oggetto.
Queste sono le proprietà disponibili nell'editor delle proprietà per un App::Link
vuoto.
Dati
Link
- DatiLinked Object:
- DatiLink Transform:
- DatiPlacement:
- DatiShow Element:
- DatiElement Count:
- DatiScale:
Base
- DatiLabel:
Vista
Link
- VistaDraw Style:
- VistaLine Width:
- VistaOverride Material:
- VistaPoint Size:
- VistaSelectable:
- VistaShape Material:
Base
- VistaOn Top When Selected:
- VistaSelection Style:
- VistaShow In Tree:
- VistaVisibility:
Inheritance
Diagramma semplificato delle relazioni tra gli oggetti principali del programma. L'oggetto App::Link
è un componente principale del sistema, non dipende da alcun ambiente, ma può essere utilizzato con la maggior parte degli oggetti creati in tutti gli ambienti.
Script
Vedere anche: Script di base per FreeCAD, e script di oggetti.
Vedere Part Feature per le informazioni generali.
Un App Link viene creato con il metodo addObject()
del documento.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::Link", "Name")
obj.Label = "Custom label"
Ulteriori letture
L'oggetto App Link è stato introdotto dopo 2 anni di sviluppo e prototipazione. Questo componente è stato pensato e sviluppato quasi da solo dall'utente realthunder. Le motivazioni e le implementazioni progettuali alla base di questo progetto sono descritte nella sua pagina GitHub, Link. Per realizzare questa funzione, sono state apportate diverse modifiche fondamentali a FreeCAD; anche queste sono state ampiamente documentati in Core-Changes.
Il progetto App Link è iniziato dopo che la riprogettazione di PartDesign è stata completata nella versione 0.17. La cronologia di App Link può essere ricostruita dalle discussioni nel forum:
- Why an object can only be inside one App::Part? (March 2017)
- Introducing App::Link/XLink (March 2017)
- Links (May 2017)
- Realthunder Link implementation: Architecture discussion (June 2017)
- PR #876: Link, stage one, context aware selection (July 2017)
- Preview: Link, stage two, API groundwork (July 2017)
- Assembly3 preview (December 2017)
- Merging of my Link branch (June 2018)
Alla fine, sono avvenute la richiesta di pull e l'unione:
- App::Link: the big merge, old thread (July 2019), pull request #2350 (the BIG merge), LinkMerge branch.
- App::Link: the big merge, main thread (July 2019)
- A simple path description of Link, 019, Link stage, Asm3, merge? (August 2019)
- PR#2559: expose link and navigation actions, an introduction to the Link feature 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
- 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, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Start, Surface, TechDraw, Test Framework, Web
- Hubs: User hub, Power users hub, Developer hub