App FeaturePython/it: Difference between revisions

From FreeCAD Documentation
(Created page with "====Proprietà dati nascoste====")
(Updating to match new version of source page)
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{TOCright}}


== Introduzione ==
== Introduzione ==


<div class="mw-translate-fuzzy">
Un oggetto [[Image:Feature.svg|32px]] [[App_FeaturePython/it|App FeaturePython]], o formalmente un {{incode|App::FeaturePython}}, è una semplice istanza di [[App_DocumentObject/it|App DocumentObject]] in [[Python/it|Python]].
Un oggetto [[Image:Feature.svg|32px]] [[App_FeaturePython/it|App FeaturePython]], o formalmente un {{incode|App::FeaturePython}}, è una semplice istanza di [[App_DocumentObject/it|App DocumentObject]] in [[Python/it|Python]].
</div>


<div class="mw-translate-fuzzy">
Questo è un oggetto semplice che per impostazione predefinita non ha molte proprietà, ad esempio nessun [[Placement/it|posizionamento]] né [[Part_TopoShape/it|forma topologica]]. Questo oggetto è per uso generale e, fornendolo di proprietà, può essere utilizzato per gestire diversi tipi di dati.
Questo è un oggetto semplice che per impostazione predefinita non ha molte proprietà, ad esempio nessun [[Placement/it|posizionamento]] né [[Part_TopoShape/it|forma topologica]]. Questo oggetto è per uso generale e, fornendolo di proprietà, può essere utilizzato per gestire diversi tipi di dati.
</div>


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


<div class="mw-translate-fuzzy">
{{Caption|Diagramma semplificato delle relazioni tra gli oggetti principali del programma. La classe {{incode|App::FeaturePython}} è una semplice implementazione di {{incode|App::DocumentObject}} che può essere utilizzata per qualsiasi scopo, poiché di default non ha una [[Part_TopoShape/it|forma topologica]].}}
{{Caption|Diagramma semplificato delle relazioni tra gli oggetti principali del programma. La classe {{incode|App::FeaturePython}} è una semplice implementazione di {{incode|App::DocumentObject}} che può essere utilizzata per qualsiasi scopo, poiché di default non ha una [[Part_TopoShape/it|forma topologica]].}}
</div>


==Utilizzo==
==Utilizzo==
Line 15: Line 22:
Un [[App_FeaturePython/it|App FeaturePython]] è un oggetto interno, quindi non può essere creato dall'interfaccia grafica. È pensato per essere sottoclassato da classi che gestiranno diversi tipi di dati.
Un [[App_FeaturePython/it|App FeaturePython]] è un oggetto interno, quindi non può essere creato dall'interfaccia grafica. È pensato per essere sottoclassato da classi che gestiranno diversi tipi di dati.


<div class="mw-translate-fuzzy">
Vedere [[App_FeaturePython/it#Script|Script]] per ulteriori informazioni.
Per esempio, gli elemnti [[Draft_Text/it|Testo]], [[Draft_Dimension/it|Dimensione]], e [[Draft_SetWorkingPlaneProxy/it|Piano di lavoro proxy]] di [[Draft_Workbench/it|Draft]] sono oggetti {{incode|App::FeaturePython}} oggetti con un'icona personalizzata e proprietà aggiuntive. Conservano i dati ma non sono in effetti [[Part_TopoShape/it|Part TopoShape]].
</div>

<div class="mw-translate-fuzzy">
Se l'oggetto desiderato deve avere un posizionamento, una forma, un allegato o altre proprietà complesse, è meglio creare una delle classi più complesse, ad esempio, [[App_GeoFeature/it|App GeoFeature]], [[Part_Feature/it|Part Feature]], o [[Part_Part2DObject/it|Part Part2DObject]].
</div>


== Proprietà ==
== Proprietà ==


Vedere [[Property/it|Proprietà]] per tutti i tipi di proprietà che possono avere gli oggetti con script.

<div class="mw-translate-fuzzy">
Un oggetto [[App_FeaturePython/it|App FeaturePython]] (classe {{incode|App::FeaturePython}}) è derivato dall'oggetto base [[App_DocumentObject|App DocumentObject]] (classe {{incode|App::DocumentObject}}), pertanto condivide tutte le proprietà di quest'ultimo.
Un oggetto [[App_FeaturePython/it|App FeaturePython]] (classe {{incode|App::FeaturePython}}) è derivato dall'oggetto base [[App_DocumentObject|App DocumentObject]] (classe {{incode|App::DocumentObject}}), pertanto condivide tutte le proprietà di quest'ultimo.
</div>


<div class="mw-translate-fuzzy">
Oltre alle proprietà descritte in [[App_DocumentObject/it|App DocumentObject]], FeaturePython ha un provider di visualizzazione di base, quindi appare nella [[tree view/it|vista ad albero]].

Vedere [[Property/it|Proprietà]] per tutti i tipi di proprietà che possono avere gli oggetti con script.

Queste sono le proprietà disponibili nell'[[property editor/it|editor delle proprietà]]. Le proprietà nascoste possono essere mostrate usando il comando {{MenuCommand|Mostra tutto}} nel menu contestuale dell'[[property editor/it|editor delle proprietà]].
Queste sono le proprietà disponibili nell'[[property editor/it|editor delle proprietà]]. Le proprietà nascoste possono essere mostrate usando il comando {{MenuCommand|Mostra tutto}} nel menu contestuale dell'[[property editor/it|editor delle proprietà]].
</div>


=== Dati ===
=== Dati ===
Line 31: Line 46:
{{TitleProperty|Base}}
{{TitleProperty|Base}}


* {{PropertyData|Label|String}}: il nome di questo oggetto modificabile dall'utente, è una stringa UTF8 arbitraria.
* {{PropertyData|Proxy|PythonObject|Hidden}}: una classe personalizzata associata a questo oggetto.
* {{PropertyData|Label|String}}: il nome modificabile dall'utente di questo oggetto, è una stringa UTF8 arbitraria.

* {{PropertyData|Label2|String|Hidden}}: una descrizione più lunga e modificabile dall'utente di questo oggetto, è una stringa UTF8 arbitraria che può includere nuove righe. Per impostazione predefinita, è una stringa vuota {{value|""}}.
====Proprietà dati nascoste====
* {{PropertyData|Expression Engine|ExpressionEngine|Hidden}}: un elenco di espressioni. Per impostazione predefinita, è vuota {{value|[]}}.

* {{PropertyData|Expression Engine|ExpressionEngine}}: a list of expressions. By default, it is empty {{value|[]}}.
* {{PropertyData|Visibility|Bool|Hidden}}: se visualizzare o no l'oggetto.
* {{PropertyData|Label2|String}}: a longer, user editable description of this object, it is an arbitrary UTF8 string that may include newlines. By default, it is an empty string {{value|""}}.
* {{PropertyData|Proxy|PythonObject}}: a custom class associated with this object.
* {{PropertyData|Visibility|Bool}}: whether to display the object or not.


===Vista===
===Vista===
Line 44: Line 56:
{{TitleProperty|Base}}
{{TitleProperty|Base}}


<div class="mw-translate-fuzzy">
* {{PropertyView|Display Mode|Enumeration}}: it is empty by default.
* {{PropertyView|Proxy|PythonObject|Hidden}}: una classe di provider di visualizzazione personalizzata associata a questo oggetto. Questa proprietà esiste solo per quelle classi che sono in grado di assegnare una classe personalizzata.
* {{PropertyView|On Top When Selected|Enumeration}}: {{value|Disabled}} (default), {{value|Enabled}}, {{value|Object}}, {{value|Element}}.
</div>
* {{PropertyView|Selection Style|Enumeration}}: {{value|Shape}} (default), {{value|BoundBox}}. If the option is {{value|Shape}}, the entire shape (vertices, edges, and faces) will be highlighted in the [[3D view|3D view]]; if it is {{value|BoundBox}} only the bounding box will be highlighted.
* {{PropertyView|Show In Tree|Bool}}: if it is {{TRUE}}, the object appears in the [[tree view|tree view]]. Otherwise, it is set as invisible.
* {{PropertyView|Visibility|Bool}}: if it is {{TRUE}}, the object appears in the [[3D view|3D view]]; otherwise it is invisible. By default this property can be toggled on and off by pressing the {{KEY|Space}} bar in the keyboard.


<div class="mw-translate-fuzzy">
==== Hidden properties View ====
{{TitleProperty|Display Options}}
* {{PropertyView|Display Mode|Enumeration}}: di default è vuota.
* {{PropertyView|Show In Tree|Bool}}: il valore predefinito è {{TRUE}}, nel qual caso l'oggetto appare nella [[tree view/it|vista ad albero]]; in caso contrario, l'oggetto è nascosto nella vista struttura. Quando un oggetto nell'albero è invisibile, si può di nuovo enderlo visibile aprendo il menu contestuale sul nome del documento (clic destro) e selezionando {{CheckBox|TRUE|Mostra elementi nascosti}}. Quindi l'elemento nascosto può essere selezionato e e la sua proprietà {{PropertyView|Mostra nell'albero}} può essere riportata a {{TRUE}}.
* {{PropertyView|Visibility|Bool}}: il valore predefinito è {{TRUE}}, nel qual caso l'oggetto è visibile nella [[3D_view/it|vista 3D]] se ha una [[Part_TopoShape/it|Forma]], altrimenti è invisibile. Per impostazione predefinita, questa proprietà può essere attivata e disattivata selezionando l'oggetto e premendo la barra {{KEY|Spazio}} sulla tastiera.
</div>


{{TitleProperty|Selection}}
* {{PropertyView|Proxy|PythonObject}}: a custom view provider class associated with this object.

<div class="mw-translate-fuzzy">
* {{PropertyView|On Top When Selected|Enumeration}}: controlla il modo in cui avviene la selezione nella [[3D_view/it|vista 3D]] se l'oggetto ha una [[Part_TopoShape/it|Forma]] e ci sono oggetti parzialmente coperti da altri. Il valore predefinito è {{value|Disabled}}, il che significa che non si verifica alcuna evidenziazione speciale; {{value|Enabled}} significa che l'oggetto appare sopra qualsiasi altro oggetto quando selezionato; {{value|Object}} significa che l'oggetto appare in primo piano solo se l'intero oggetto è selezionato nella [[tree_view/it|vista ad albero]]; {{value|Element}} significa che l'oggetto appare in primo piano solo se un sottoelemento (vertice, bordo, faccia) è selezionato in [[3D_view/it|vista 3D]].
* {{PropertyView|Selection Style|Enumeration}}: controlla il modo in cui l'oggetto è evidenziato se ha una [[Part_TopoShape/it|Forma]]. Se è {{value|Shape}}, l'intera forma (vertici, bordi e facce) è evidenziata nella [[3D_view/it|vista 3D]]; se è {{value|BoundBox}} viene evidenziato un riquadro di delimitazione che circonda l'oggetto.
</div>


== Script ==
== Script ==


<div class="mw-translate-fuzzy">
{{Emphasis|See also:}} [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]], and [[scripted objects|scripted objects]].
{{Emphasis|Vedere anche:}} [[FreeCAD Scripting Basics/it|Script di base per FreeCAD]], e [[scripted objects/it|script di oggetti]].
</div>


<div class="mw-translate-fuzzy">
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 programma.
</div>


An App FeaturePython is created with the {{incode|addObject()}} method of the document.
Una App FeaturePython viene creata con il metodo {{incode|addObject()}} del documento


{{Code|code=
{{Code|code=
Line 70: Line 94:
}}
}}


For example, the [[Draft_Text|Draft Text]], [[Draft_Dimension|Draft Dimension]], and [[Draft_SetWorkingPlaneProxy|Working plane proxy]] elements of the [[Draft_Workbench|Draft Workbench]] are {{incode|App::FeaturePython}} objects with a custom icon and additional properties. They hold data but not an actual [[Part_TopoShape|Part TopoShape]].

If the desired object should have a placement, a shape, an attachment, or other complex properties, it is better to create one of the more complex classes, for example, [[App_GeoFeature|App GeoFeature]], [[Part_Feature|Part Feature]], or [[Part_Part2DObject|Part Part2DObject]].


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

Revision as of 06:23, 22 February 2022

Other languages:

Introduzione

Un oggetto App FeaturePython, o formalmente un App::FeaturePython, è una semplice istanza di App DocumentObject in Python.

Questo è un oggetto semplice che per impostazione predefinita non ha molte proprietà, ad esempio nessun posizionamentoforma topologica. Questo oggetto è per uso generale e, fornendolo di proprietà, può essere utilizzato per gestire diversi tipi di dati.

Diagramma semplificato delle relazioni tra gli oggetti principali del programma. La classe App::FeaturePython è una semplice implementazione di App::DocumentObject che può essere utilizzata per qualsiasi scopo, poiché di default non ha una forma topologica.

Utilizzo

Un App FeaturePython è un oggetto interno, quindi non può essere creato dall'interfaccia grafica. È pensato per essere sottoclassato da classi che gestiranno diversi tipi di dati.

Per esempio, gli elemnti Testo, Dimensione, e Piano di lavoro proxy di Draft sono oggetti App::FeaturePython oggetti con un'icona personalizzata e proprietà aggiuntive. Conservano i dati ma non sono in effetti Part TopoShape.

Se l'oggetto desiderato deve avere un posizionamento, una forma, un allegato o altre proprietà complesse, è meglio creare una delle classi più complesse, ad esempio, App GeoFeature, Part Feature, o Part Part2DObject.

Proprietà

Vedere Proprietà per tutti i tipi di proprietà che possono avere gli oggetti con script.

Un oggetto App FeaturePython (classe App::FeaturePython) è derivato dall'oggetto base App DocumentObject (classe App::DocumentObject), pertanto condivide tutte le proprietà di quest'ultimo.

Queste sono le proprietà disponibili nell'editor delle proprietà. Le proprietà nascoste possono essere mostrate usando il comando Mostra tutto nel menu contestuale dell'editor delle proprietà.

Dati

Base

  • Dati (Hidden)Proxy (PythonObject): una classe personalizzata associata a questo oggetto.
  • DatiLabel (String): il nome modificabile dall'utente di questo oggetto, è una stringa UTF8 arbitraria.
  • Dati (Hidden)Label2 (String): una descrizione più lunga e modificabile dall'utente di questo oggetto, è una stringa UTF8 arbitraria che può includere nuove righe. Per impostazione predefinita, è una stringa vuota "".
  • Dati (Hidden)Expression Engine (ExpressionEngine): un elenco di espressioni. Per impostazione predefinita, è vuota [].
  • Dati (Hidden)Visibility (Bool): se visualizzare o no l'oggetto.

Vista

Base

  • Vista (Hidden)Proxy (PythonObject): una classe di provider di visualizzazione personalizzata associata a questo oggetto. Questa proprietà esiste solo per quelle classi che sono in grado di assegnare una classe personalizzata.

Display Options

  • VistaDisplay Mode (Enumeration): di default è vuota.
  • VistaShow In Tree (Bool): il valore predefinito è true, nel qual caso l'oggetto appare nella vista ad albero; in caso contrario, l'oggetto è nascosto nella vista struttura. Quando un oggetto nell'albero è invisibile, si può di nuovo enderlo visibile aprendo il menu contestuale sul nome del documento (clic destro) e selezionando Mostra elementi nascosti. Quindi l'elemento nascosto può essere selezionato e e la sua proprietà VistaMostra nell'albero può essere riportata a true.
  • VistaVisibility (Bool): il valore predefinito è true, nel qual caso l'oggetto è visibile nella vista 3D se ha una Forma, altrimenti è invisibile. Per impostazione predefinita, questa proprietà può essere attivata e disattivata selezionando l'oggetto e premendo la barra Spazio sulla tastiera.

Selection

  • VistaOn Top When Selected (Enumeration): controlla il modo in cui avviene la selezione nella vista 3D se l'oggetto ha una Forma e ci sono oggetti parzialmente coperti da altri. Il valore predefinito è Disabled, il che significa che non si verifica alcuna evidenziazione speciale; Enabled significa che l'oggetto appare sopra qualsiasi altro oggetto quando selezionato; Object significa che l'oggetto appare in primo piano solo se l'intero oggetto è selezionato nella vista ad albero; Element significa che l'oggetto appare in primo piano solo se un sottoelemento (vertice, bordo, faccia) è selezionato in vista 3D.
  • VistaSelection Style (Enumeration): controlla il modo in cui l'oggetto è evidenziato se ha una Forma. Se è Shape, l'intera forma (vertici, bordi e facce) è evidenziata nella vista 3D; se è BoundBox viene evidenziato un riquadro di delimitazione che circonda l'oggetto.

Script

Vedere Part Feature per le informazioni generali sull'aggiunta di oggetti al programma.

Una App FeaturePython viene creata con il metodo addObject() del documento

import FreeCAD as App

doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::FeaturePython", "Name")
obj.Label = "Custom label"