Property: Difference between revisions
(Internally, the property name is prefixed with App::Property) |
(Examples of how the properties look in scripted objects.) |
||
Line 2: | Line 2: | ||
<translate> |
<translate> |
||
<!--T:1--> |
<!--T:1--> |
||
A |
A [[Property|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|Property editor]]. |
||
<!--T:4--> |
<!--T:4--> |
||
Properties play a very important part in FreeCAD |
Properties play a very important part in FreeCAD. As objects in FreeCAD are said to be "parametric", this means that their behavior is defined by their properties, and how those properties are modified class methods. |
||
<!--T:5--> |
<!--T:5--> |
||
Custom [[scripted objects]] |
Custom [[scripted objects|scripted objects]] can use any of the property types defined in the base system: |
||
</translate> |
</translate> |
||
{{Code|code= |
{{Code|code= |
||
Line 51: | Line 50: | ||
App::PropertyFloatList |
App::PropertyFloatList |
||
... |
... |
||
}} |
|||
<translate> |
|||
In code |
|||
</translate> |
|||
{{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") |
|||
}} |
}} |
||
<translate> |
<translate> |
Revision as of 22:26, 22 September 2019
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. As objects in FreeCAD are said to be "parametric", this means that their behavior is defined by their properties, and how those properties are modified class methods.
Custom scripted objects can use any of the property types defined in the base system:
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
Internally, the property name is prefixed with App::Property
:
App::PropertyBoolean
App::PropertyFloat
App::PropertyFloatList
...
In 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")
User documentation
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub