Property editor/it: Difference between revisions

From FreeCAD Documentation
(Created page with "Alcuni dei tipi di proprietà più comunemente usati sono:")
(Updating to match new version of source page)
(36 intermediate revisions by 2 users not shown)
Line 4: Line 4:
== 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).


<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 22:
==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 39:
}}
}}


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]].
<div class="mw-translate-fuzzy">
Oggetti diversi possono avere proprietà differenti. Tuttavia, alcune proprietà sono comuni a tutti gli oggetti, ad esempio, la posizione e la rotazione di un oggetto che sono delle proprietà Dati manipolabili.
</div>


== View and Data properties ==
== Proprietà Vista e Dati ==

Ci sono due classi di proprietà delle funzioni accessibili tramite le schede nell'editore delle proprietà:
* Proprietà {{MenuCommand|Vista}} relative all'aspetto "visivo" dell'oggetto. Le proprietà {{MenuCommand|Vista}} sono legate all'attributo {{Emphasis|ViewProvider}} ({{incode|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à {{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">
<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".
Ci sono due tipi di dati delle proprietà delle operazioni e sono contenuti nelle corrispondenti schede:
:Le proprietà {{PropertyView/it|Vista}} : riguardano la ''visualizzazione'' delle caratteristiche dell'oggetto selezionato.
:Le proprietà {{PropertyData/it|Dati}} : riguardano i dati ''fisici'' dell'oggetto selezionato.
</div>
</div>


=== Proprietà di base ===
For this reason, {{MenuCommand|Data}} properties are considered to be more "real", as they truly define the geometry of a shape. On the other hand, {{MenuCommand|View}} properties are less important because they only affect the appearance of the geometry. For example, a circle of 10 mm radius is different from a circle of 5 mm radius; the color of the circle (view property) doesn't affect its shape, but the radius does (data property). In many instances in this documentation, the word "property" is understood to refer to a "Data property".

=== Basic properties ===


The most basic [[scripted objects|scripted object]] won't show any {{MenuCommand|Data}} property in the property editor, except for its {{incode|Label}} attribute. The {{incode|Label}} is a user editable string that identifies the object in the [[tree view|tree view]]. On the other hand, the {{incode|Name}} attribute of an object is assigned at the moment of its creation and cannot be changed; this attribute is read-only, and is not displayed in the property editor either.
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à.


Un oggetto parametrico di base viene creato nel modo seguente:
A basic parametric object is created as follow


{{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|View and Data tabs of the property editor, for a basic "App::FeaturePython" scripted object.}}
{{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 ==
Actions in the property view were implemented in 0.19.


Le azioni nelle proprietà vista sono state implementate nella versione 0.19.
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.
** Data: "Proxy", "Label2", "Expression Engine", and "Visibility".
** View: "Proxy".


Facendo clic con il tasto destro in uno spazio vuoto della vista o con una proprietà selezionata, viene visualizzato solo un comando:
When the {{MenuCommand|Show all}} option is active, and one property is selected, more actions are available with a second right click:
* {{MenuCommand|Mostra tutto}}: se attivo, oltre alle proprietà standard che appaiono già, mostra tutti i dati nascosti e visualizza le proprietà nelle rispettive schede.
* {{MenuCommand|Show all}}: deactivates the {{MenuCommand|Show all}} command, hiding the additional Data and View properties.
** Dati: "Proxy", "Label2", "Expression Engine", and "Visibility".
* {{MenuCommand|Add Property}}: adds a dynamic property to the object; this works with both C++ and Python [[scripted objects|scripted objects]].
** Vista: "Proxy".
* {{MenuCommand|Expression}}: brings up the formula editor, which allows using [[Expressions|expressions]] in the property value.
* {{MenuCommand|Hidden}}: if active, sets the property as hidden, meaning that it will only be displayed if {{MenuCommand|Show all}} is active.
* {{MenuCommand|Output}}: if active, sets the property as 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|ReadOnly}}: if active, sets the property to be read-only; it won't be editable any more until this switch is turned off.
* {{MenuCommand|Transient}}: if active, sets the property as transient.
* {{MenuCommand|Touched}}: if active, it becomes touched, and ready for recompute.
* {{MenuCommand|EvalOnRestore}}: if active, it is evaluated when the document is restored.


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Quando l'opzione {{MenuCommand|Mostra tutto}} è attiva e viene selezionata una proprietà, facendo un secondo clic con il tasto destro sono disponibili altre azioni:
==Esempio di proprietà di un oggetto Part==
* {{MenuCommand|Mostra tutto}}: disattiva il comando {{MenuCommand|Mostra tutto}} e nasconde le proprietà aggiuntive di Dati e Vista.
===Proprietà===
* {{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}}: se attivo, imposta la proprietà come nascosta, il che significa che verrà visualizzata solo se {{MenuCommand|Mostra tutto}} è attivo.
* {{MenuCommand|Output}}: se attivo, imposta la proprietà come output.
* {{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}}: se attivo, imposta la proprietà in sola lettura; non sarà più modificabile fino a quando questo interruttore non viene disattivato.
* {{MenuCommand|Transient}}: se attivo, imposta la proprietà come transitoria.
* {{MenuCommand|Touched}}: se attivo, viene toccato e pronto per il ricalcolo.
* {{MenuCommand|EvalOnRestore}}: se attivo, viene valutato al ripristino del documento.
</div>
</div>

==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">
<div class="mw-translate-fuzzy">
Line 118: Line 132:


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

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


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 125: Line 141:


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
* {{ProprietaDati|Label}}:
{{PropertyData|Placement}} :
Label è il nome attribuito all'operazione, questo nome può essere modificato a discrezione.
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 ccon {{KEY|tre puntini}}. Cliccando su questi {{KEY| '''...'''}}, si apre la finestra delle opzioni per il '''[[Tasks_Placement/it|Posizionamento]]'''.
</div>
</div>


{{TitleProperty|Part Design}}
<div class="mw-translate-fuzzy">
* {{PropertyData|Refine}}: whether to refine the fusion done with other objects.
* {{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'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>


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
* {{PropertyData|Placement}} :
* {{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.
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>


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
* {{ProprietaDati|Axis}}:
* {{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 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>


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

{{TitleProperty|Sketch Based}}


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
* {{ProprietaDati|Position}}:
{{docnav/it|[[Interface Customization/it|Personalizzare l'interfaccia]]|[[Workbenches/it|Gli ambienti]]}}
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>
</div>


{{clear}}

== 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|Ambienti di lavoro]]}}


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
{{Interface/it}}
[[Category:User Documentation/it]]
{{Userdocnavi/it}}
</div>
</div>

Revision as of 12:14, 14 January 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

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)