Property editor/it: Difference between revisions

From FreeCAD Documentation
No edit summary
(Updating to match new version of source page)
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

<div class="mw-translate-fuzzy">
{{Docnav/it|[[Interface Customization/it|Personalizzare l'interfaccia]]|[[Workbenches/it|Ambienti di lavoro]]}}
{{Docnav/it|[[Interface Customization/it|Personalizzare l'interfaccia]]|[[Workbenches/it|Ambienti di lavoro]]}}
</div>

{{TOCright}}


== Descrizione ==
== Descrizione ==


<div class="mw-translate-fuzzy">
L'[[property editor/it|editore delle proprietà]] appare quando è attiva la scheda {{MenuCommand|Modello}} della vista combinata; consente di gestire le proprietà degli oggetti nel documento.
L'[[property editor/it|editore delle proprietà]] appare quando è attiva la scheda {{MenuCommand|Modello}} della vista combinata; consente di gestire le proprietà degli oggetti nel documento.
</div>


<div class="mw-translate-fuzzy">
Generalmente, l'editore delle proprietà è destinato a gestire solo un oggetto alla volta. I valori mostrati nell'editore appartengono all'oggetto attivo del documento attivo. Nonostante ciò, alcune proprietà come i colori, possono essere impostate per più oggetti selezionati. Se non ci sono elementi selezionati, l'editore delle proprietà sarà vuoto.
Generalmente, l'editore delle proprietà è destinato a gestire solo un oggetto alla volta. I valori mostrati nell'editore appartengono all'oggetto attivo del documento attivo. Alcune proprietà come i colori, possono però essere impostate per più oggetti selezionati. Se non ci sono elementi selezionati, l'editore delle proprietà è vuoto.
</div>


Non tutte le proprietà possono sempre essere modificate; a seconda dello stato specifico della proprietà, alcune di esse possono essere invisibili (non elencate) o di sola lettura (non modificabili).
Non tutte le proprietà possono sempre essere modificate; a seconda dello stato specifico della proprietà, alcune di esse possono essere invisibili (non elencate) o di sola lettura (non modificabili).
{{TOCright}}


<div class="mw-translate-fuzzy">
[[File:FreeCAD_Properties_empty.png]]
[[File:FreeCAD_Properties_empty.png]]
</div>


{{Caption|Editore delle proprietà vuoto, quando nessun oggetto è selezionato.}}
{{Caption|Editore delle proprietà vuoto, quando nessun oggetto è selezionato.}}
Line 16: Line 28:
==Tipi di proprietà==
==Tipi di proprietà==


Una proprietà è un'informazione come un numero o una stringa di testo allegata a un documento FreeCAD o ad un oggetto del documento.
Una proprietà è un'informazione come un numero o una stringa di testo allegata a un documento di FreeCAD o ad un oggetto del documento.


Gli oggetti creati con [[scripted objects/it|script personalizzati]] possono utilizzare qualsiasi tipo di proprietà definita nel sistema di base. Vedere l'elenco completo in [[Property/it|Proprietà]].
Gli oggetti creati con [[scripted objects/it|script personalizzati]] possono utilizzare qualsiasi tipo di proprietà definita nel sistema di base. Vedere l'elenco completo in [[Property/it|Proprietà degli oggetti]].


Alcuni dei tipi di proprietà più comunemente usati sono:
Alcuni dei tipi di proprietà più comunemente usati sono:
Line 33: Line 45:
}}
}}


Oggetti diversi possono avere diversi tipi di proprietà. Tuttavia, molti oggetti hanno gli stessi tipi perché sono derivati dalla stessa classe interna. Ad esempio, la maggior parte degli oggetti che descrivono forme geometriche (linee, cerchi, rettangoli, corpi solidi, parti importate, ecc.) Hanno la proprietà "Posizionamento" che definisce la loro posizione nella [[3D view/it|Vista 3D]].
Oggetti diversi possono avere tipi di proprietà diverse. Tuttavia, molti oggetti hanno gli stessi tipi perché sono derivati dalla stessa classe interna. Ad esempio, la maggior parte degli oggetti che descrivono le forme geometriche (linee, cerchi, rettangoli, corpi solidi, parti importate, ecc.) hanno la proprietà "Posizionamento" che definisce la loro posizione nella [[3D view/it|Vista 3D]].


== Proprietà Vista e Dati ==
== Proprietà Vista e Dati ==
Line 41: Line 53:
* Proprietà {{MenuCommand|Dati}} relative ai parametri "fisici" dell'oggetto. Le proprietà {{MenuCommand|Dati}} definiscono le caratteristiche essenziali dell'oggetto; esistono sempre, anche quando FreeCAD viene utilizzato in modalità console o come libreria. Ciò significa che se si carica un documento in modalità console, è possibile modificare il raggio di un cerchio o la lunghezza di una linea, anche se non è possibile visualizzare il risultato sullo schermo.
* Proprietà {{MenuCommand|Dati}} relative ai parametri "fisici" dell'oggetto. Le proprietà {{MenuCommand|Dati}} definiscono le caratteristiche essenziali dell'oggetto; esistono sempre, anche quando FreeCAD viene utilizzato in modalità console o come libreria. Ciò significa che se si carica un documento in modalità console, è possibile modificare il raggio di un cerchio o la lunghezza di una linea, anche se non è possibile visualizzare il risultato sullo schermo.


<div class="mw-translate-fuzzy">
Per questo motivo, le proprietà {{MenuCommand|Dati}} sono considerate più "reali", in quanto definiscono veramente la geometria di una forma. Invece le proprietà {{MenuCommand|Vista}} sono meno importanti perché influenzano solo l'aspetto della geometria. Ad esempio, un cerchio di raggio di 10 mm è diverso da un cerchio di raggio di 5 mm; il colore del cerchio (proprietà vista) non influisce sulla sua forma, ma il raggio (proprietà dati) sì. In molti casi in questa documentazione, si intende che la parola "proprietà" si riferisce a una "proprietà dati".
Per questo motivo, le proprietà {{MenuCommand|Dati}} sono considerate più "reali", in quanto definiscono veramente la geometria di una forma. Invece le proprietà {{MenuCommand|Vista}} sono meno importanti perché influenzano solo l'aspetto della geometria. Ad esempio, un cerchio di raggio di 10 mm è diverso da un cerchio di raggio di 5 mm; il colore del cerchio (proprietà vista) non influisce sulla sua forma, ma il raggio (proprietà dati) sì. In molti casi in questa documentazione, si intende che la parola "proprietà" si riferisce a una "proprietà dati".
</div>


=== Proprietà di base ===
=== Proprietà di base ===

{{Emphasis|See also: [[Object_name|Object name]]}}


L'oggetto [[scripted objects/it|script]] più semplice non mostra alcuna proprietà {{MenuCommand|Dati}} nell'editore delle proprietà, ad eccezione dell'attributo {{incode|Label}}. {{Incode|Label}} è una stringa modificabile dall'utente che identifica l'oggetto nella [[tree view/it|vista ad albero]]. Invece, l'attributo {{incode|Name}} di un oggetto viene assegnato al momento della sua creazione e non può essere modificato; questo attributo è di sola lettura e non viene nemmeno visualizzato nell'editor delle proprietà.
L'oggetto [[scripted objects/it|script]] più semplice non mostra alcuna proprietà {{MenuCommand|Dati}} nell'editore delle proprietà, ad eccezione dell'attributo {{incode|Label}}. {{Incode|Label}} è una stringa modificabile dall'utente che identifica l'oggetto nella [[tree view/it|vista ad albero]]. Invece, l'attributo {{incode|Name}} di un oggetto viene assegnato al momento della sua creazione e non può essere modificato; questo attributo è di sola lettura e non viene nemmeno visualizzato nell'editor delle proprietà.
Line 50: Line 66:


{{Code|code=
{{Code|code=
obj = App.ActiveDocument.addObject("App::FeaturePython")
obj = App.ActiveDocument.addObject("App::FeaturePython", "App__FeaturePython")
obj.Label = "Plain_object"
obj.Label = "Plain_object"
print(obj.Name)
print(obj.Name)
print(obj.Label)
}}
}}


<div class="mw-translate-fuzzy">
[[File:FreeCAD_Properties_View_basic.png|x264px]] [[File:FreeCAD_Properties_Data_basic.png|x264px]]
[[File:FreeCAD_Properties_View_basic.png|x264px]] [[File:FreeCAD_Properties_Data_basic.png|x264px]]
</div>


{{Caption|Schede Vista e Dati dell'editor delle proprietà, per un oggetto script di base "App::FeaturePython".}}
{{Caption|Schede Vista e Dati dell'editor delle proprietà, per un oggetto script di base "App::FeaturePython".}}


<div class="mw-translate-fuzzy">
Most geometrical objects that can be created and displayed in the [[3D view|3D view]] are derived from a [[Part Feature|{{incode|Part::Feature}}]]. See [[Part Feature|Part Feature]] for the most basic properties that these objects have.
La maggior parte degli oggetti geometrici che possono essere creati e visualizzati nella [[3D view/it|vista 3D]] sono derivati da una [[Part Feature/it|{{incode|Part::Feature}}]]. Vedere [[Part Feature/it|Part Feature]] per le proprietà più basilari di questi oggetti.
</div>


<div class="mw-translate-fuzzy">
For 2D geometry, most objects are derived from [[Part Part2DObject|{{incode|Part::Part2DObject}}]] (itself derived from [[Part Feature|{{incode|Part::Feature}}]]) which is the base of [[Sketcher Workbench|Sketches]], and most [[Draft Workbench|Draft elements]]. See [[Part Part2DObject|Part Part2DObject]] for the most basic properties that these objects have.
Per la geometria 2D, la maggior parte degli oggetti deriva da [[Part Part2DObject/it|{{incode|Part::Part2DObject}}]] (essi stessi derivati da [[Part Feature/it|{{incode|Part::Feature}}]]) che sono la base di [[Sketcher Workbench/it|Schizzi]], e di molti elementi di [[Draft Workbench/it|Draft]]. Vedere [[Part Part2DObject/it|Part Part2DObject]] per le proprietà più basilari di questi oggetti.
</div>


==Actions ==
==Azioni ==


Le azioni nelle proprietà vista sono state implementate nella versione 0.19.
Actions in the property view were implemented in 0.19.


Facendo clic con il tasto destro in uno spazio vuoto della vista o con una proprietà selezionata, viene visualizzato solo un comando:
Right clicking in an empty space of the view, or with a property selected, shows only one command:
* {{MenuCommand|Show all}}: if active, in addition to the standard properties that appear already, it shows all the hidden Data and View properties in their respective tabs.
* {{MenuCommand|Mostra tutto}}: se attivo, oltre alle proprietà standard che appaiono già, mostra tutti i dati nascosti e visualizza le proprietà nelle rispettive schede.
** Data: "Proxy", "Label2", "Expression Engine", and "Visibility".
** Dati: "Proxy", "Label2", "Expression Engine", and "Visibility".
** View: "Proxy".
** Vista: "Proxy".


<div class="mw-translate-fuzzy">
When the {{MenuCommand|Show all}} option is active, and one property is selected, more actions are available with a second right click:
Quando l'opzione {{MenuCommand|Mostra tutto}} è attiva e viene selezionata una proprietà, facendo un secondo clic con il tasto destro sono disponibili altre azioni:
* {{MenuCommand|Show all}}: deactivates the {{MenuCommand|Show all}} command, hiding the additional Data and View properties.
* {{MenuCommand|Mostra tutto}}: disattiva il comando {{MenuCommand|Mostra tutto}} e nasconde le proprietà aggiuntive di Dati e Vista.
* {{MenuCommand|Add Property}}: adds a dynamic property to the object; this works with both C++ and Python [[scripted objects|scripted objects]].
* {{MenuCommand|Expression}}: brings up the formula editor, which allows using [[Expressions|expressions]] in the property value.
* {{MenuCommand|Add Property}}: aggiunge una proprietà dinamica all'oggetto; funziona con oggetti di [[scripted objects/it|script]] C++ e Python.
* {{MenuCommand|Expression}}: visualizza l'editor delle formule, che consente di utilizzare le [[Expressions/it|espressioni]] nel valore della proprietà.
* {{MenuCommand|Hidden}}: if active, sets the property as hidden, meaning that it will only be displayed if {{MenuCommand|Show all}} is active.
* {{MenuCommand|Hidden}}: se attivo, imposta la proprietà come nascosta, il che significa che verrà visualizzata solo se {{MenuCommand|Mostra tutto}} è attivo.
* {{MenuCommand|Output}}: if active, sets the property as output.
* {{MenuCommand|Output}}: se attivo, imposta la proprietà come output.
* {{MenuCommand|NoRecompute}}: if active, sets the property as not recomputed when the document is recomputed; this is useful when a property should be kept unaffected by other updates.
* {{MenuCommand|NoRecompute}}: se attivo, imposta la proprietà come non ricalcolata quandi il documento viene ricalcolato; è utile quando una proprietà non deve essere influenzata da altri aggiornamenti.
* {{MenuCommand|ReadOnly}}: if active, sets the property to be read-only; it won't be editable any more until this switch is turned off.
* {{MenuCommand|ReadOnly}}: se attivo, imposta la proprietà in sola lettura; non sarà più modificabile fino a quando questo interruttore non viene disattivato.
* {{MenuCommand|Transient}}: if active, sets the property as transient.
* {{MenuCommand|Touched}}: if active, it becomes touched, and ready for recompute.
* {{MenuCommand|Transient}}: se attivo, imposta la proprietà come transitoria.
* {{MenuCommand|EvalOnRestore}}: if active, it is evaluated when the document is restored.
* {{MenuCommand|Touched}}: se attivo, viene toccato e pronto per il ricalcolo.
* {{MenuCommand|EvalOnRestore}}: se attivo, viene valutato al ripristino del documento.
</div>


==Esempio di proprietà di un oggetto PartDesign==
==Esempio di proprietà di un oggetto PartDesign==

In this section we show some common properties that are visible for a [[PartDesign Body|PartDesign Body]], and one [[PartDesign Feature|PartDesign Feature]]. The specific properties of an object can found in the specific documentation page of that object.


===Vista===
===Vista===


Most of these properties are inherited from the [[Part_Feature|Part Feature]] basic object.

<div class="mw-translate-fuzzy">
[[File:FreeCAD_Properties_View.png|490px|left]]
[[File:FreeCAD_Properties_View.png|490px|left]]
{{TitleProperty|Base}}
{{TitleProperty|Base}}
</div>


<div class="mw-translate-fuzzy">
* {{PropertyView|Bounding Box}} : Indica se deve essere visualizzata una casella (riquadro di delimitazione) che mostra l'ingombro complessivo dell'oggetto. Valore Falso o Vero (predefinito, Falso).
* {{PropertyView|Bounding Box}} : Indica se deve essere visualizzata una casella (riquadro di delimitazione) che mostra l'ingombro complessivo dell'oggetto. Valore Falso o Vero (predefinito, Falso).
* {{PropertyView|Control Point}} : Indica se i punti di controllo delle funzioni devono essere visualizzati. Valore Falso o Vero (predefinito, Falso).
* {{PropertyView|Control Point}} : Indica se i punti di controllo delle funzioni devono essere visualizzati. Valore Falso o Vero (predefinito, Falso).
Line 105: Line 137:
* {{PropertyView|Visibility}} : Determina la visibilità della funzione (come la barra {{KEY|SPACE}}). Valore Falso o Vero (predefinito, Vero).
* {{PropertyView|Visibility}} : Determina la visibilità della funzione (come la barra {{KEY|SPACE}}). Valore Falso o Vero (predefinito, Vero).
{{clear}}
{{clear}}
</div>


=== Dati ===
=== Dati ===


In this case we observe the properties of the [[PartDesign Revolution|PartDesign Revolution]] feature.

<div class="mw-translate-fuzzy">
[[File:FreeCAD_Properties_Data.png|490px|left]]
[[File:FreeCAD_Properties_Data.png|490px|left]]
{{TitleProperty|Base}}
{{TitleProperty|Base}}
</div>


<div class="mw-translate-fuzzy">
* {{ProprietaDati|Label}}:
Label è il nome attribuito all'operazione, questo nome può essere modificato a discrezione.
</div>

{{TitleProperty|Part Design}}
* {{PropertyData|Refine}}: whether to refine the fusion done with other objects.

<div class="mw-translate-fuzzy">
* {{PropertyData|Placement}} :
* {{PropertyData|Placement}} :
Ogni funzione ha un posizionamento che può essere controllato tramite la tabella delle proprietà dei dati. Placement controlla il posizionamento della parte rispetto al sistema di coordinate. NOTA: le proprietà di posizionamento non influenzano le dimensioni fisiche della funzione, ma semplicemente la sua posizione nello spazio!<br>Se si seleziona il titolo '''Placement''' [[Image:Tache_Placement_01_fr_00.png|256px|Options Placement]], alla sua destra appare un pulsante con {{KEY|tre puntini}}. Cliccando su questi {{KEY| '''...'''}}, si apre la finestra delle opzioni per il '''[[Tasks_Placement/it|Posizionamento]]'''.
Ogni funzione ha un posizionamento che può essere controllato tramite la tabella delle proprietà dei dati. Placement controlla il posizionamento della parte rispetto al sistema di coordinate. NOTA: le proprietà di posizionamento non influenzano le dimensioni fisiche della funzione, ma semplicemente la sua posizione nello spazio!<br>Se si seleziona il titolo '''Placement''' [[Image:Tache_Placement_01_fr_00.png|256px|Options Placement]], alla sua destra appare un pulsante con {{KEY|tre puntini}}. Cliccando su questi {{KEY| '''...'''}}, si apre la finestra delle opzioni per il '''[[Tasks_Placement/it|Posizionamento]]'''.
</div>

<div class="mw-translate-fuzzy">
* {{ProprietaDati|Axis}}:
Questa opzione specifica l'asse o gli assi su cui l'operazione creata deve essere ruotata. Il valore di rotazione esatto viene dalla opzione angolo (sopra).
Questa opzione ha tre argomenti, che vengono passati come numeri alle rispettive caselle di testo X, Y, Z dello strumento. Inserendo un valore in più di uno degli assi si causa la rotazione della parte del corrispondente angolo per ogni asse. Per esempio, con un angolo impostato pari a 15°, specificando un valore di 1,0 per X, e di 2,0 per Y causa una rotazione finale del pezzo di 15° sull'asse X e di 30° sull'asse Y.
</div>


<div class="mw-translate-fuzzy">
* {{ProprietaDati|Angle}}:
* {{ProprietaDati|Angle}}:
L'argomento Angolo specifica l'angolo da utilizzare con l'opzione Axis. In questa opzione si stabilisce un angolo, poi sotto, con l'opzione Axis, si imposta l'asse sul quale si vuole utilizzare questo angolo.
L'argomento Angolo specifica l'angolo da utilizzare con l'opzione Axis. In questa opzione si stabilisce un angolo, poi sotto, con l'opzione Axis, si imposta l'asse sul quale si vuole utilizzare questo angolo.
L'operazione viene ruotata dell'angolo specificato, attorno all'asse specificato. Un esempio di utilizzo potrebbe essere quando si crea una operazione rivoluzione, ma poi serve ruotare l'intera operazione di un certo valore, per allinearla con una diversa operazione preesistente.
L'operazione viene ruotata dell'angolo specificato, attorno all'asse specificato. Un esempio di utilizzo potrebbe essere quando si crea una operazione rivoluzione, ma poi serve ruotare l'intera operazione di un certo valore, per allinearla con una diversa operazione preesistente.
</div>


{{TitleProperty|Sketch Based}}
* {{ProprietaDati|Axis}}:
Questa opzione specifica l'asse o gli assi su cui l'operazione creata deve essere ruotata. Il valore di rotazione esatto viene dalla opzione angolo (sopra).
Questa opzione ha tre argomenti, che vengono passati come numeri alle rispettive caselle di testo X, Y, Z dello strumento. Inserendo un valore in più di uno degli assi si causa la rotazione della parte del corrispondente angolo per ogni asse. Per esempio, con un angolo impostato pari a 15°, specificando un valore di 1,0 per X, e di 2,0 per Y causa una rotazione finale del pezzo di 15° sull'asse X e di 30° sull'asse Y.


<div class="mw-translate-fuzzy">
* {{ProprietaDati|Position}}:
* {{ProprietaDati|Position}}:
Questa opzione specifica il punto base, ovvero, il punto a cui tutte le dimensioni si riferiscono. Questa opzione ha tre argomenti, che vengono passati come numeri alle rispettive caselle di testo X, Y, Z dello strumento. Inserendo un valore in una o più caselle si produce una traslazione della parte sull'asse corrispondente, pari al numero di unità indicate.
Questa opzione specifica il punto base, ovvero, il punto a cui tutte le dimensioni si riferiscono. Questa opzione ha tre argomenti, che vengono passati come numeri alle rispettive caselle di testo X, Y, Z dello strumento. Inserendo un valore in una o più caselle si produce una traslazione della parte sull'asse corrispondente, pari al numero di unità indicate.
</div>


{{clear}}
* {{ProprietaDati|Label}}:

Label è il nome attribuito all'operazione, questo nome può essere modificato a discrezione.
== Scripting ==

{{Emphasis|See also:}} [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].

See [[scripted objects|scripted objects]] for the full information on adding properties to objects defined through [[Python|Python]].

Most properties that are visible in the property editor can be accessed from the [[Python console|Python console]]. These properties are just attributes of the class that defines the selected object. For example, if the property editor shows the {{PropertyData|Group}} property, this means that the object has the {{incode|Group}} attribute.
{{Code|code=
print(obj.Group)
}}

These attributes (properties) are added with the {{incode|addProperty}} method of the base object. At least it is necessary to specify the type of [[property|property]], and its name.
{{Code|code=
obj.addProperty("App::PropertyFloat", "Custom")
print(obj.Custom)
}}

Properties follow the {{incode|CapitalCamelCase}} or {{incode|PascalCase}} convention, meaning that each word starts with a capital letter, and there are no underscores. When the property editor displays such names, it leaves a space between each capital letter, making it easier to read.

{{Code|code=
obj.addProperty("App::PropertyDistance", "CustomCamelProperty")
obj.CustomCamelProperty = 1000
print(obj.CustomCamelProperty)
}}

[[File:FreeCAD_Property_editor_Custom.png]]
{{Caption|Property editor showing the Data properties of a [[PartDesign Body|PartDesign Body]], with two additional properties, "Custom" and "Custom Camel Property".}}

In similar way the {{MenuCommand|View}} properties are added, not to the base object, but to its {{incode|ViewObject}}. Then, it follows that properties like {{PropertyView|Angular Deflection}}, {{PropertyView|Bounding Box}}, {{PropertyView|Display Mode}}, {{PropertyView|Display Mode Body}}, {{PropertyView|Line Color}}, and others, can be examined and changed from the [[Python console|Python console]].

{{Code|code=
print(obj.ViewObject.AngularDeflection)
print(obj.ViewObject.BoundingBox)
print(obj.ViewObject.DisplayMode)
print(obj.ViewObject.DisplayModeBody)
print(obj.ViewObject.LineColor)
}}

All public properties of the object, and of its view provider, are contained in the corresponding {{incode|PropertiesList}} attribute.
{{Code|code=
print(obj.PropertiesList)
print(obj.ViewObject.PropertiesList)
}}


{{docnav/it|[[Interface Customization/it|Personalizzare l'interfaccia]]|[[Workbenches/it|Gli ambienti]]}}


<div class="mw-translate-fuzzy">
{{docnav/it|[[Interface Customization/it|Personalizzare l'interfaccia]]|[[Workbenches/it|Ambienti di lavoro]]}}
</div>


{{Interface/it}}
{{Interface navi{{#translation:}}}}
{{Std Base navi{{#translation:}}}}
{{Userdocnavi/it}}
{{Userdocnavi{{#translation:}}}}

Revision as of 16:06, 30 December 2020

Descrizione

L'editore delle proprietà appare quando è attiva la scheda Modello della vista combinata; consente di gestire le proprietà degli oggetti nel documento.

Generalmente, l'editore delle proprietà è destinato a gestire solo un oggetto alla volta. I valori mostrati nell'editore appartengono all'oggetto attivo del documento attivo. Alcune proprietà come i colori, possono però essere impostate per più oggetti selezionati. Se non ci sono elementi selezionati, l'editore delle proprietà è vuoto.

Non tutte le proprietà possono sempre essere modificate; a seconda dello stato specifico della proprietà, alcune di esse possono essere invisibili (non elencate) o di sola lettura (non modificabili).

Editore delle proprietà vuoto, quando nessun oggetto è selezionato.

Tipi di proprietà

Una proprietà è un'informazione come un numero o una stringa di testo allegata a un documento di FreeCAD o ad un oggetto del documento.

Gli oggetti creati con script personalizzati possono utilizzare qualsiasi tipo di proprietà definita nel sistema di base. Vedere l'elenco completo in Proprietà degli oggetti.

Alcuni dei tipi di proprietà più comunemente usati sono:

App::PropertyBool
App::PropertyFloat
App::PropertyAngle
App::PropertyDistance
App::PropertyInteger
App::PropertyString
App::PropertyMatrix
App::PropertyVector
App::PropertyPlacement

Oggetti diversi possono avere tipi di proprietà diverse. Tuttavia, molti oggetti hanno gli stessi tipi perché sono derivati dalla stessa classe interna. Ad esempio, la maggior parte degli oggetti che descrivono le forme geometriche (linee, cerchi, rettangoli, corpi solidi, parti importate, ecc.) hanno la proprietà "Posizionamento" che definisce la loro posizione nella Vista 3D.

Proprietà Vista e Dati

Ci sono due classi di proprietà delle funzioni accessibili tramite le schede nell'editore delle proprietà:

  • Proprietà Vista relative all'aspetto "visivo" dell'oggetto. Le proprietà Vista sono legate all'attributo ViewProvider (ViewObject) dell'oggetto e sono accessibili solo quando viene caricata l'interfaccia utente grafica (GUI). Non sono accessibili quando si utilizza FreeCAD in modalità console o come libreria senza testa.
  • Proprietà Dati relative ai parametri "fisici" dell'oggetto. Le proprietà Dati definiscono le caratteristiche essenziali dell'oggetto; esistono sempre, anche quando FreeCAD viene utilizzato in modalità console o come libreria. Ciò significa che se si carica un documento in modalità console, è possibile modificare il raggio di un cerchio o la lunghezza di una linea, anche se non è possibile visualizzare il risultato sullo schermo.

Per questo motivo, le proprietà Dati sono considerate più "reali", in quanto definiscono veramente la geometria di una forma. Invece le proprietà Vista sono meno importanti perché influenzano solo l'aspetto della geometria. Ad esempio, un cerchio di raggio di 10 mm è diverso da un cerchio di raggio di 5 mm; il colore del cerchio (proprietà vista) non influisce sulla sua forma, ma il raggio (proprietà dati) sì. In molti casi in questa documentazione, si intende che la parola "proprietà" si riferisce a una "proprietà dati".

Proprietà di base

See also: Object name

L'oggetto script più semplice non mostra alcuna proprietà Dati nell'editore delle proprietà, ad eccezione dell'attributo Label. Label è una stringa modificabile dall'utente che identifica l'oggetto nella vista ad albero. Invece, l'attributo Name di un oggetto viene assegnato al momento della sua creazione e non può essere modificato; questo attributo è di sola lettura e non viene nemmeno visualizzato nell'editor delle proprietà.

Un oggetto parametrico di base viene creato nel modo seguente:

obj = App.ActiveDocument.addObject("App::FeaturePython", "App__FeaturePython")
obj.Label = "Plain_object"
print(obj.Name)
print(obj.Label)

Schede Vista e Dati dell'editor delle proprietà, per un oggetto script di base "App::FeaturePython".

La maggior parte degli oggetti geometrici che possono essere creati e visualizzati nella vista 3D sono derivati da una Part::Feature. Vedere Part Feature per le proprietà più basilari di questi oggetti.

Per la geometria 2D, la maggior parte degli oggetti deriva da Part::Part2DObject (essi stessi derivati da Part::Feature) che sono la base di Schizzi, e di molti elementi di Draft. Vedere Part Part2DObject per le proprietà più basilari di questi oggetti.

Azioni

Le azioni nelle proprietà vista sono state implementate nella versione 0.19.

Facendo clic con il tasto destro in uno spazio vuoto della vista o con una proprietà selezionata, viene visualizzato solo un comando:

  • Mostra tutto: se attivo, oltre alle proprietà standard che appaiono già, mostra tutti i dati nascosti e visualizza le proprietà nelle rispettive schede.
    • Dati: "Proxy", "Label2", "Expression Engine", and "Visibility".
    • Vista: "Proxy".

Quando l'opzione Mostra tutto è attiva e viene selezionata una proprietà, facendo un secondo clic con il tasto destro sono disponibili altre azioni:

  • Mostra tutto: disattiva il comando Mostra tutto e nasconde le proprietà aggiuntive di Dati e Vista.
  • Add Property: aggiunge una proprietà dinamica all'oggetto; funziona con oggetti di script C++ e Python.
  • Expression: visualizza l'editor delle formule, che consente di utilizzare le espressioni nel valore della proprietà.
  • Hidden: se attivo, imposta la proprietà come nascosta, il che significa che verrà visualizzata solo se Mostra tutto è attivo.
  • Output: se attivo, imposta la proprietà come output.
  • NoRecompute: se attivo, imposta la proprietà come non ricalcolata quandi il documento viene ricalcolato; è utile quando una proprietà non deve essere influenzata da altri aggiornamenti.
  • ReadOnly: se attivo, imposta la proprietà in sola lettura; non sarà più modificabile fino a quando questo interruttore non viene disattivato.
  • Transient: se attivo, imposta la proprietà come transitoria.
  • Touched: se attivo, viene toccato e pronto per il ricalcolo.
  • EvalOnRestore: se attivo, viene valutato al ripristino del documento.

Esempio di proprietà di un oggetto PartDesign

In this section we show some common properties that are visible for a PartDesign Body, and one PartDesign Feature. The specific properties of an object can found in the specific documentation page of that object.

Vista

Most of these properties are inherited from the Part Feature basic object.

Base

  • VistaBounding Box : Indica se deve essere visualizzata una casella (riquadro di delimitazione) che mostra l'ingombro complessivo dell'oggetto. Valore Falso o Vero (predefinito, Falso).
  • VistaControl Point : Indica se i punti di controllo delle funzioni devono essere visualizzati. Valore Falso o Vero (predefinito, Falso).
  • VistaDeviation : Imposta la precisione della rappresentazione poligonale del modello nella vista 3D (tassellatura). Valori più bassi = migliore qualità. Il valore è in percentuale della dimensione dell'oggetto (deviazione in mm = (w+h+d)/3* valore in Percentuale /100, dove w, h, d sono le dimensioni del riquadro di delimitazione).
  • VistaDisplay Mode :Modalità di visualizzazione della funzione, Flat lines, Shaded, Wireframe, Points . (Default, Flat lines).
  • VistaLighting : Illuminazione One side, Two side . (Default, Two side).
  • VistaLine Color : Dà il colore della linea (bordi) (Default, 25, 25, 25).
  • VistaLine Width : Dà lo spessore della linea (bordi) (Default, 2).
  • VistaPoint Color : Fornisce il colore dei punti (estremità della funzione) (Default, 25, 25, 25).
  • VistaPoint Size : Dà la dimensione dei punti (Default, 2).
  • VistaSelectable : Consente la selezione della funzione. Valore Falso o Vero (predefinito, Vero).
  • VistaShape Color : Dà il colore della forma (default, 204, 204, 204).
  • VistaTransparency : Imposta il grado di trasparenza nella funzione da 0 a 100 (Default, 0).
  • VistaVisibility : Determina la visibilità della funzione (come la barra SPACE). Valore Falso o Vero (predefinito, Vero).

Dati

In this case we observe the properties of the PartDesign Revolution feature.

Base

  • DatiLabel:

Label è il nome attribuito all'operazione, questo nome può essere modificato a discrezione.

Part Design

  • DatiRefine: whether to refine the fusion done with other objects.
  • DatiPlacement :

Ogni funzione ha un posizionamento che può essere controllato tramite la tabella delle proprietà dei dati. Placement controlla il posizionamento della parte rispetto al sistema di coordinate. NOTA: le proprietà di posizionamento non influenzano le dimensioni fisiche della funzione, ma semplicemente la sua posizione nello spazio!
Se si seleziona il titolo Placement Options Placement, alla sua destra appare un pulsante con tre puntini. Cliccando su questi ..., si apre la finestra delle opzioni per il Posizionamento.

  • DatiAxis:

Questa opzione specifica l'asse o gli assi su cui l'operazione creata deve essere ruotata. Il valore di rotazione esatto viene dalla opzione angolo (sopra). Questa opzione ha tre argomenti, che vengono passati come numeri alle rispettive caselle di testo X, Y, Z dello strumento. Inserendo un valore in più di uno degli assi si causa la rotazione della parte del corrispondente angolo per ogni asse. Per esempio, con un angolo impostato pari a 15°, specificando un valore di 1,0 per X, e di 2,0 per Y causa una rotazione finale del pezzo di 15° sull'asse X e di 30° sull'asse Y.

  • DatiAngle:

L'argomento Angolo specifica l'angolo da utilizzare con l'opzione Axis. In questa opzione si stabilisce un angolo, poi sotto, con l'opzione Axis, si imposta l'asse sul quale si vuole utilizzare questo angolo. L'operazione viene ruotata dell'angolo specificato, attorno all'asse specificato. Un esempio di utilizzo potrebbe essere quando si crea una operazione rivoluzione, ma poi serve ruotare l'intera operazione di un certo valore, per allinearla con una diversa operazione preesistente.

Sketch Based

  • DatiPosition:

Questa opzione specifica il punto base, ovvero, il punto a cui tutte le dimensioni si riferiscono. Questa opzione ha tre argomenti, che vengono passati come numeri alle rispettive caselle di testo X, Y, Z dello strumento. Inserendo un valore in una o più caselle si produce una traslazione della parte sull'asse corrispondente, pari al numero di unità indicate.

Scripting

See also: FreeCAD Scripting Basics.

See scripted objects for the full information on adding properties to objects defined through Python.

Most properties that are visible in the property editor can be accessed from the Python console. These properties are just attributes of the class that defines the selected object. For example, if the property editor shows the DatiGroup property, this means that the object has the Group attribute.

print(obj.Group)

These attributes (properties) are added with the addProperty method of the base object. At least it is necessary to specify the type of property, and its name.

obj.addProperty("App::PropertyFloat", "Custom")
print(obj.Custom)

Properties follow the CapitalCamelCase or PascalCase convention, meaning that each word starts with a capital letter, and there are no underscores. When the property editor displays such names, it leaves a space between each capital letter, making it easier to read.

obj.addProperty("App::PropertyDistance", "CustomCamelProperty")
obj.CustomCamelProperty = 1000
print(obj.CustomCamelProperty)

Property editor showing the Data properties of a PartDesign Body, with two additional properties, "Custom" and "Custom Camel Property".

In similar way the View properties are added, not to the base object, but to its ViewObject. Then, it follows that properties like VistaAngular Deflection, VistaBounding Box, VistaDisplay Mode, VistaDisplay Mode Body, VistaLine Color, and others, can be examined and changed from the Python console.

print(obj.ViewObject.AngularDeflection)
print(obj.ViewObject.BoundingBox)
print(obj.ViewObject.DisplayMode)
print(obj.ViewObject.DisplayModeBody)
print(obj.ViewObject.LineColor)

All public properties of the object, and of its view provider, are contained in the corresponding PropertiesList attribute.

print(obj.PropertiesList)
print(obj.ViewObject.PropertiesList)