App DocumentObject/it: Difference between revisions

From FreeCAD Documentation
(Created page with "==Introduzione==")
No edit summary
 
(32 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{TOCright}}


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


[[File:Px.svg|32px]]
[[File:Px.svg|32px]]


An [[App_DocumentObject|App DocumentObject]] object, or formally an {{incode|App::DocumentObject}}, is the base class of all object classes handled in the document.
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.

[[File:App_DocumentObject_example.png]]

{{Caption|Vista ad albero che mostra diversi oggetti nel documento. Ognuno di essi è un "oggetto documento", derivato in definitiva dalla classe di base {{incode|App::DocumentObject}}.}}


[[File:FreeCAD_core_objects.svg|800px]]
[[File:FreeCAD_core_objects.svg|800px]]


{{Caption|Diagramma semplificato delle relazioni tra gli oggetti principali in FreeCAD}}
{{Caption|Simplified diagram of the relationships between the core objects in the program. The {{incode|App::DocumentObject}} class is the base class of essentially all objects in the software.}}


<span id="Usage"></span>
== How to use ==
==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 programma.
The [[App_DocumentObject|App DocumentObject]] is an internal object, so it cannot be created from the graphical interface. It is not meant to be used directly; rather, it is meant to be sub-classed by classes that will handle different types of data. Therefore, almost every object in the software, that is, every element that has an icon and that can be listed in the [[tree view|tree view]], is a "DocumentObject".


Alcuni dei DocumentObjects più importanti sono i seguenti:
Some of the most important DocumentObjects are the following:
* The [[App_FeaturePython|App FeaturePython]] class, an empty object that can be used for different purposes, depending on the added properties.
* La classe [[App_FeaturePython/it|App FeaturePython]], un oggetto vuoto che può essere utilizzato per scopi diversi, a seconda delle proprietà aggiunte.
* The [[App_GeoFeature|App GeoFeature]] class, the base object of all geometrical objects, that is, of objects that have a [[Placement|Placement]] property that defines their position in the [[3D view|3D view]].
* 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]].
* The [[Part_Feature|Part Feature]] class, derived from App GeoFeature, and the parent class of objects with 2D and 3D shapes.
* 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.


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


Vedere [[Property/it|Proprietà]] per tutti i tipi di proprietà che possono avere gli oggetti con script.
These are the basic properties that essentially all objects have. These properties can be accessed from the [[Python console|Python console]].


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}}: a list of expressions.
* {{PropertyData|Label}}: the user editable name of this object, it is an arbitrary UTF8 string.
* {{PropertyData|Label2}}: a longer, user editable description of this object, it is an arbitrary UTF8 string.
* {{PropertyData|Visibility}}: whether to display the object or not.


* {{PropertyData|Label|String}}: il nome di questo oggetto modificabile dall'utente, è una stringa UTF8 arbitraria. Di default, è uguale al {{incode|Name}}.
For derived objects, only {{PropertyData|Label}} will be listed in the [[property editor|property editor]] by default. The other properties will be hidden.
* {{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.


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


<span id="Scripting"></span>
{{Emphasis|See also:}} [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]], and [[scripted objects|scripted objects]].
== Script ==


{{Emphasis|Vedere anche:}} [[FreeCAD_Scripting_Basics/it|Script di base per FreeCAD]], e [[Scripted_objects/it|script di oggetti]].
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 create one of the sub-classes, for example, [[App_FeaturePython|App FeaturePython]], [[Part_Feature|Part Feature]], or [[Part_Part2DObject|Part Part2DObject]].

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 47: Line 61:
}}
}}



{{Userdocnavi/it}}
{{Document_objects_navi{{#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"