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.
Queste sono le proprietà di base che essenzialmente hanno tutti gli oggetti. È possibile accedere a queste proprietà dalla console Python.
- DatiExpression Engine (
ExpressionEngine
): un elenco di espressioni. - DatiLabel (
String
): il nome di questo oggetto modificabile dall'utente, è una stringa UTF8 arbitraria. Di default, è uguale alName
. - DatiLabel2 (
String
): una descrizione modificabile dall'utente più lunga di questo oggetto, è una stringa UTF8 arbitraria che può includere nuove righe. Di default, è una stringa vuota""
. - DatiVisibility (
Bool
): se visualizzare l'oggetto o no.
Per gli oggetti derivati, solo la proprietà DatiLabel verrà elencata di default nell'editor delle proprietà. Le altre proprietà saranno nascoste.
Script
Vedere anche: Script di base per FreeCAD, e script di oggetti.
Vedere Part Feature per le informazioni generali sull'aggiunta di oggetti al programma.
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