App DocumentObject
Contents
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 del programma. La classe App::DocumentObject
è la classe base essenzialmente di tutti gli oggetti nel software.
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 software.
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.
- DataExpression Engine (
ExpressionEngine
): un elenco di espressioni. - DataLabel (
String
): il nome di questo oggetto modificabile dall'utente, è una stringa UTF8 arbitraria. Di default, è uguale alName
. - DataLabel2 (
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""
. - DataVisibility (
Bool
): se visualizzare l'oggetto o no.
Per gli oggetti derivati, solo la proprietà DataLabel 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

- Installazione: Windows, Linux, Mac; Getting started
- Base: About FreeCAD, Workbenches, Preferences, Document structure, Interface Customization, Properties, Mouse Model; Tutorials
- Ambienti: Menu di base; Arch, Draft, FEM, Image, Inspection, Mesh, OpenSCAD, Part, PartDesign, Path, Plot, Points, Raytracing, Reverse Engineering, Robot, Ship, Sketcher, Spreadsheet, Start, Surface workbench, TechDraw, Test Framework, Web
- Scripting: Introduction to Python, FreeCAD scripting tutorial, FreeCAD Scripting Basics, How to install macros, Gui Command, Units Modules: Builtin modules, Workbench creation, Installing more workbenches Meshes: Mesh Scripting, Mesh Module Parts: The Part Module, Topological data scripting, PythonOCC, Mesh to Part Coin scenegraph: The Coin/Inventor scenegraph, Pivy Qt interface: PySide, Using the FreeCAD GUI, Dialog creation Parametric objects: Scripted objects Other: Code snippets, Line drawing function, Embedding FreeCAD, FreeCAD vector math library, Power users hub, Python, Macros, FreeCAD Scripting Basics, Topological data scripting