Difference between revisions of "Property/it"

From FreeCAD Documentation
Jump to navigation Jump to search
(Created page with "In FreeCAD le proprietà svolgono un ruolo molto importante in quanto esso è concepito per lavorare con oggetti parametrici, ovvero oggetti definiti solo dalle loro proprietà.")
(Updating to match new version of source page)
 
(23 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
<languages/>
 
<languages/>
 +
 +
== Introduzione ==
 +
 +
Una [[Property/it|proprietà]] è una parte di informazione sotto forma di numero o di stringa di testo che viene allegata a un documento di FreeCAD oppure a un oggetto di un documento. Le proprietà pubbliche possono essere visualizzate e, se consentito, modificate nell'[[Property editor/it|editore delle proprietà]].
 +
 
<div class="mw-translate-fuzzy">
 
<div class="mw-translate-fuzzy">
{{Property/it}}
+
In FreeCAD le proprietà svolgono un ruolo molto importante. Dato che gli oggetti in FreeCAD sono "parametrici", ciò significa che il loro comportamento è definito dalle loro proprietà e dal modo in cui queste proprietà vengono utilizzate come input per i loro metodi delle classi.
 
</div>
 
</div>
  
In FreeCAD le proprietà svolgono un ruolo molto importante in quanto esso è concepito per lavorare con oggetti parametrici, ovvero oggetti definiti solo dalle loro proprietà.
+
== Tutti i tipi di proprietà ==
 +
 
 +
In FreeCAD gli oggetti [[scripted objects/it|script personalizzati]] possono utilizzare uno qualsiasi dei tipi di proprietà definiti nel sistema di base:
 +
{{Code|code=
 +
Bool
 +
Float
 +
FloatList
 +
FloatConstraint
 +
Angle
 +
Distance
 +
ExpressionEngine
 +
Integer
 +
IntegerConstraint
 +
Percent
 +
Enumeration
 +
IntegerList
 +
String
 +
StringList
 +
Length
 +
Link
 +
LinkList
 +
LinkSubList
 +
Matrix
 +
Vector
 +
VectorList
 +
VectorDistance
 +
Placement
 +
PlacementLink
 +
PythonObject
 +
Color
 +
ColorList
 +
Material
 +
Path
 +
File
 +
FileIncluded
 +
PartShape
 +
FilletContour
 +
Circle
 +
}}
 +
 
 +
Internamente, il nome della proprietà ha il prefisso {{incode|App::Property}}:
 +
{{Code|code=
 +
App::PropertyBool
 +
App::PropertyFloat
 +
App::PropertyFloatList
 +
...
 +
}}
 +
 
 +
Ricordare che queste sono della proprietà {{Emphasis|types}}. Un singolo oggetto può avere molte proprietà dello stesso tipo, ma con nomi diversi.
  
Custom [[scripted objects]] in FreeCAD can have properties of the following types:
+
Per esempio:
  
 
{{Code|code=
 
{{Code|code=
Boolean
+
obj.addProperty("App::PropertyFloat", "Length")
Float
+
obj.addProperty("App::PropertyFloat", "Width")
FloatList
+
obj.addProperty("App::PropertyFloat", "Height")
FloatConstraint
 
Angle
 
Distance
 
Integer
 
IntegerConstraint
 
Percent
 
Enumeration
 
IntegerList
 
String
 
StringList
 
Link
 
LinkList
 
Matrix
 
Vector
 
VectorList
 
Placement
 
PlacementLink
 
Color
 
ColorList
 
Material
 
Path
 
File
 
FileIncluded
 
PartShape
 
FilletContour
 
Circle
 
 
}}
 
}}
  
{{Docnav/it|[[Interface Customization/it|Personalizzare l'interfaccia]]|[[Workbenches/it|Ambienti di lavoro]]}}
+
Ciò indica un oggetto con tre proprietà di tipo "Float", denominate rispettivamente "Length", "Width", e "Height".
  
[[Category:User Documentation/it]]
+
== Script ==
  
[[Category:Base/it]]
+
{{Emphasis|Vedere anche:}} [[FreeCAD Scripting Basics/it|Script di base per FreeCAD]]
 +
 
 +
Prima viene creato un [[scripted objects/it|oggetto script]], quindi gli vengono assegnate le proprietà.
 +
{{Code|code=
 +
obj = App.ActiveDocument.addObject("Part::Feature", "CustomObject")
 +
 
 +
obj.addProperty("App::PropertyFloat", "Velocity", "Parameter", "Body speed")
 +
obj.addProperty("App::PropertyBool", "VelocityEnabled", "Parameter", "Enable body speed")
 +
}}
 +
 
 +
In generale, le proprietà {{Emphasis|Data}} sono assegnate usando il metodo {{incode|addProperty()}} dell'oggetto. D'altra parte, le proprietà {{Emphasis|View}} sono normalmente fornite automaticamente dall'oggetto genitore da cui deriva l'oggetto script.
 +
 
 +
Per esempio:
 +
* Derivato da {{incode|App::FeaturePython}} fornisce solo 4 proprietà {{Emphasis|View}}: "Display Mode", "On Top When Selected", "Show In Tree", e "Visibility".
 +
* Derivato da {{incode|Part::Feature}} fornisce 17 proprietà {{Emphasis|View}}: le quattro precedenti più "Angular Deflection", "Bounding Box", "Deviation", "Draw Style", "Lighting", "Line Color", "Line Width", "Point Color", "Point Size", "Selectable", "Selection Style", "Shape Color", e "Transparency".
 +
 
 +
Tuttavia, le proprietà {{Emphasis|View}} possono anche essere assegnate usando il metodo {{incode|addProperty()}} dell'oggetto fornitore della vista.
 +
{{Code|code=
 +
obj.ViewObject.addProperty("App::PropertyBool", "SuperVisibility", "Base", "Make the object glow")
 +
}}
 +
 
 +
== Source code ==
 +
 
 +
In the source code, properties are located in various {{FileName|src/App/Property*}} files.
 +
 
 +
They are imported and initialized in {{incode|[https://github.com/FreeCAD/FreeCAD/blob/9c27f1078e5ec516fe882aac1a27f5c6c6174554/src/App/Application.cpp#L1681-L1758 src/App/Application.cpp]}}.
 +
{{Code|lang=cpp|code=
 +
#include "Property.h"
 +
#include "PropertyContainer.h"
 +
#include "PropertyUnits.h"
 +
#include "PropertyFile.h"
 +
#include "PropertyLinks.h"
 +
#include "PropertyPythonObject.h"
 +
#include "PropertyExpressionEngine.h"
 +
}}
  
 +
{{Powerdocnavi{{#translation:}}}}
 +
[[Category:Developer Documentation{{#translation:}}]]
 +
[[Category:Python Code{{#translation:}}]]
 
{{clear}}
 
{{clear}}

Latest revision as of 09:39, 12 April 2021

Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎polski • ‎português • ‎português do Brasil • ‎română • ‎svenska • ‎čeština • ‎русский • ‎中文 • ‎中文(中国大陆)‎ • ‎日本語

Introduzione

Una proprietà è una parte di informazione sotto forma di numero o di stringa di testo che viene allegata a un documento di FreeCAD oppure a un oggetto di un documento. Le proprietà pubbliche possono essere visualizzate e, se consentito, modificate nell'editore delle proprietà.

In FreeCAD le proprietà svolgono un ruolo molto importante. Dato che gli oggetti in FreeCAD sono "parametrici", ciò significa che il loro comportamento è definito dalle loro proprietà e dal modo in cui queste proprietà vengono utilizzate come input per i loro metodi delle classi.

Tutti i tipi di proprietà

In FreeCAD gli oggetti script personalizzati possono utilizzare uno qualsiasi dei tipi di proprietà definiti nel sistema di base:

Bool
Float
FloatList
FloatConstraint
Angle
Distance
ExpressionEngine
Integer
IntegerConstraint
Percent
Enumeration
IntegerList
String
StringList
Length
Link
LinkList
LinkSubList
Matrix
Vector
VectorList
VectorDistance
Placement
PlacementLink
PythonObject
Color
ColorList
Material
Path
File
FileIncluded
PartShape
FilletContour
Circle

Internamente, il nome della proprietà ha il prefisso App::Property:

App::PropertyBool
App::PropertyFloat
App::PropertyFloatList
...

Ricordare che queste sono della proprietà types. Un singolo oggetto può avere molte proprietà dello stesso tipo, ma con nomi diversi.

Per esempio:

obj.addProperty("App::PropertyFloat", "Length")
obj.addProperty("App::PropertyFloat", "Width")
obj.addProperty("App::PropertyFloat", "Height")

Ciò indica un oggetto con tre proprietà di tipo "Float", denominate rispettivamente "Length", "Width", e "Height".

Script

Vedere anche: Script di base per FreeCAD

Prima viene creato un oggetto script, quindi gli vengono assegnate le proprietà.

obj = App.ActiveDocument.addObject("Part::Feature", "CustomObject")

obj.addProperty("App::PropertyFloat", "Velocity", "Parameter", "Body speed")
obj.addProperty("App::PropertyBool", "VelocityEnabled", "Parameter", "Enable body speed")

In generale, le proprietà Data sono assegnate usando il metodo addProperty() dell'oggetto. D'altra parte, le proprietà View sono normalmente fornite automaticamente dall'oggetto genitore da cui deriva l'oggetto script.

Per esempio:

  • Derivato da App::FeaturePython fornisce solo 4 proprietà View: "Display Mode", "On Top When Selected", "Show In Tree", e "Visibility".
  • Derivato da Part::Feature fornisce 17 proprietà View: le quattro precedenti più "Angular Deflection", "Bounding Box", "Deviation", "Draw Style", "Lighting", "Line Color", "Line Width", "Point Color", "Point Size", "Selectable", "Selection Style", "Shape Color", e "Transparency".

Tuttavia, le proprietà View possono anche essere assegnate usando il metodo addProperty() dell'oggetto fornitore della vista.

obj.ViewObject.addProperty("App::PropertyBool", "SuperVisibility", "Base", "Make the object glow")

Source code

In the source code, properties are located in various src/App/Property* files.

They are imported and initialized in src/App/Application.cpp.

#include "Property.h"
#include "PropertyContainer.h"
#include "PropertyUnits.h"
#include "PropertyFile.h"
#include "PropertyLinks.h"
#include "PropertyPythonObject.h"
#include "PropertyExpressionEngine.h"