App DocumentObject/it: Difference between revisions

From FreeCAD Documentation
(Created page with "Per gli oggetti derivati, solo la proprietà {{PropertyData|Label}} verrà elencata di default nell'editor delle proprietà. Le altre proprietà saranno...")
No edit summary
 
(12 intermediate revisions by 3 users not shown)
Line 2: Line 2:
{{TOCright}}
{{TOCright}}


<span id="Introduction"></span>
==Introduzione==
==Introduzione==


Line 8: Line 9:
Un oggetto [[App_DocumentObject/it|App DocumentObject]], o formalmente un {{incode|App::DocumentObject}}, è la classe di base di tutte le classi di oggetti gestite nel documento.
Un oggetto [[App_DocumentObject/it|App DocumentObject]], o formalmente un {{incode|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 [[tree view/it|vista ad albero]] e che viene salvata e ripristinata all'apertura di un documento.
In termini generali, un "DocumentObject" è qualsiasi "cosa" che può apparire nella [[Tree_view/it|Vista ad albero]] e che viene salvata e ripristinata all'apertura di un documento.


[[File:App_DocumentObject_example.png]]
[[File:App_DocumentObject_example.png]]
Line 16: Line 17:
[[File:FreeCAD_core_objects.svg|800px]]
[[File:FreeCAD_core_objects.svg|800px]]


{{Caption|Diagramma semplificato delle relazioni tra gli oggetti principali del programma. La classe {{incode|App::DocumentObject}} è la classe base essenzialmente di tutti gli oggetti nel software.}}
{{Caption|Diagramma semplificato delle relazioni tra gli oggetti principali in FreeCAD}}


<span id="Usage"></span>
==Utilizzo==
==Utilizzo==


[[App_DocumentObject/it|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.
[[App_DocumentObject/it|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:
Alcuni dei DocumentObjects più importanti sono i seguenti:
* La classe [[App_FeaturePython/it|App FeaturePython]], un oggetto vuoto che può essere utilizzato per scopi diversi, a seconda delle proprietà aggiunte.
* La classe [[App_FeaturePython/it|App FeaturePython]], un oggetto vuoto che può essere utilizzato per scopi diversi, a seconda delle proprietà aggiunte.
* La classe [[App_GeoFeature/it|App GeoFeature]], l'oggetto base di tutti gli oggetti geometrici, ovvero di oggetti che hanno una proprietà [[Placement/it|Posizionamento]] che definisce la loro posizione nella [[3D view/it| Vista 3D]].
* La classe [[App_GeoFeature/it|App GeoFeature]], l'oggetto base di tutti gli oggetti geometrici, ovvero di oggetti che hanno una proprietà [[Placement/it|Posizionamento]] che definisce la loro posizione nella [[3D_view/it|Vista 3D]].
* La classe [[Part_Feature/it|Part Feature]], derivata da App GeoFeature e dalla classe padre di oggetti con [[Part_TopoShape/it|forme topologiche]] 2D e 3D.
* La classe [[Part_Feature/it|Part Feature]], derivata da App GeoFeature e dalla classe padre di oggetti con [[Part_TopoShape/it|forme topologiche]] 2D e 3D.
* La classe [[Mesh_Feature/it|Mesh Feature]], derivata da App GeoFeature e dalla classe padre di oggetti con [[Mesh_MeshObject/it|mesh]] 2D e 3D.
* La classe [[Mesh_Feature/it|Mesh Feature]], derivata da App GeoFeature e dalla classe padre di oggetti con [[Mesh_MeshObject/it|mesh]] 2D e 3D.


<span id="Properties"></span>
== Proprietà ==
== Proprietà ==


Line 34: Line 37:
Queste sono le proprietà di base che essenzialmente hanno tutti gli oggetti. È possibile accedere a queste proprietà dalla [[Python console/it|console Python]].
Queste sono le proprietà di base che essenzialmente hanno tutti gli oggetti. È possibile accedere a queste proprietà dalla [[Python console/it|console Python]].


* {{PropertyData|Expression Engine|ExpressionEngine}}: un elenco di espressioni.
* {{PropertyData|Label|String}}: il nome di questo oggetto modificabile dall'utente, è una stringa UTF8 arbitraria. Di default, è uguale al {{incode|Name}}.
* {{PropertyData|Label|String}}: il nome di questo oggetto modificabile dall'utente, è una stringa UTF8 arbitraria. Di default, è uguale al {{incode|Name}}.
* {{PropertyData|Label2|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 {{value|""}}.
* {{PropertyData|Label2|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 {{value|""}}.
* {{PropertyData|Expression Engine|ExpressionEngine}}: un elenco di espressioni.
* {{PropertyData|Visibility|Bool}}: se visualizzare l'oggetto o no.
* {{PropertyData|Visibility|Bool}}: se visualizzare l'oggetto o no.


Per gli oggetti derivati, solo la proprietà {{PropertyData|Label}} verrà elencata di default nell'[[property editor/it|editor delle proprietà]]. Le altre proprietà saranno nascoste.
Per gli oggetti derivati, solo la proprietà {{PropertyData|Label}} verrà elencata di default nell'[[property editor/it|editor delle proprietà]]. Le altre proprietà saranno nascoste.


<span id="Scripting"></span>
== Script ==
== Script ==


{{Emphasis|Vedere anche:}} [[FreeCAD_Scripting_Basics/it|Script di base per FreeCAD]], e [[Scripted_objects/it|script di oggetti]].
{{Emphasis|See also:}} [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]], and [[scripted objects|scripted objects]].


See [[Part_Feature|Part Feature]] for the general information on adding objects to the program.
Vedere [[Part_Feature/it|Part Feature]] per le informazioni generali sull'aggiunta di oggetti al documento.


A DocumentObject is created with the {{incode|addObject()}} method of the document. However, in general, there is no need to create this object manually. It is usually better to sub-class one of the more complex sub-classes, for example, [[App_FeaturePython|App FeaturePython]], [[App_GeoFeature|App GeoFeature]], [[Part_Feature|Part Feature]], [[Part_Part2DObject|Part Part2DObject]], etc.
Un DocumentObject viene creato con il metodo {{incode|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/it|App FeaturePython]], [[App_GeoFeature/it|App GeoFeature]], [[Part_Feature/it|Part Feature]], [[Part_Part2DObject/it|Part Part2DObject]], etc.


{{Code|code=
{{Code|code=
Line 58: Line 62:




{{Document objects navi{{#translation:}}}}
{{Document_objects_navi{{#translation:}}}}

{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 22:58, 8 April 2024

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 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.

  • 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 "".
  • DatiExpression Engine (ExpressionEngine): un elenco di espressioni.
  • 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 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"