Property: Difference between revisions

From FreeCAD Documentation
(More information)
(→‎All properties: Bool, LinkSubList, VectorDistance)
Line 16: Line 16:
</translate>
</translate>
{{Code|code=
{{Code|code=
Bool
Boolean
Boolean
Float
Float
Line 29: Line 30:
String
String
StringList
StringList
Length
Link
Link
LinkList
LinkList
LinkSubList
Matrix
Matrix
Vector
Vector
VectorList
VectorList
VectorDistance
Placement
Placement
PlacementLink
PlacementLink

Revision as of 02:43, 23 September 2019

Introduction

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. Public properties can be viewed and modified in the Property editor.

Properties play a very important role in FreeCAD. As objects in FreeCAD are "parametric", this means that their behavior is defined by their properties, and how these properties are used as input for their class methods.

All properties

Custom scripted objects can use any of the property types defined in the base system:

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

Internally, the property name is prefixed with App::Property:

App::PropertyBoolean
App::PropertyFloat
App::PropertyFloatList
...

Scripting

See also: FreeCAD scripting basics

A scripted object is created first, and then properties are assigned.

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

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