App DocumentObject

From FreeCAD Documentation
Revision as of 18:48, 2 October 2020 by Renatorivo (talk | contribs)
Other languages:

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.

  • DatiExpression Engine (ExpressionEngine): un elenco di espressioni.
  • DatiLabel (String): il nome di questo oggetto modificabile dall'utente, è una stringa UTF8 arbitraria. Di default, è uguale al Name.
  • 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"