Sandbox:Property editor

Overview
The Property Editor is one of the most important tools of FreeCAD and a main element while working with FreeCAD. The Property Editor allows managing the properties of the objects in your document.

Generally the Property Editor is intended to deal with just one object at one time. The values shown in the Property Editor belong to the active object of your active document (be careful of which document is really active if you work on multiple documents). If you did not select any element (or there are no elements), the Property Editor will be blank.

The properties of an object are grouped in View properties and Data properties, and shown under different tabs.

Function
The Property Editor has two tabs: the View tab and the Data tab.
 * The Data tab allows modification of the physical parameters of an object. See Data Properties
 * The View tab provides access to the properties related to the visual display of the object. See View Properties

Data Properties
The picture above shows the Data properties of a PartDesign Box feature. The Data properties hold the parameters that are characteristically for a parametric CAD system. The length of the box can be changed at clicking into the edit field beneath the Length attribute and giving it a new value. The box will visibly change its length in the 3D-view at leaving the input field. At some other object a visible changes happens with any edit action.

The input field provides three methods to set the length.
 * The little arrows at the right side, let us dial the value per mouse click. In this case the value changes in tenth of millimeter.
 * By direct editing of the input field. The input field has a number with a dimensional unit. Both can be edited. So the length can be set to 3 inches with an input of 3 in. This is part of the quantity system of FreeCAD. It allows input of different quantities and supports calculation of the number with standard mathematical formulas like "3*pi cm". The formula will be calculated at setting the input and replaced by the result. There exist certain limitations regarding the displayed decimal numbers and setting of a value with more than a few decimal numbers. See [#Limitations]
 * By giving an parametrically expression at clicking at the small blue symbol [[Image:Sketcher_Expressions.png|24px]] which opens the expressions dialog. The Expressions allow to input a formula with references to other objects in the document. The result of this formula will be updated whenever the referenced object is changed.

Not all the properties can be modified in any moment. Depending on the specific status, some properties will be shown as read-only. This is often the case for the placement, which is inherited from a parent object, and can only be modified inside of the parent object. The placement may be difficult to manage from the property editor. It is easier to click on Picture and open the Placement dialog in the task-panel.

Different objects may have different sets of properties. These are explained in the help-page of these objects.

However, some properties are common among most objects. The attribute Label can be set to an arbitrary name, that is than shown in the tree view of the document. The object has still an internal name, that can not be changed after creation of the object.

View Properties
The view properties define how the model is shown in the 3D-View.


 * and do define the tessellation of the model for rendering in the 3D-view. Tessellation means that all curved surfaces and curved edges are approximated by facets and polygons respectively. Smaller values of both parameters causes smaller facets at the cost of computing power. Both values can here be set per Body. There are corresponding global values in the Preferences under PartDesign → Shape view. These settings do also influence the export of the shapes to meshes like stl for 3D-printing.


 * adds a frame around the model, visualizing its largest extent in the main axes.
 * is a helpful setting, that allows to show only a wire frame instead of a filled body. Hidden edges can easily be selected in wire frame mode.
 * is helpful in debugging broken solids. Sometimes faces are wrong orientated. Setting Lighting to one side shows the backside of a face in black, so that a problem can be identified.


 * is the setting of the color of the whole shape. There exist a special menu entry, which allows further settings of the appearance of the shape. View → Appearance.


 * lets appear the shape more or less transparent.

Limitations
The default value for the decimals shown in the data properties is two. So it looks like, as if the value of the object can not be set to a higher accuracy as two decimals. This is not the case but there are certain limits. The number of decimals can be changed in the Preferences up to 12 under General→Units. This setting is used by several functions, like the measurement tools available in FreeCAD. At need of accurate measurements this setting should be used to show the number of needed decimals.

The next limit is the accuracy of the geometric model, which is defined by a relative tolerance parameter of the CAD-kernel. This value is typically in the magnitude of 1e-8.

For certain objects like the PartDesign Additive Box the input number is rounded to four decimals before applying the setting in the Property editor. The dialog, that opens at double clicking the Box in the tree-view rounds the input to two decimals. So it is not possible to set a higher accuracy with this dialog.

This is no problem for most technical parts, but in certain cases more decimals may be needed. A workaround is to set the Length in the python console. This method allows to set the Length of the Box to the limits given by the CAD-kernel. The field in the Property editor may show a higher accuracy, when set to 12 decimals. But the Length in the model is limited by the CAD-kernel. This can be seen at measuring the Length with the measurement tools.

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.

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.

Custom scripted objects in FreeCAD can have properties of the following types: