App DocumentObject

From FreeCAD Documentation
Revision as of 06:00, 22 February 2022 by FuzzyBot (talk | contribs) (Updating to match new version of source page)
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 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"