App DocumentObject
Introduzione
Un oggetto App DocumentObject, o formalmente un App::DocumentObject, è la classe di base di tutte le classi di oggetti gestite nel documento.
In termini generali, un "DocumentObject" è qualsiasi "cosa" che può apparire nella Vista ad albero e che viene salvata e ripristinata all'apertura di un documento.
Vista ad albero che mostra diversi oggetti nel documento. Ognuno di essi è un "oggetto documento", derivato in definitiva dalla classe di base App::DocumentObject.
Diagramma semplificato delle relazioni tra gli oggetti principali in FreeCAD
Utilizzo
App DocumentObject è una classe interna, quindi non può essere creata dall'interfaccia grafica, né deve essere utilizzata da sola. Definisce semplicemente il comportamento e le proprietà di base degli oggetti nel programma.
Alcuni dei DocumentObjects più importanti sono i seguenti:
- La classe App FeaturePython, un oggetto vuoto che può essere utilizzato per scopi diversi, a seconda delle proprietà aggiunte.
- La classe App GeoFeature, l'oggetto base di tutti gli oggetti geometrici, ovvero di oggetti che hanno una proprietà Posizionamento che definisce la loro posizione nella Vista 3D.
- La classe Part Feature, derivata da App GeoFeature e dalla classe padre di oggetti con forme topologiche 2D e 3D.
- La classe Mesh Feature, derivata da App GeoFeature e dalla classe padre di oggetti con mesh 2D e 3D.
Proprietà
Vedere Proprietà per tutti i tipi di proprietà che possono avere gli oggetti con script.
Per una spiegazione delle proprietà elencate di seguito, vedere Feature di Part.
Dati
Base
- DatiLabel (
String) - Dati (Hidden)Label2 (
String) - Dati (Hidden)Expression Engine (
ExpressionEngine) - Dati (Hidden)Visibility (
Bool)
Script
Vedere anche: Script di base per FreeCAD, e script di oggetti.
Vedere Part Feature per le informazioni generali sull'aggiunta di oggetti al documento.
Un DocumentObject viene creato con il metodo addObject() del documento. Tuttavia, in generale, non è necessario creare questo oggetto manualmente. Di solito è meglio sottoclassare una delle sottoclassi più complesse, per esempio, App FeaturePython, App GeoFeature, Part Feature, Part Part2DObject, etc.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::DocumentObject", "Name")
obj.Label = "Custom label"
- Cuore: App DocumentObject
- Base: App FeaturePython, App GeoFeature, Part Feature, Mesh Feature, Fem FemMeshObject
- Forme interne: Part TopoShape, Mesh MeshObject, Fem FemMesh
- Struttura: App DocumentObjectGroup (Std Group), App Part (Std Part), App Link
- Derivate: 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
