Property editor/tr: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{Docnav
{{Docnav
|[[Document_structure|Document structure]]
|[[Interface Customization|Interface Customization]]
|[[Workbenches|Workbenches]]
|[[Workbenches|Workbenches]]
}}
}}

{{TOCright}}


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 63: Line 66:


=== Basic properties ===
=== Basic properties ===

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


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.
Line 85: Line 90:
==Actions ==
==Actions ==


{{Version|0.19}}
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 95: Line 100:
* {{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.
Line 208: Line 213:
print(obj.ViewObject.PropertiesList)
print(obj.ViewObject.PropertiesList)
}}
}}



<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 213: Line 219:
</div>
</div>


{{Interface navi{{#translation:}}}}
<div class="mw-translate-fuzzy">
{{Std Base navi{{#translation:}}}}
[[Category:User_Documentation/tr]]
{{Userdocnavi{{#translation:}}}}
</div>

{{Std Base navi}}

{{Userdocnavi}}

Revision as of 09:13, 14 November 2021

Genel Bakış

Özellik Penceresi, FreeCAD'in en önemli araçlarından ve ana unsurlarından biridir. Özellik Penceresi, belgenizdeki nesnelerin özelliklerini yönetmenize olanak sağlar.

The property editor appears when the Model tab of the combo view is active in the interface; it allows managing the publicly exposed properties of the objects in the document.

Genel olarak Özellik Penceresi bir kerede yalnızca bir nesneyle ilgilenmesi amaçlanmıştır. Özellik Penceresinde gösterilen değerler, aktif belgenizin aktif nesnesine aittir (birden fazla belge üzerinde çalışıyorsanız hangi belgenin gerçekten etkin olduğuna dikkat edin). Herhangi bir öğe seçmediyseniz (veya hiç öğe yoksa), Özellik Penceresi boş olacaktır.

Bazı özellikler değiştirilemez. Özel duruma bağlı olarak, bazı özellikler salt okunur olarak gösterilecektir.

Empty property editor, when no object is selected.

Özellik tanımı

Bir Özellik, bir FreeCAD belgesi ve ya bir belge içerisindeki nesneye ait sayı, metin ve benzeri bilgilerdir. Özellikler, Özellik penceresi ile görüntülenebilir ve düzenlenebilir ise değiştirilebilirler.

Özellikler, FreeCAD'de çok önemli bir rol oynar, çünkü sadece özellikleri tarafından tanımlanan nesneler olan parametrik nesnelerle çalışmak üzere tasarlanmıştır.


Parametrik nesneler FreeCAD'de genel olarak aşağıdaki özelliklere sahiptir:

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


Örnek olarak bir parça'nın özellikleri

örnek yenilenecekmiş.

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 can use any of the property types defined in the base system. See the full list in Property.

Some of the most commonly used property types are:

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

Farklı nesneler farklı özelliklere sahip olabilir. Bununla birlikte, bazı özellikler tüm nesneler arasında ortaktır, örneğin bir nesnenin konumu ve döndürülmesi manipüle edilebilen Veri özellikleridir.

View and Data properties

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

Basic properties

See also: Object name

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.

A basic parametric object is created as follow

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.

Actions

introduced in version 0.19

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.

Example of the properties of a PartDesign object

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.

View

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

Base

  • GörünümAngular 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.
  • GörünümBounding Box: indicates if a box showing the overall extent of the object is displayed.
  • GörünümDeviation: 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.
  • GörünümDisplay Mode: display mode of the entire Body, Flat lines (default), Shaded, Wireframe, Points.
  • GörünümDisplay Mode Body: display mode of the Tip of the Body, Through (default), Tip.
  • GörünümDraw Style: Solid, Dashed, Dotted, Dashdot; defines the style of the edges in the 3D view.
  • GörünümLighting: One side, Two side (default).
  • GörünümLine Color: the RGB color of the edges, it defaults to (25, 25, 25).
  • GörünümLine Width: the thickness of the edges, it defaults to 2 pixels.
  • GörünümOn Top When Selected: Disabled, Enabled, Object, Element.
  • GörünümPoint Color: the RGB color of the vertices, it defaults to (25, 25, 25).
  • GörünümPoint Size: the size of the vertices, it defaults to 2 pixels.
  • GörünümSelectable: whether the object is selectable or not.
  • GörünümSelection Style: Shape, BoundBox.
  • GörünümShape Color: the RGB color of the shape, it defaults to (204, 204, 204).
  • GörünümShow In Tree: if it is true, the object appears in the tree view. Otherwise, it is set as invisible.
  • GörünümTransparency: the degree of transparency from 0 (default) to 100.
  • GörünümVisibility: whether the object is visible in the 3D view or not. Toggle with the Space bar in the keyboard.

Data

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

Base

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

Part Design

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

Revolution

  • VeriBase: the point in space that specifies where the revolution takes place. It cannot be modified directly, only when editing the feature.
  • VeriAxis: the axis around which the revolution will be performed. It cannot be modified directly, only when editing the feature.
  • VeriAngle: 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

  • VeriMidplane: 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 VeriAngle is different from 360 deg.
  • VeriReversed: by default it is true. Whether to perform the revolution in one direction or the other.

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 VeriGroup 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 GörünümAngular Deflection, GörünümBounding Box, GörünümDisplay Mode, GörünümDisplay Mode Body, GörünümLine 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)