Property editor/de: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
 
(44 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{Docnav/de
{{Docnav/de
|[[Document_structure/de|Dokumentstruktur]]
|[[Interface Customization/de|Anpassung Benutzeroberfläche]]
|[[Workbenches/de|Arbeitsbereiche]]
|[[Workbenches/de|Arbeitsbereiche]]
}}
}}


{{TOCright}}

<span id="Introduction"></span>
== Einführung ==
== Einführung ==


Der [[property editor/de|Eigenschafteneditor]] erscheint wenn der {{MenuCommand|Modell}} reiter der
Der [[property editor/de|Eigenschafteneditor]] erscheint wenn der Reiter {{MenuCommand|Modell}} der
[[combo_view/de|Combo Ansicht]] aktiv auf der [[interface/de|Oberfläche]] ist; es ermöglicht die Verwaltung der öffentlich zugänglichen Eigenschaften der Objekte im Dokument.
[[combo_view/de|Combo-Ansicht]] auf der [[interface/de|Oberfläche]] aktiv ist; er ermöglicht die Verwaltung der öffentlich zugänglichen Eigenschaften der Objekte im Dokument.


Generell ist der Eigenschafteneditor dazu gedacht, ein Objekt zu einer Zeit zu behandeln. Die im Eigenschafteneditor angezeigten Werte gehören zum aktiven Objekt des aktiven Dokuments (Vorsicht ist geboten, welches Dokument gerade aktiv ist, wenn mit mehreren Dokumenten gearbeitet wird). Wenn kein Element ausgewählt wurde (oder es keine gibt), bleibt der Eigenschafteneditor leer.
Generell ist der Eigenschafteneditor dazu gedacht, nur ein Objekt zur Zeit zu behandeln. Die im Eigenschafteneditor angezeigten Werte gehören zum ausgewählten Objekt des aktiven Dokuments. Es gibt jedoch einige Eigenschaften, wie Farben, die für viele ausgewählte Objekte gleichzeitig gesetzt werden können. Wenn kein Element ausgewählt wurde, bleibt der Eigenschafteneditor leer.


Nicht alle Eigenschaften können immer geändert werden; je nach dem spezifischen Status der Eigenschaft sind einige von ihnen unsichtbar (nicht aufgeführt) oder schreibgeschützt (nicht bearbeitbar).
Nicht alle Eigenschaften können immer geändert werden; je nach dem spezifischen Status der Eigenschaft sind einige von ihnen unsichtbar (nicht aufgeführt) oder schreibgeschützt (nicht bearbeitbar).

{{TOCright}}
{{TOCright}}


[[File:FreeCAD_Property_editor_empty.png]]
[[File:FreeCAD_Property_editor_empty.png]]


{{Caption|Empty property editor, when no object is selected.}}
{{Caption|Leerer Eigenschafteneditor, wenn kein Objekt ausgewählt ist.}}


<span id="Property_types"></span>
<div class="mw-translate-fuzzy">
==Eigenschaftentypen==
==Property definition==
A '''property''' is a piece of information like a number or a text string that is attached to a FreeCAD document or an object in a document. Properties can be viewed and modified with the [[Property editor]].


Eine Eigenschaft ist eine Information wie eine Zahl oder eine Textzeichenfolge, die an ein FreeCAD-Dokument oder ein Objekt im Dokument angehängt ist.
Properties play a very important part in FreeCAD, since it has been designed to work with parametric objects, which are objects defined only by their properties.


Benutzerdefinierte [[Scripted objects/de|skriptgenerierte Objekte]] können jeden der im Basissystem definierten Eigenschaftstypen verwenden. Die vollständige Liste findet man unter [[Property/de|Objekteigenschaften]].
Custom [[scripted objects]] in FreeCAD can have properties of the following types:


Einige der am häufigsten verwendeten Eigenschaftstypen sind:
{{Code|code=
Boolean
Float
FloatList
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
}}


==Example of Part object properties==
===Properties===


There are two types of feature properties accessible through tabs at the bottom of the property editor:
: {{PropertyView|View}} : properties related to the "visual" display of an object.
: {{PropertyData|Data}} : properties related to the "physical" parameters of an object.

===View===

[[File:FreeCAD_Properties_View.png|490px|left]]
{{TitleProperty|Base}}

* {{PropertyView|Bounding Box}} : Indicates if a box showing the overall extent of the object is to be displayed. Value False, or True (Default, False).
* {{PropertyView|Control Point}} : Indicates if the feature control points are to be displayed. Value False, or True (Default, False).
* {{PropertyView|Deviation}} : Sets the accuracy of the polygonal representation of the model in the 3d view (tessellation). Lower values = better quality. The value is in percent of object's size (deviation in mm = (w+h+d)/3*valueInPercent/100, where w,h,d are the bounding box dimensions).
* {{PropertyView|Display Mode}} :Display mode of the feature, '''Flat lines, Shaded, Wireframe, Points''' [[IMAGE:Vue_DisplayModePartDesign_fr_00.png|96px]]. (Default, '''Flat lines''').
* {{PropertyView|Lighting}} : Lighting '''One side, Two side''' [[IMAGE:Vue_Lighting_fr_00.png|96px]]. (Default, '''Two side''').
* {{PropertyView|Line Color}} : Gives the color of the line (edges) (Default, '''25, 25, 25''').
* {{PropertyView|Line Width}} : Gives the thickness of the line (edges) (Default, '''2''').
* {{PropertyView|Point Color}} : Gives the color of the points (ends of the feature) (Default, '''25, 25, 25''').
* {{PropertyView|Point Size}} : Gives the size of the points (Default, '''2''').
* {{PropertyView|Selectable}} : Allows selection of the feature. Value False, ou True (Default, True).
* {{PropertyView|Shape Color}} : Give the color shape (default, '''204, 204, 204''').
* {{PropertyView|Transparency}} : Sets the degree of transparency in the feature of '''0''' to '''100''' (Default, '''0''').
* {{PropertyView|Visibility}} : Determines the visibility of the feature (like the bar {{KEY|SPACE}}). Value False, or True (Default, True).
{{clear}}


===Data===


[[File:FreeCAD_Properties_Data.png|490px|left]]
{{TitleProperty|Base}}


{{PropertyData|Placement}} :
Summary of the data below.
Every feature has a placement that can be controlled through the Data Properties table. It controls the placement of the part with respect to the coordinate system. NOTE: The placement properties do not affect the physical dimensions of the feature, but merely its position in space!<br>If you select the title '''Placement''' [[Image:Tache_Placement_01_fr_00.png|256px|Options Placement]], a button with {{KEY|three small points}} appears to the right. Clicking this button {{KEY| '''...'''}}, opens the '''[[Tasks_Placement|Tasks_Placement]]''' options window.


{{PropertyData|Angle}} :
Specifies the angle to be used with the [[#Axis|axis]] property (below). An angle is set here, and the axis that the angle acts upon is set with the axis property.
The feature is rotated by the specified angle, about the specified axis.
A usage example might be if you created a revolution feature as required, but then needed to rotate the whole feature by some amount, in order to allow it to line-up with another pre-existing feature.


{{PropertyData|Axis}} :
This property specifies the axis/axes about which the feature is to be rotated. The exact value of rotation comes from the angle property (above).
This property takes three arguments, which are passed as numbers in the x, y, and z boxes in the tool. Setting a value for more than one of the axes will cause the part to be rotated in each axis, by the angle value multiplied by the value for the axis.
For example, with an angle of 15° set, specifying a value of 1.0 for x, and 2.0 for y will cause the finished part to be rotated 15° in the x-axis AND 30° in the y-axis.


{{PropertyData|Position}} :
This property specifies the base point to which all dimensions refer. This takes three arguments, which are passed as numbers to the x, y, and z boxes in the tool. Setting a value for more than one of the boxes will cause the part to be translated by the number of units along the corresponding axis.


{{PropertyData|Label}} :
The Label is the name given to the object (feature), this name can be changed as desired.


{{clear}}
'''PS: The displayed properties can vary, depending on the tool used.'''
</div>

A property is a piece of information like a number or a text string that is attached to a FreeCAD document or an object in the document.

Custom [[scripted objects|scripted objects]] can use any of the property types defined in the base system. See the full list in [[Property|Property]].


Some of the most commonly used property types are:
{{Code|code=
{{Code|code=
App::PropertyBool
App::PropertyBool
Line 142: Line 45:
}}
}}


Verschiedene Objekte können unterschiedliche Typen von Eigenschaften haben. Viele Objekte haben jedoch die gleichen Typen, weil sie von der gleichen internen Klasse abgeleitet sind. Zum Beispiel haben die meisten Objekte, die geometrische Formen beschreiben (Linien, Kreise, Rechtecke, Volumenkörper, importierte Teile usw.), die Eigenschaft "Platzierung", die ihre Position in der [[3D view/de|3D-Ansicht]] definiert.
<div class="mw-translate-fuzzy">
Verschiedene Objekte können unterschiedliche Eigenschaften haben. Trotzdem gibt es einige gemeinsame Eigenschaften bei allen Objekten, z.B. sind die Position und die Drehung (rotation) Daten-Eigenschaften eines Objekts, die geändert werden können.
</div>


<span id="View_and_Data_properties"></span>
== View and Data properties ==
== Ansicht- und Daten-Eigenschaften ==


There are two classes of feature properties accessible through tabs in the property editor:
There are two classes of feature properties accessible through tabs in the property editor:
Line 154: Line 56:
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 superficial 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" and not to a "View property".
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 superficial 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" and not to a "View property".


<span id="Basic_properties"></span>
=== Basic properties ===
=== Grundlegende Eigenschaften ===


{{Emphasis|See also: [[Object_name|Object name]]}}
{{Emphasis|Siehe auch: [[Object_name/de|Objektname]]}}


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


Ein grundlegendes parametrisches Objekt wird wie folgt erstellt
A basic parametric object is created as follow


{{Code|code=
{{Code|code=
Line 173: Line 76:
{{Caption|View and Data tabs of the property editor, for a basic "App::FeaturePython" scripted object.}}
{{Caption|View and Data tabs of the property editor, for a basic "App::FeaturePython" scripted object.}}


Most geometrical objects that can be created and displayed in the [[3D view|3D view]] are derived from a {{incode|Part::Feature}}. See [[Part Feature|Part Feature]] for the most basic properties that these objects have.
Most geometrical objects that can be created and displayed in the [[3D_view|3D view]] are derived from a {{incode|Part::Feature}}. See [[Part_Feature|Part Feature]] for the most basic properties that these objects have.


For 2D geometry, most objects are derived from {{incode|Part::Part2DObject}} (itself derived from {{incode|Part::Feature}}) which is the base of [[Sketch|Sketches]], and most [[Draft Workbench|Draft elements]]. See [[Part Part2DObject|Part Part2DObject]] for the most basic properties that these objects have.
For 2D geometry, most objects are derived from {{incode|Part::Part2DObject}} (itself derived from {{incode|Part::Feature}}) which is the base of [[Sketch|Sketches]], and most [[Draft_Workbench|Draft elements]]. See [[Part_Part2DObject|Part Part2DObject]] for the most basic properties that these objects have.


==Actions ==
<span id="Actions"></span>
== Maßnahmen ==

Actions in the property view were implemented in 0.19.


Right clicking in an empty space of the view, or with a property selected, shows only one command:
Right clicking in an empty space of the view, or with a property selected, shows only one command:
Line 188: Line 90:
When the {{MenuCommand|Show all}} option is active, and one property is selected, more actions are available with a second right click:
When the {{MenuCommand|Show all}} option is active, and one property is selected, more actions are available with a second right click:
* {{MenuCommand|Show all}}: deactivates the {{MenuCommand|Show all}} command, hiding the additional Data and View properties.
* {{MenuCommand|Show all}}: deactivates the {{MenuCommand|Show all}} command, hiding the additional Data and View properties.
* {{MenuCommand|Add Property}}: adds a dynamic property to the object; this works with both C++ defined objects, and Python [[scripted objects|scripted objects]].
* {{MenuCommand|Add Property}}: adds a dynamic property to the object; this works with both C++ defined objects, and Python [[Scripted_objects|scripted objects]].
* {{MenuCommand|Expression}}: brings up the formula editor, which allows using [[Expressions|expressions]] in the property value.
* {{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|Hidden}}: if active, sets the property as hidden, meaning that it will only be displayed in the property editor if {{MenuCommand|Show all}} is active.
* {{MenuCommand|Output}}: if active, sets the property as output.
* {{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|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|ReadOnly}}: if active, sets the property to be read-only; it won't be editable in the property editor any more until this switch is turned off. The {{MenuCommand|Expression...}} menu entry is no longer available. {{Emphasis|Note:}} It may be still possible to change the property via a dialog that updates the property.
* {{MenuCommand|Transient}}: if active, sets the property as transient.
* {{MenuCommand|Transient}}: if active, sets the property as transient. The value of a transient property is not saved to file. When opening a file, it is instantiated with its default value.
* {{MenuCommand|Touched}}: if active, it becomes touched, and ready for recompute.
* {{MenuCommand|Touched}}: if active, it becomes touched, and ready for recompute.
* {{MenuCommand|EvalOnRestore}}: if active, it is evaluated when the document is restored.
* {{MenuCommand|EvalOnRestore}}: if active, it is evaluated when the document is restored.


<span id="Example_of_the_properties_of_a_PartDesign_object"></span>
==Example of the properties of a PartDesign object==
==Beispiel für die Eigenschaften eines PartDesign-Objekts==


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


===View===
<span id="View"></span>
===Ansicht===


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


[[File:FreeCAD_Property_editor_View.png|490px|frame|left]]
<div class="mw-translate-fuzzy">

[[File:FreeCAD_Properties_View.png|490px|left]]
{{TitleProperty|Base}}
{{TitleProperty|Base}}
</div>


* {{PropertyView|Angular Deflection}}: it is another way to specify how finely to generate the mesh for rendering on screen or when exporting. The default value is 28.5 degrees, or 0.5 radians. The smaller the value the smoother the appearance will be in the [[3D view|3D view]], and the finer the mesh that will be exported.
* {{PropertyView|Angular Deflection}}: it is another way to specify how finely to generate the mesh for rendering on screen or when exporting. The default value is 28.5 degrees, or 0.5 radians. The smaller the value the smoother the appearance will be in the [[3D_view|3D view]], and the finer the mesh that will be exported.
* {{PropertyView|Bounding Box}}: indicates if a box showing the overall extent of the object is displayed.
* {{PropertyView|Bounding Box}}: indicates if a box showing the overall extent of the object is displayed.
* {{PropertyView|Deviation}}: sets the accuracy of the polygonal representation of the model in the [[3D view|3D view]] (tessellation). Lower values indicate better quality. The value is in percent of object's size.
* {{PropertyView|Deviation}}: sets the accuracy of the polygonal representation of the model in the [[3D_view|3D view]] (tessellation). Lower values indicate better quality. The value is in percent of object's size.
* {{PropertyView|Display Mode}}: display mode of the entire Body, {{Value|Flat lines}} (default), {{Value|Shaded}}, {{Value|Wireframe}}, {{Value|Points}}.
* {{PropertyView|Display Mode}}: display mode of the entire Body, {{Value|Flat lines}} (default), {{Value|Shaded}}, {{Value|Wireframe}}, {{Value|Points}}.
* {{PropertyView|Display Mode Body}}: display mode of the Tip of the Body, {{Value|Through}} (default), {{Value|Tip}}.
* {{PropertyView|Display Mode Body}}: display mode of the Tip of the Body, {{Value|Through}} (default), {{Value|Tip}}.
* {{PropertyView|Draw Style}}: {{Value|Solid}}, {{Value|Dashed}}, {{Value|Dotted}}, {{Value|Dashdot}}; defines the style of the edges in the [[3D view|3D view]].
* {{PropertyView|Draw Style}}: {{Value|Solid}}, {{Value|Dashed}}, {{Value|Dotted}}, {{Value|Dashdot}}; defines the style of the edges in the [[3D_view|3D view]].
* {{PropertyView|Lighting}}: {{Value|One side}}, {{Value|Two side}} (default).
* {{PropertyView|Lighting}}: {{Value|One side}}, {{Value|Two side}} (default).
* {{PropertyView|Line Color}}: the RGB color of the edges, it defaults to {{value|(25, 25, 25)}}.
* {{PropertyView|Line Color}}: the RGB color of the edges, it defaults to {{value|(25, 25, 25)}}.
Line 228: Line 131:
* {{PropertyView|Show In Tree}}: if it is {{TRUE}}, the object appears in the tree view. Otherwise, it is set as invisible.
* {{PropertyView|Show In Tree}}: if it is {{TRUE}}, the object appears in the tree view. Otherwise, it is set as invisible.
* {{PropertyView|Transparency}}: the degree of transparency from {{value|0}} (default) to {{value|100}}.
* {{PropertyView|Transparency}}: the degree of transparency from {{value|0}} (default) to {{value|100}}.
* {{PropertyView|Visibility}}: whether the object is visible in the [[3D view|3D view]] or not. Toggle with the {{KEY|Space}} bar in the keyboard.
* {{PropertyView|Visibility}}: whether the object is visible in the [[3D_view|3D view]] or not. Toggle with the {{KEY|Space}} bar in the keyboard.

{{clear}}
{{clear}}


===Data===
<span id="Data"></span>
===Daten===

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


[[File:FreeCAD_Property_editor_Data.png|490px|frame|left]]
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]]
{{TitleProperty|Base}}
{{TitleProperty|Base}}
</div>


* {{PropertyData|Label}}: the user defined name given to the object, this can be changed as desired.
* {{PropertyData|Label}}: the user defined name given to the object, this can be changed as desired.
Line 259: Line 163:
{{clear}}
{{clear}}


== Scripting ==
<span id="Scripting"></span>
== Skripten ==


{{Emphasis|See also:}} [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].
{{Emphasis|Siehe auch:}} [[FreeCAD Scripting Basics/de|FreeCAD Grundlagen Skripten]].


See [[scripted objects|scripted objects]] for the full information on adding properties to objects defined through [[Python|Python]].
Siehe [[scripted objects/de|geskriptete Objekte]] für die vollständigen Informationen zum Hinzufügen von Eigenschaften zu Objekten, die über [[Python/de|Python]] definiert wurden.
Deine Übersetzung

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.


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=
{{Code|code=
print(obj.Group)
print(obj.Group)
Line 271: Line 178:


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.
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=
{{Code|code=
obj.addProperty("App::PropertyFloat", "Custom")
obj.addProperty("App::PropertyFloat", "Custom")
Line 285: Line 193:


[[File:FreeCAD_Property_editor_Custom.png]]
[[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".}}
{{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]].
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=
{{Code|code=
Line 297: Line 205:
}}
}}


All public properties of the object, and of its view provider, are contained in the corresponding {{incode|PropertiesList}} attribute.
Alle öffentlichen Eigenschaften des Objekts und seines Ansichtsanbieters sind in dem entsprechenden Attribut {{incode|PropertiesList}} enthalten.

{{Code|code=
{{Code|code=
print(obj.PropertiesList)
print(obj.PropertiesList)
Line 303: Line 212:
}}
}}



<div class="mw-translate-fuzzy">
{{Docnav/de
{{docnav/de|[[Interface Customization/de|Benutzeroberfläche anpassen]]|[[Workbenches/de|Arbeiten mit Arbeitsbereichen]]}}
|[[Document_structure/de|Dokumentstruktur]]
</div>
|[[Workbenches/de|Arbeitsbereiche]]
}}


{{Interface navi{{#translation:}}}}
{{Interface navi{{#translation:}}}}

Latest revision as of 10:37, 9 April 2024

Einführung

Der Eigenschafteneditor erscheint wenn der Reiter Modell der Combo-Ansicht auf der Oberfläche aktiv ist; er ermöglicht die Verwaltung der öffentlich zugänglichen Eigenschaften der Objekte im Dokument.

Generell ist der Eigenschafteneditor dazu gedacht, nur ein Objekt zur Zeit zu behandeln. Die im Eigenschafteneditor angezeigten Werte gehören zum ausgewählten Objekt des aktiven Dokuments. Es gibt jedoch einige Eigenschaften, wie Farben, die für viele ausgewählte Objekte gleichzeitig gesetzt werden können. Wenn kein Element ausgewählt wurde, bleibt der Eigenschafteneditor leer.

Nicht alle Eigenschaften können immer geändert werden; je nach dem spezifischen Status der Eigenschaft sind einige von ihnen unsichtbar (nicht aufgeführt) oder schreibgeschützt (nicht bearbeitbar).

Leerer Eigenschafteneditor, wenn kein Objekt ausgewählt ist.

Eigenschaftentypen

Eine Eigenschaft ist eine Information wie eine Zahl oder eine Textzeichenfolge, die an ein FreeCAD-Dokument oder ein Objekt im Dokument angehängt ist.

Benutzerdefinierte skriptgenerierte Objekte können jeden der im Basissystem definierten Eigenschaftstypen verwenden. Die vollständige Liste findet man unter Objekteigenschaften.

Einige der am häufigsten verwendeten Eigenschaftstypen sind:

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

Verschiedene Objekte können unterschiedliche Typen von Eigenschaften haben. Viele Objekte haben jedoch die gleichen Typen, weil sie von der gleichen internen Klasse abgeleitet sind. Zum Beispiel haben die meisten Objekte, die geometrische Formen beschreiben (Linien, Kreise, Rechtecke, Volumenkörper, importierte Teile usw.), die Eigenschaft "Platzierung", die ihre Position in der 3D-Ansicht definiert.

Ansicht- und Daten-Eigenschaften

There are two classes of feature properties accessible through tabs in the property editor:

  • View properties, related to the "visual" appearance of the object. The View properties are tied to the ViewProvider (ViewObject attribute) of the object, and are only accessible when the graphical user interface (GUI) is loaded. They are not accessible when using FreeCAD in console mode, or as a headless library.
  • Data properties, related to the "physical" parameters of the object. The Data properties define the essential characteristics of the object; they exist at all times, even when FreeCAD is used in console mode, or as a library. This means that if you load a document in console mode, you can edit the radius of a circle or the length of a line, even if you cannot see the result on the screen.

For this reason, Data properties are considered to be more "real", as they truly define the geometry of a shape. On the other hand, View properties are less important because they only affect the superficial 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" and not to a "View property".

Grundlegende Eigenschaften

Siehe auch: Objektname

The most basic scripted object won't show any Data property in the property editor, except for its Label attribute. The Label is a user editable string that identifies the object in the tree view. On the other hand, the 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.

Ein grundlegendes parametrisches Objekt wird wie folgt erstellt

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

View and Data tabs of the property editor, for a basic "App::FeaturePython" scripted object.

Most geometrical objects that can be created and displayed in the 3D view are derived from a Part::Feature. See Part Feature for the most basic properties that these objects have.

For 2D geometry, most objects are derived from Part::Part2DObject (itself derived from Part::Feature) which is the base of Sketches, and most Draft elements. See Part Part2DObject for the most basic properties that these objects have.

Maßnahmen

Right clicking in an empty space of the view, or with a property selected, shows only one command:

  • 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".

When the Show all option is active, and one property is selected, more actions are available with a second right click:

  • Show all: deactivates the Show all command, hiding the additional Data and View properties.
  • Add Property: adds a dynamic property to the object; this works with both C++ defined objects, and Python scripted objects.
  • Expression...: brings up the formula editor, which allows using expressions in the property value.
  • Hidden: if active, sets the property as hidden, meaning that it will only be displayed in the property editor if Show all is active.
  • Output: if active, sets the property as output.
  • 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.
  • ReadOnly: if active, sets the property to be read-only; it won't be editable in the property editor any more until this switch is turned off. The Expression... menu entry is no longer available. Note: It may be still possible to change the property via a dialog that updates the property.
  • Transient: if active, sets the property as transient. The value of a transient property is not saved to file. When opening a file, it is instantiated with its default value.
  • Touched: if active, it becomes touched, and ready for recompute.
  • EvalOnRestore: if active, it is evaluated when the document is restored.

Beispiel für die Eigenschaften eines PartDesign-Objekts

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.

Ansicht

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

Base

  • AnsichtAngular Deflection: it is another way to specify how finely to generate the mesh for rendering on screen or when exporting. The default value is 28.5 degrees, or 0.5 radians. The smaller the value the smoother the appearance will be in the 3D view, and the finer the mesh that will be exported.
  • AnsichtBounding Box: indicates if a box showing the overall extent of the object is displayed.
  • AnsichtDeviation: sets the accuracy of the polygonal representation of the model in the 3D view (tessellation). Lower values indicate better quality. The value is in percent of object's size.
  • AnsichtDisplay Mode: display mode of the entire Body, Flat lines (default), Shaded, Wireframe, Points.
  • AnsichtDisplay Mode Body: display mode of the Tip of the Body, Through (default), Tip.
  • AnsichtDraw Style: Solid, Dashed, Dotted, Dashdot; defines the style of the edges in the 3D view.
  • AnsichtLighting: One side, Two side (default).
  • AnsichtLine Color: the RGB color of the edges, it defaults to (25, 25, 25).
  • AnsichtLine Width: the thickness of the edges, it defaults to 2 pixels.
  • AnsichtOn Top When Selected: Disabled, Enabled, Object, Element.
  • AnsichtPoint Color: the RGB color of the vertices, it defaults to (25, 25, 25).
  • AnsichtPoint Size: the size of the vertices, it defaults to 2 pixels.
  • AnsichtSelectable: whether the object is selectable or not.
  • AnsichtSelection Style: Shape, BoundBox.
  • AnsichtShape Color: the RGB color of the shape, it defaults to (204, 204, 204).
  • AnsichtShow In Tree: if it is true, the object appears in the tree view. Otherwise, it is set as invisible.
  • AnsichtTransparency: the degree of transparency from 0 (default) to 100.
  • AnsichtVisibility: whether the object is visible in the 3D view or not. Toggle with the Space bar in the keyboard.

Daten

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

Base

  • DatenLabel: the user defined name given to the object, this can be changed as desired.

Part Design

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

Revolution

  • DatenBase: the point in space that specifies where the revolution takes place. It cannot be modified directly, only when editing the feature.
  • DatenAxis: the axis around which the revolution will be performed. It cannot be modified directly, only when editing the feature.
  • DatenAngle: the angle that specifies how much of the base element is rotated. By default it is 360 deg, but it can be any fraction of that.

Sketch Based

  • DatenMidplane: if the base object is a Sketch, when this property is true, it will perform the revolution with the sketch serving as a plane of symmetry. This is noticeable if the DatenAngle is different from 360 deg.
  • DatenReversed: by default it is true. Whether to perform the revolution in one direction or the other.

Skripten

Siehe auch: FreeCAD Grundlagen Skripten.

Siehe geskriptete Objekte für die vollständigen Informationen zum Hinzufügen von Eigenschaften zu Objekten, die über Python definiert wurden. Deine Übersetzung

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 DatenGroup 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 AnsichtAngular Deflection, AnsichtBounding Box, AnsichtDisplay Mode, AnsichtDisplay Mode Body, AnsichtLine 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)

Alle öffentlichen Eigenschaften des Objekts und seines Ansichtsanbieters sind in dem entsprechenden Attribut PropertiesList enthalten.

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