FeaturePython Custom Properties: Difference between revisions

From FreeCAD Documentation
No edit summary
(V1.0 -> V0.21)
 
(48 intermediate revisions by 3 users not shown)
Line 4: Line 4:


== Introduction == <!--T:8-->
== Introduction == <!--T:8-->

<!--T:108-->
See also: [https://freecad.github.io/SourceDoc/dd/dc2/namespaceApp.html Autogenerated API documentation (C++ documentation)].


<!--T:9-->
<!--T:9-->
Line 14: Line 17:
<translate>
<translate>


<!--T:104-->
You can get a list of the available properties by issuing:
You can get a list of the available properties by issuing:


Line 29: Line 33:
</translate>
</translate>
{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
}}
}}
Line 43: Line 47:
<translate>
<translate>


<!--T:105-->
{{incode|App::PropertyBool}} is the type of the property. The different types are described in more detail below.
{{incode|App::PropertyBool}} is the type of the property. The different types are described in more detail below.


Line 50: Line 55:
</translate>
</translate>
{{Code|code=
{{Code|code=
obj.addProperty('App::PropertyBool', 'ThePropertyName')
obj.addProperty("App::PropertyBool", "ThePropertyName")
}}
}}
<translate>
<translate>
Line 85: Line 90:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyAcceleration', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyAcceleration", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}

== App::PropertyAmountOfSubstance ==


== App::PropertyAngle ==
== App::PropertyAngle ==
Line 100: Line 107:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyAngle', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyAngle", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = 180
obj.ThePropertyName = 180
obj.ThePropertyName // returns 180.0 deg
obj.ThePropertyName # returns 180.0 deg
obj.ThePropertyName.Value // returns 180.0
obj.ThePropertyName.Value # returns 180.0
}}
}}


Line 116: Line 123:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyArea', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyArea", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 131: Line 138:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyBool', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyBool", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = True
obj.ThePropertyName = True
obj.ThePropertyName = False
obj.ThePropertyName = False
obj.ThePropertyName // returns False
obj.ThePropertyName # returns False
}}
}}


Line 147: Line 154:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyBoolList', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyBoolList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [True, False, True]
obj.ThePropertyName = [True, False, True]
obj.ThePropertyName // returns [True, False, True]
obj.ThePropertyName # returns [True, False, True]
obj.ThePropertyName[1] // returns False
obj.ThePropertyName[1] # returns False
}}
}}


Line 163: Line 170:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyColor', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyColor", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = (0.0, 1.0, 0.5, 0.8) // (Red, Green, Blue, Transparency)
obj.ThePropertyName = (0.0, 1.0, 0.5, 0.8) # (Red, Green, Blue, Transparency)
obj.ThePropertyName // returns (0.0, 1.0, 0.5, 0.8)
obj.ThePropertyName # returns (0.0, 1.0, 0.5, 0.8)
}}
}}


Line 178: Line 185:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyColorList', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyColorList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}

== App::PropertyCurrentDensity ==

<translate>
<!--T:114-->
{{Version|0.21}}
</translate>

== App::PropertyDensity ==


== App::PropertyDirection ==
== App::PropertyDirection ==


<translate>
<translate>
<!--T:22-->
<!--T:109-->
Identical to [[#App::PropertyVectorDistance|App::PropertyVectorDistance]].
A {{TODO}}direction property. It can contain {{TODO}}"allowed type and/or values". For more details, see the section about [[#Creating|Creating a FeaturePython object and adding a property to it]].
</translate>
</translate>


== App::PropertyDissipationRate ==
{{Code|code=

obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
<translate>
obj.Label = "User-friendly label"
<!--T:115-->
obj.addProperty('App::PropertyDirection', 'ThePropertyName', 'Subsection', 'Description for tooltip')
{{Version|0.21}}
obj.ThePropertyName = {{TODO}}"example value for setter"
</translate>
obj.ThePropertyName // returns {{TODO}}"example value for getter"
}}


== App::PropertyDistance ==
== App::PropertyDistance ==
Line 204: Line 219:
<translate>
<translate>
<!--T:23-->
<!--T:23-->
A distance property. It can contain a {{incode|distance}} value. You can use "Value" variable to get float variable. Values always must be in millimeters unit. For more details, see the section about [[#Creating|Creating a FeaturePython object and adding a property to it]].
A distance property. It can contain a positive, negative or zero {{incode|distance}} value. Use the "Value" member of the property to get the value as a float number. The value is always in mm, but in the [[Property_editor|Property editor]] is presented with units according to the preferences. For more details, see the section about [[#Creating|Creating a FeaturePython object and adding a property to it]].

<!--T:110-->
[[#App::PropertyLength|App::PropertyLength]] is a similar property that cannot contain a negative value.
</translate>
</translate>


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyDistance', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyDistance", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = 500
obj.ThePropertyName = 500
obj.ThePropertyName // returns 500.0 mm
obj.ThePropertyName # returns "500.0 mm"
obj.ThePropertyName.Value // returns 500.0
obj.ThePropertyName.Value # returns 500.0
}}
}}

== App::PropertyDynamicViscosity ==

<translate>
<!--T:116-->
{{Version|0.21}}
</translate>

== App::PropertyElectricalCapacitance ==

<translate>
<!--T:117-->
{{Version|0.21}}
</translate>

== App::PropertyElectricalConductance ==

<translate>
<!--T:118-->
{{Version|0.21}}
</translate>

== App::PropertyElectricalConductivity ==

<translate>
<!--T:119-->
{{Version|0.21}}
</translate>

== App::PropertyElectricalInductance ==

<translate>
<!--T:120-->
{{Version|0.21}}
</translate>

== App::PropertyElectricalResistance ==

<translate>
<!--T:121-->
{{Version|0.21}}
</translate>

== App::PropertyElectricCharge ==

<translate>
<!--T:122-->
{{Version|0.21}}
</translate>

== App::PropertyElectricCurrent ==

<translate>
<!--T:123-->
{{Version|0.21}}
</translate>

== App::PropertyElectricPotential ==


== App::PropertyEnumeration ==
== App::PropertyEnumeration ==
Line 224: Line 300:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyEnumeration', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyEnumeration", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = ["Foo", "Bar", "Baz"] // set allowed items
obj.ThePropertyName = ["Foo", "Bar", "Baz"] # set allowed items
obj.ThePropertyName = "Foo" // choose single item
obj.ThePropertyName = "Foo" # choose single item
obj.ThePropertyName = ["Foo", "Bar", "Quux"] // change allowed items
obj.ThePropertyName = ["Foo", "Bar", "Quux"] # change allowed items
obj.ThePropertyName = "Quux" // choose single item
obj.ThePropertyName = "Quux" # choose single item
obj.ThePropertyName // returns "Quux"
obj.ThePropertyName # returns "Quux"
}}
}}


<translate>
As of FreeCAD 0.20, you can also group enumerations, which are displayed in the GUI using a submenu interface. To group, use the "|" (vertical pipe) as a separator, e.g.
<!--T:106-->
As of FreeCAD 0.20, you can also group enumerations, which are displayed in the GUI using a submenu interface. To group, use the {{incode||}} character (vertical pipe) as a separator, e.g.:
</translate>

{{Code|code=
{{Code|code=
obj.ThePropertyName = [
obj.ThePropertyName = [
"Group 1 <nowiki>|</nowiki> Item A",
"Group 1 <nowiki>|</nowiki> Item A",
"Group 1 <nowiki>|</nowiki> Item B",
"Group 1 <nowiki>|</nowiki> Item B",
"Group 2 <nowiki>|</nowiki> Another item",
"Group 2 <nowiki>|</nowiki> Another item",
"Group 2 <nowiki>|</nowiki> Last item",
"Group 2 <nowiki>|</nowiki> Last item"
] # set allowed items
] # set allowed items
obj.ThePropertyName = "Group 1 <nowiki>|</nowiki> Item A" # choose single item
obj.ThePropertyName = "Group 1 <nowiki>|</nowiki> Item A" # choose single item
}}
}}

<translate>
<!--T:107-->
The GUI will display this as a menu structure:
The GUI will display this as a menu structure:
* Group 1
* Group 1
Line 251: Line 334:
** Another item
** Another item
** Last item
** Last item
</translate>


== App::PropertyExpressionEngine ==
== App::PropertyExpressionEngine ==
Line 260: Line 344:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyExpressionEngine', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyExpressionEngine", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 275: Line 359:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyFile', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyFile", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 286: Line 370:
<translate>
<translate>
<!--T:27-->
<!--T:27-->
A filename property that also includes the file itself into the document. The file doesn't get loaded into memory, it gets copied from the document archive into the document transient directory. There it is accessible for reading. You can get the transient path through {{Incode|getDocTransientPath()}}. As input, the property accepts a string containing the path to the original file. The property returns the path to the temporary file in the transient directory. For more details, see this [https://github.com/FreeCAD/FreeCAD/blob/adfdbf7cd76fe78c7f818623e019454337ed1bcd/src/Mod/Arch/ArchBuildingPart.py#L595-L597 example from the Arch Workbench].
A {{TODO}}fileIncluded property. It can contain {{TODO}}"allowed type and/or values". For more details, see the section about [[#Creating|Creating a FeaturePython object and adding a property to it]].
</translate>
</translate>


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyFileIncluded', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyFileIncluded", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = "D:/file.txt"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns the path to the temporary file
}}
}}


Line 305: Line 389:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyFloat', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyFloat", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = 15.7
obj.ThePropertyName = 15.7
obj.ThePropertyName // returns 15.7
obj.ThePropertyName # returns 15.7
}}
}}


Line 320: Line 404:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyFloatConstraint', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyFloatConstraint", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = (50.0, 0.0, 100.0, 1.0) // (Default, Start, Finish, Step)
obj.ThePropertyName = (50.0, 0.0, 100.0, 1.0) # (Default, Start, Finish, Step)
obj.ThePropertyName // returns 50.0
obj.ThePropertyName # returns 50.0
}}
}}


Line 335: Line 419:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyFloatList', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyFloatList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [12.7, 5.8, 28.6, 17.22] // Also it can be an empty list.
obj.ThePropertyName = [12.7, 5.8, 28.6, 17.22] # It can also be an empty list.
obj.ThePropertyName // returns [12.7, 5.8, 28.6, 17.22]
obj.ThePropertyName # returns [12.7, 5.8, 28.6, 17.22]
}}
}}


Line 350: Line 434:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyFont', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyFont", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 365: Line 449:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyForce', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyForce", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 380: Line 464:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyFrequency', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyFrequency", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}

== App::PropertyHeatFlux ==

<translate>
<!--T:124-->
{{Version|0.21}}
</translate>


== App::PropertyInteger ==
== App::PropertyInteger ==
Line 391: Line 482:
<translate>
<translate>
<!--T:34-->
<!--T:34-->
An integer property. It can contain an integer value. For more details, see the section about [[#Creating|Creating a FeaturePython object and adding a property to it]].
An integer property. It can contain an integer value from -2147483646 to 2147483647 included. For more details, see the section about [[#Creating|Creating a FeaturePython object and adding a property to it]].
</translate>
</translate>


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyInteger', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyInteger", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = 25
obj.ThePropertyName = 25
obj.ThePropertyName // returns 25
obj.ThePropertyName # returns 25
}}
}}


Line 406: Line 497:
<translate>
<translate>
<!--T:35-->
<!--T:35-->
An integer constraint property. It can contain an {{incode|integer}} value. By using this property you can set start and finish values. Also you can set step interval too. It can contain {{TODO}}"allowed type and/or values". For more details, see the section about [[#Creating|Creating a FeaturePython object and adding a property to it]].
An integer constraint property. With this property you can set a default value, a minimum value, a maximum value and a step size. All values should be integers and can range from -2147483646 to 2147483647 included. For more details, see the section about [[#Creating|Creating a FeaturePython object and adding a property to it]].
</translate>
</translate>


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyIntegerConstraint', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyIntegerConstraint", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = (50, 0, 100, 1) // (Default, Start, Finish, Step)
obj.ThePropertyName = (50, 0, 100, 1) # (Default, Minimum, Maximum, Step size)
obj.ThePropertyName // returns 50
obj.ThePropertyName # returns 50
}}
}}


Line 425: Line 516:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyIntegerList', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyIntegerList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [12, 5, 28, 17] // Also it can be an empty list.
obj.ThePropertyName = [12, 5, 28, 17] # It can also be an empty list.
obj.ThePropertyName // returns [12, 5, 28, 17]
obj.ThePropertyName # returns [12, 5, 28, 17]
}}
}}


Line 440: Line 531:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyIntegerSet', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyIntegerSet", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}

== App::PropertyInverseArea ==

<translate>
<!--T:125-->
{{Version|0.21}}
</translate>

== App::PropertyInverseLength ==

<translate>
<!--T:126-->
{{Version|0.21}}
</translate>

== App::PropertyInverseVolume ==

<translate>
<!--T:127-->
{{Version|0.21}}
</translate>

== App::PropertyKinematicViscosity ==

<translate>
<!--T:128-->
{{Version|0.21}}
</translate>


== App::PropertyLength ==
== App::PropertyLength ==
Line 451: Line 570:
<translate>
<translate>
<!--T:38-->
<!--T:38-->
A length property. It can contain a {{incode|length}} value. You can use "Value" variable to get float variable. Values always must be in millimeters unit. For more details, see the section about [[#Creating|Creating a FeaturePython object and adding a property to it]].
A length property. It can contain a positive or zero {{incode|length}} value. Use the "Value" member of the property to get the value as a float number. The value is always in mm, but in the [[Property_editor|Property editor]] is presented with units according to the preferences. For more details, see the section about [[#Creating|Creating a FeaturePython object and adding a property to it]].

<!--T:111-->
[[#App::PropertyDistance|App::PropertyDistance]] is a similar property that can also contain a negative value.
</translate>
</translate>


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyLength', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyLength", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = 500
obj.ThePropertyName = 500
obj.ThePropertyName // returns 500 mm
obj.ThePropertyName # returns "500.0 mm"
obj.ThePropertyName.Value // returns 500
obj.ThePropertyName.Value # returns 500.0
}}
}}


Line 471: Line 593:


{{Code|code=
{{Code|code=
link_obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","LinkObjectName")
link_obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "LinkObjectName")
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyLink', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyLink", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = link_obj
obj.ThePropertyName = link_obj
obj.ThePropertyName // returns link_obj
obj.ThePropertyName # returns link_obj
}}
}}


Line 487: Line 609:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyLinkChild', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyLinkChild", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 502: Line 624:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyLinkGlobal', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyLinkGlobal", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 517: Line 639:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyLinkHidden', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyLinkHidden", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 532: Line 654:


{{Code|code=
{{Code|code=
link_obj0=FreeCAD.ActiveDocument.addObject("App::FeaturePython","LinkObjectName0")
link_obj0 = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "LinkObjectName0")
link_obj1=FreeCAD.ActiveDocument.addObject("App::FeaturePython","LinkObjectName1")
link_obj1 = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "LinkObjectName1")
link_obj2=FreeCAD.ActiveDocument.addObject("App::FeaturePython","LinkObjectName2")
link_obj2 = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "LinkObjectName2")


obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyLinkList', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyLinkList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [link_obj0, link_obj1, link_obj2]
obj.ThePropertyName = [link_obj0, link_obj1, link_obj2]
obj.ThePropertyName // returns [link_obj0, link_obj1, link_obj2]
obj.ThePropertyName # returns [link_obj0, link_obj1, link_obj2]
}}
}}


Line 551: Line 673:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyLinkListChild', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyLinkListChild", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 566: Line 688:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyLinkListGlobal', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyLinkListGlobal", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 581: Line 703:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyLinkListHidden', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyLinkListHidden", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 596: Line 718:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyLinkSub', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyLinkSub", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 611: Line 733:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyLinkSubChild', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyLinkSubChild", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 626: Line 748:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyLinkSubGlobal', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyLinkSubGlobal", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 641: Line 763:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyLinkSubHidden', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyLinkSubHidden", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 656: Line 778:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyLinkSubList', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyLinkSubList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 671: Line 793:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyLinkSubListChild', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyLinkSubListChild", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 686: Line 808:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyLinkSubListGlobal', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyLinkSubListGlobal", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 701: Line 823:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyLinkSubListHidden', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyLinkSubListHidden", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}

== App::PropertyLuminousIntensity ==

<translate>
<!--T:129-->
{{Version|0.21}}
</translate>

== App::PropertyMagneticFieldStrength ==

<translate>
<!--T:130-->
{{Version|0.21}}
</translate>

== App::PropertyMagneticFlux ==

<translate>
<!--T:131-->
{{Version|0.21}}
</translate>

== App::PropertyMagneticFluxDensity ==

<translate>
<!--T:132-->
{{Version|0.21}}
</translate>

== App::PropertyMagnetization ==

<translate>
<!--T:133-->
{{Version|0.21}}
</translate>


== App::PropertyMap ==
== App::PropertyMap ==
Line 716: Line 873:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyMap', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyMap", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}

== App::PropertyMass ==

<translate>
<!--T:134-->
{{Version|0.21}}
</translate>


== App::PropertyMaterial ==
== App::PropertyMaterial ==
Line 734: Line 898:
material=FreeCAD.Material()
material=FreeCAD.Material()


obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyMaterial', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyMaterial", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = material
obj.ThePropertyName = material
obj.ThePropertyName // returns material
obj.ThePropertyName # returns material
}}
}}


Line 756: Line 920:
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyMaterialList', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyMaterialList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [material0, material1, material2] // Also it can be an empty list.
obj.ThePropertyName = [material0, material1, material2] # It can also be an empty list.
obj.ThePropertyName // returns [material0, material1, material2]
obj.ThePropertyName # returns [material0, material1, material2]
}}
}}


Line 769: Line 933:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyMatrix', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyMatrix", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 784: Line 948:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyPath', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyPath", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 799: Line 963:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyPercent', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyPercent", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 814: Line 978:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyPersistentObject', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyPersistentObject", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 833: Line 997:
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyPlacement', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyPlacement", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = placement
obj.ThePropertyName = placement
obj.ThePropertyName // returns placement
obj.ThePropertyName # returns placement
}}
}}


Line 846: Line 1,010:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyPlacementLink', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyPlacementLink", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 868: Line 1,032:
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyPlacementList', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyPlacementList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [placement0, placement1, placement2]
obj.ThePropertyName = [placement0, placement1, placement2]
obj.ThePropertyName // returns [placement0, placement1, placement2]
obj.ThePropertyName # returns [placement0, placement1, placement2]
}}
}}


Line 876: Line 1,040:


<translate>
<translate>
<!--T:65-->
<!--T:112-->
Identical to [[#App::PropertyVectorDistance|App::PropertyVectorDistance]].
A {{TODO}}position property. It can contain {{TODO}}"allowed type and/or values". For more details, see the section about [[#Creating|Creating a FeaturePython object and adding a property to it]].
</translate>
</translate>


== App::PropertyPower ==
{{Code|code=

obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
<translate>
obj.Label = "User-friendly label"
<!--T:135-->
obj.addProperty('App::PropertyPosition', 'ThePropertyName', 'Subsection', 'Description for tooltip')
{{Version|0.21}}
obj.ThePropertyName = {{TODO}}"example value for setter"
</translate>
obj.ThePropertyName // returns {{TODO}}"example value for getter"
}}


== App::PropertyPrecision ==
== App::PropertyPrecision ==
Line 896: Line 1,059:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyPrecision', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyPrecision", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 911: Line 1,074:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyPressure', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyPressure", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 926: Line 1,089:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyPythonObject', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyPythonObject", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 941: Line 1,104:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyQuantity', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyQuantity", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 956: Line 1,119:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyQuantityConstraint', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyQuantityConstraint", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}

== App::PropertyRotation ==

== App::PropertyShearModulus ==

<translate>
<!--T:136-->
{{Version|0.21}}
</translate>

== App::PropertySpecificEnergy ==

<translate>
<!--T:137-->
{{Version|0.21}}
</translate>

== App::PropertySpecificHeat ==

<translate>
<!--T:138-->
{{Version|0.21}}
</translate>


== App::PropertySpeed ==
== App::PropertySpeed ==
Line 971: Line 1,157:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertySpeed', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertySpeed", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}

== App::PropertyStiffness ==

== App::PropertyStress ==

<translate>
<!--T:139-->
{{Version|0.21}}
</translate>


== App::PropertyString ==
== App::PropertyString ==
Line 986: Line 1,181:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyString', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyString", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 1,001: Line 1,196:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyStringList', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyStringList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}

== App::PropertyTemperature ==

<translate>
<!--T:140-->
{{Version|0.21}}
</translate>

== App::PropertyThermalConductivity ==

<translate>
<!--T:141-->
{{Version|0.21}}
</translate>

== App::PropertyThermalExpansionCoefficient ==

<translate>
<!--T:142-->
{{Version|0.21}}
</translate>

== App::PropertyThermalTransferCoefficient ==

<translate>
<!--T:143-->
{{Version|0.21}}
</translate>

== App::PropertyTime ==

<translate>
<!--T:144-->
{{Version|0.21}}
</translate>

== App::PropertyUltimateTensileStrength ==

<translate>
<!--T:145-->
{{Version|0.21}}
</translate>


== App::PropertyUUID ==
== App::PropertyUUID ==
Line 1,016: Line 1,253:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyUUID', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyUUID", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 1,031: Line 1,268:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyVacuumPermittivity', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyVacuumPermittivity", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 1,042: Line 1,279:
<translate>
<translate>
<!--T:76-->
<!--T:76-->
A vector property. It can contain a FreeCAD {{incode|vector}} object. For more details, see the section about [[#Creating|Creating a FeaturePython object and adding a property to it]].
A vector property. It can contain a FreeCAD {{incode|vector}} object. The value can set by supplying a vector or a tuple. For more details, see the section about [[#Creating|Creating a FeaturePython object and adding a property to it]].
</translate>
</translate>


Line 1,049: Line 1,286:
vector = FreeCAD.Vector(0, -2, 5)
vector = FreeCAD.Vector(0, -2, 5)


obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyVector', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyVector", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = vector
obj.ThePropertyName = vector
obj.ThePropertyName // returns Vector(0, -2, 5)
obj.ThePropertyName # returns Vector(0, -2, 5)
obj.ThePropertyName = (1, 2, 3)
obj.ThePropertyName # returns Vector(1, 2, 3)
obj.ThePropertyName.x # returns 1.0
obj.ThePropertyName.y # returns 2.0
obj.ThePropertyName.z # returns 3.0
obj.ThePropertyName.z = 6
obj.ThePropertyName # returns Vector(1, 2, 6)
obj.ThePropertyName.Length # returns 6.4031242374328485
obj.ThePropertyName.Length = 2 * obj.ThePropertyName.Length
obj.ThePropertyName # Vector (2.0, 4.0, 12.0)
}}
}}


Line 1,059: Line 1,306:


<translate>
<translate>
<!--T:77-->
<!--T:113-->
A vector property that is almost identical to [[#App::PropertyVector|App::PropertyVector]]. The only difference is that in the [[Property_editor|Property editor]] the "x", "y" and "z" members of this property are presented with units according to the preferences. But internally all values are unitless and therefore in mm.
A {{TODO}}vectorDistance property. It can contain {{TODO}}"allowed type and/or values". For more details, see the section about [[#Creating|Creating a FeaturePython object and adding a property to it]].
</translate>
</translate>


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyVectorDistance', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyVectorDistance", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = (1, 2, 3)
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns Vector(1, 2, 3)
obj.ThePropertyName.x # returns 1
}}
}}


Line 1,075: Line 1,323:
<translate>
<translate>
<!--T:78-->
<!--T:78-->
A vector list property. It can contain list of {{incode|vectors}}. For more details, see the section about [[#Creating|Creating a FeaturePython object and adding a property to it]].
A vector list property. It can contain list of {{incode|vectors}}. The value can set by supplying a list of vectors and/or tuples. For more details, see the section about [[#Creating|Creating a FeaturePython object and adding a property to it]].
</translate>
</translate>


Line 1,087: Line 1,335:
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyVectorList', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyVectorList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [v0, v1, v2, v3]
obj.ThePropertyName = [v0, v1, v2, v3]
obj.ThePropertyName // returns [Vector(0, 10, 0), Vector(0, 10, 0), Vector(30, -10, 0), Vector(0, -10, 0)]
obj.ThePropertyName # returns [Vector(0, 10, 0), Vector(0, 10, 0), Vector(30, -10, 0), Vector(0, -10, 0)]
obj.ThePropertyName = [v0, (1, 2, 3), v2, (4, 5, 6)]
obj.ThePropertyName # returns [Vector (0, 10, 0), Vector (1, 2, 3), Vector (30, -10, 0), Vector (4, 5, 6)]
}}
}}

<translate>
<!--T:146-->
{{Version|0.21}}
</translate>

== App::PropertyVelocity ==

<translate>
<!--T:152-->
{{Version|0.21}}
</translate>


== App::PropertyVolume ==
== App::PropertyVolume ==
Line 1,100: Line 1,362:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyVolume', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyVolume", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}

== App::PropertyVolumeFlowRate ==

<translate>
<!--T:147-->
{{Version|0.21}}
</translate>

== App::PropertyVolumetricThermalExpansionCoefficient ==

<translate>
<!--T:148-->
{{Version|0.21}}
</translate>

== App::PropertyWork ==

<translate>
<!--T:149-->
{{Version|0.21}}
</translate>


== App::PropertyXLink ==
== App::PropertyXLink ==
Line 1,115: Line 1,398:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyXLink', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyXLink", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 1,130: Line 1,413:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyXLinkList', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyXLinkList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 1,145: Line 1,428:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyXLinkSub', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyXLinkSub", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 1,160: Line 1,443:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('App::PropertyXLinkSubList', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("App::PropertyXLinkSubList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}

== App::PropertyYieldStrength ==

<translate>
<!--T:150-->
{{Version|0.21}}
</translate>

== App::PropertyYoungsModulus ==

<translate>
<!--T:151-->
{{Version|0.21}}
</translate>


== Mesh::PropertyCurvatureList ==
== Mesh::PropertyCurvatureList ==
Line 1,175: Line 1,472:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('Mesh::PropertyCurvatureList', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("Mesh::PropertyCurvatureList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 1,193: Line 1,490:
mesh = Mesh.Mesh()
mesh = Mesh.Mesh()


obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('Mesh::PropertyMeshKernel', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("Mesh::PropertyMeshKernel", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = mesh
obj.ThePropertyName = mesh
obj.ThePropertyName // returns mesh
obj.ThePropertyName # returns mesh
}}
}}


Line 1,208: Line 1,505:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('Mesh::PropertyNormalList', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("Mesh::PropertyNormalList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 1,223: Line 1,520:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('Part::PropertyFilletEdges', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("Part::PropertyFilletEdges", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 1,238: Line 1,535:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('Part::PropertyGeometryList', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("Part::PropertyGeometryList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 1,256: Line 1,553:
part = Part.Shape()
part = Part.Shape()


obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('Part::PropertyPartShape', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("Part::PropertyPartShape", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = part
obj.ThePropertyName = part
obj.ThePropertyName // returns part
obj.ThePropertyName # returns part
}}
}}


Line 1,271: Line 1,568:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('Part::PropertyShapeHistory', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("Part::PropertyShapeHistory", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 1,286: Line 1,583:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('Path::PropertyPath', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("Path::PropertyPath", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 1,301: Line 1,598:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('Path::PropertyTool', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("Path::PropertyTool", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 1,316: Line 1,613:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('Path::PropertyTooltable', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("Path::PropertyTooltable", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 1,331: Line 1,628:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('Sketcher::PropertyConstraintList', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("Sketcher::PropertyConstraintList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 1,346: Line 1,643:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('Spreadsheet::PropertyColumnWidths', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("Spreadsheet::PropertyColumnWidths", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 1,361: Line 1,658:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('Spreadsheet::PropertyRowHeights', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("Spreadsheet::PropertyRowHeights", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 1,376: Line 1,673:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('Spreadsheet::PropertySheet', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("Spreadsheet::PropertySheet", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 1,391: Line 1,688:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('Spreadsheet::PropertySpreadsheetQuantity', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("Spreadsheet::PropertySpreadsheetQuantity", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 1,406: Line 1,703:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('TechDraw::PropertyCenterLineList', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("TechDraw::PropertyCenterLineList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 1,421: Line 1,718:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('TechDraw::PropertyCosmeticEdgeList', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("TechDraw::PropertyCosmeticEdgeList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 1,436: Line 1,733:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('TechDraw::PropertyCosmeticVertexList', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("TechDraw::PropertyCosmeticVertexList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}


Line 1,451: Line 1,748:


{{Code|code=
{{Code|code=
obj=FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.Label = "User-friendly label"
obj.addProperty('TechDraw::PropertyGeomFormatList', 'ThePropertyName', 'Subsection', 'Description for tooltip')
obj.addProperty("TechDraw::PropertyGeomFormatList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName = {{TODO}}"example value for setter"
obj.ThePropertyName // returns {{TODO}}"example value for getter"
obj.ThePropertyName # returns {{TODO}}"example value for getter"
}}
}}



Latest revision as of 20:22, 29 April 2023

Introduction

See also: Autogenerated API documentation (C++ documentation).

Properties are the true building blocks of FeaturePython objects. Through them, the user will be able to interact and modify your object. After creating a new FeaturePython object in your document:

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "Box")

You can get a list of the available properties by issuing:

obj.supportedProperties()

Creating a FeaturePython object and adding a property to it

This code will create an object with internal name InternalObjectName (automatically renamed to InternalObjectName001 and so on, if an object named InternalObjectName already exists) and give it the user-friendly label User-friendly label. This label will be displayed in the Tree view. Expressions can refer to this object by its label using <<User-friendly label>>.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"

To add a property to this object, use the long form of addProperty as shown below. FreeCAD will automatically split ThePropertyName and display it with spaces (The Property Name) in the Data tab of the Property editor.

obj.addProperty("App::PropertyBool", "ThePropertyName", "Subsection", "Description for tooltip")

App::PropertyBool is the type of the property. The different types are described in more detail below.

You can also use the short form which omits the last two arguments. The subsection defaults to Base, and the tooltip is not displayed with this form.

obj.addProperty("App::PropertyBool", "ThePropertyName")

To get or set the property, use obj.ThePropertyName:

# set
obj.ThePropertyName = True
# get
thePropertyValue = obj.ThePropertyName

If the type of the property is App::PropertyEnumeration, the setter has a special behavior: setting a list of strings defines the cases allowed by the enumeration, setting a string selects one of these cases. To set the list of possible cases and set the current one, use:

# allowed cases
obj.ThePropertyName = ["aaa", "bbb", "ccc"]
# set
obj.ThePropertyName = "bbb"

App::PropertyAcceleration

A Template:TODOacceleration property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyAcceleration", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyAmountOfSubstance

App::PropertyAngle

An angle property. It can contain an angle value. You can use "Value" variable to get float variable. For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyAngle", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = 180
obj.ThePropertyName # returns 180.0 deg
obj.ThePropertyName.Value # returns 180.0

App::PropertyArea

A Template:TODOarea property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyArea", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyBool

A boolean property. It can contain True and False. For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyBool", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = True
obj.ThePropertyName = False
obj.ThePropertyName # returns False

App::PropertyBoolList

A property containing a list of booleans. It can contain a Python list of booleans, e.g. [True, False, True]. For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyBoolList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [True, False, True]
obj.ThePropertyName    # returns [True, False, True]
obj.ThePropertyName[1] # returns False

App::PropertyColor

A color property. It can contain tuple of four float values. Each item can take values between 0.0 and 1.0. You can set red, green and blue values. Also you can set step transparency too. For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyColor", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = (0.0, 1.0, 0.5, 0.8) # (Red, Green, Blue, Transparency)
obj.ThePropertyName # returns (0.0, 1.0, 0.5, 0.8)

App::PropertyColorList

A Template:TODOcolorList property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyColorList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyCurrentDensity

introduced in version 0.21

App::PropertyDensity

App::PropertyDirection

Identical to App::PropertyVectorDistance.

App::PropertyDissipationRate

introduced in version 0.21

App::PropertyDistance

A distance property. It can contain a positive, negative or zero distance value. Use the "Value" member of the property to get the value as a float number. The value is always in mm, but in the Property editor is presented with units according to the preferences. For more details, see the section about Creating a FeaturePython object and adding a property to it.

App::PropertyLength is a similar property that cannot contain a negative value.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyDistance", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = 500
obj.ThePropertyName # returns "500.0 mm"
obj.ThePropertyName.Value # returns 500.0

App::PropertyDynamicViscosity

introduced in version 0.21

App::PropertyElectricalCapacitance

introduced in version 0.21

App::PropertyElectricalConductance

introduced in version 0.21

App::PropertyElectricalConductivity

introduced in version 0.21

App::PropertyElectricalInductance

introduced in version 0.21

App::PropertyElectricalResistance

introduced in version 0.21

App::PropertyElectricCharge

introduced in version 0.21

App::PropertyElectricCurrent

introduced in version 0.21

App::PropertyElectricPotential

App::PropertyEnumeration

An enumeration property. The allowed items are defined by setting the property to a list. After that, it can contain items of the given list. The list of allowed items can be changed by setting the property to a list again. For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyEnumeration", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = ["Foo", "Bar", "Baz"]  # set allowed items
obj.ThePropertyName = "Foo"                  # choose single item
obj.ThePropertyName = ["Foo", "Bar", "Quux"] # change allowed items
obj.ThePropertyName = "Quux"                 # choose single item
obj.ThePropertyName # returns "Quux"

As of FreeCAD 0.20, you can also group enumerations, which are displayed in the GUI using a submenu interface. To group, use the character (vertical pipe) as a separator, e.g.:

obj.ThePropertyName = [
    "Group 1 | Item A", 
    "Group 1 | Item B", 
    "Group 2 | Another item", 
    "Group 2 | Last item"
] # set allowed items
obj.ThePropertyName = "Group 1 | Item A" # choose single item

The GUI will display this as a menu structure:

  • Group 1
    • Item A
    • Item B
  • Group 2
    • Another item
    • Last item

App::PropertyExpressionEngine

A Template:TODOexpressionEngine property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyExpressionEngine", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyFile

A filename property. It can contain a string indicating the path to a filename Template:TODO:(Does it allow relative paths or absolute paths or both?). For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyFile", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyFileIncluded

A filename property that also includes the file itself into the document. The file doesn't get loaded into memory, it gets copied from the document archive into the document transient directory. There it is accessible for reading. You can get the transient path through getDocTransientPath(). As input, the property accepts a string containing the path to the original file. The property returns the path to the temporary file in the transient directory. For more details, see this example from the Arch Workbench.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyFileIncluded", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = "D:/file.txt"
obj.ThePropertyName # returns the path to the temporary file

App::PropertyFloat

A float property. It can contain a float value. For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyFloat", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = 15.7
obj.ThePropertyName # returns 15.7

App::PropertyFloatConstraint

A float constraint property. It can contain a float value. By using this property you can set start and finish values. Also you can set step interval too. For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyFloatConstraint", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = (50.0, 0.0, 100.0, 1.0) # (Default, Start, Finish, Step)
obj.ThePropertyName # returns 50.0

App::PropertyFloatList

A float list property. It can contain list of float values. For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyFloatList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [12.7, 5.8, 28.6, 17.22] # It can also be an empty list.
obj.ThePropertyName # returns [12.7, 5.8, 28.6, 17.22]

App::PropertyFont

A Template:TODOfont property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyFont", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyForce

A Template:TODOforce property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyForce", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyFrequency

A Template:TODOfrequency property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyFrequency", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyHeatFlux

introduced in version 0.21

App::PropertyInteger

An integer property. It can contain an integer value from -2147483646 to 2147483647 included. For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyInteger", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = 25
obj.ThePropertyName # returns 25

App::PropertyIntegerConstraint

An integer constraint property. With this property you can set a default value, a minimum value, a maximum value and a step size. All values should be integers and can range from -2147483646 to 2147483647 included. For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyIntegerConstraint", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = (50, 0, 100, 1) # (Default, Minimum, Maximum, Step size)
obj.ThePropertyName # returns 50

App::PropertyIntegerList

An integer list property. It can contain list of integer values. For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyIntegerList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [12, 5, 28, 17] # It can also be an empty list.
obj.ThePropertyName # returns [12, 5, 28, 17]

App::PropertyIntegerSet

A Template:TODOintegerSet property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyIntegerSet", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyInverseArea

introduced in version 0.21

App::PropertyInverseLength

introduced in version 0.21

App::PropertyInverseVolume

introduced in version 0.21

App::PropertyKinematicViscosity

introduced in version 0.21

App::PropertyLength

A length property. It can contain a positive or zero length value. Use the "Value" member of the property to get the value as a float number. The value is always in mm, but in the Property editor is presented with units according to the preferences. For more details, see the section about Creating a FeaturePython object and adding a property to it.

App::PropertyDistance is a similar property that can also contain a negative value.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyLength", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = 500
obj.ThePropertyName # returns "500.0 mm"
obj.ThePropertyName.Value # returns 500.0

App::PropertyLink

A link property. It can contain link to an object. When you call this property, it will return the linked object. For more details, see the section about Creating a FeaturePython object and adding a property to it.

link_obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "LinkObjectName")
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyLink", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = link_obj
obj.ThePropertyName # returns link_obj

App::PropertyLinkChild

A Template:TODOlinkChild property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyLinkChild", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyLinkGlobal

A Template:TODOlinkGlobal property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyLinkGlobal", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyLinkHidden

A Template:TODOlinkHidden property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyLinkHidden", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyLinkList

A link list property. It can contain list of linked objects. For more details, see the section about Creating a FeaturePython object and adding a property to it.

link_obj0 = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "LinkObjectName0")
link_obj1 = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "LinkObjectName1")
link_obj2 = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "LinkObjectName2")

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyLinkList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [link_obj0, link_obj1, link_obj2]
obj.ThePropertyName # returns [link_obj0, link_obj1, link_obj2]

App::PropertyLinkListChild

A Template:TODOlinkListChild property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyLinkListChild", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyLinkListGlobal

A Template:TODOlinkListGlobal property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyLinkListGlobal", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyLinkListHidden

A Template:TODOlinkListHidden property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyLinkListHidden", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyLinkSub

A Template:TODOlinkSub property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyLinkSub", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyLinkSubChild

A Template:TODOlinkSubChild property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyLinkSubChild", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyLinkSubGlobal

A Template:TODOlinkSubGlobal property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyLinkSubGlobal", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyLinkSubHidden

A Template:TODOlinkSubHidden property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyLinkSubHidden", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyLinkSubList

A Template:TODOlinkSubList property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyLinkSubList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyLinkSubListChild

A Template:TODOlinkSubListChild property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyLinkSubListChild", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyLinkSubListGlobal

A Template:TODOlinkSubListGlobal property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyLinkSubListGlobal", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyLinkSubListHidden

A Template:TODOlinkSubListHidden property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyLinkSubListHidden", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyLuminousIntensity

introduced in version 0.21

App::PropertyMagneticFieldStrength

introduced in version 0.21

App::PropertyMagneticFlux

introduced in version 0.21

App::PropertyMagneticFluxDensity

introduced in version 0.21

App::PropertyMagnetization

introduced in version 0.21

App::PropertyMap

A Template:TODOmap property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyMap", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyMass

introduced in version 0.21

App::PropertyMaterial

A material property. It can contain a FreeCAD material object. For more details, see the section about Creating a FeaturePython object and adding a property to it.

import FreeCAD
material=FreeCAD.Material()

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyMaterial", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = material
obj.ThePropertyName # returns material

App::PropertyMaterialList

A material list property. It can contain list of materials. For more details, see the section about Creating a FeaturePython object and adding a property to it.

import FreeCAD
material0 = FreeCAD.Material()
material1 = FreeCAD.Material()
material2 = FreeCAD.Material()

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyMaterialList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [material0, material1, material2] # It can also be an empty list.
obj.ThePropertyName # returns [material0, material1, material2]

App::PropertyMatrix

A Template:TODOmatrix property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyMatrix", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyPath

A path property. It can contain a string representing a path to a folder Template:TODO:(does it also allow paths to files? does it allow relative or absolute paths or both?). For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyPath", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyPercent

A Template:TODOpercent property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyPercent", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyPersistentObject

A Template:TODOpersistentObject property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyPersistentObject", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyPlacement

A placement property. It can contain placement object. For more details, see the section about Creating a FeaturePython object and adding a property to it.

import FreeCAD
placement = FreeCAD.Placement()
obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyPlacement", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = placement
obj.ThePropertyName # returns placement

App::PropertyPlacementLink

A Template:TODOplacementLink property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyPlacementLink", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyPlacementList

A placement list property. It can contain list of placements. For more details, see the section about Creating a FeaturePython object and adding a property to it.

import FreeCAD
placement0 = FreeCAD.Placement()
placement1 = FreeCAD.Placement()
placement2 = FreeCAD.Placement()

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyPlacementList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [placement0, placement1, placement2]
obj.ThePropertyName # returns [placement0, placement1, placement2]

App::PropertyPosition

Identical to App::PropertyVectorDistance.

App::PropertyPower

introduced in version 0.21

App::PropertyPrecision

A Template:TODOprecision property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyPrecision", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyPressure

A Template:TODOpressure property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyPressure", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyPythonObject

A Template:TODOpythonObject property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyPythonObject", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyQuantity

A Template:TODOquantity property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyQuantity", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyQuantityConstraint

A Template:TODOquantityConstraint property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyQuantityConstraint", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyRotation

App::PropertyShearModulus

introduced in version 0.21

App::PropertySpecificEnergy

introduced in version 0.21

App::PropertySpecificHeat

introduced in version 0.21

App::PropertySpeed

A Template:TODOspeed property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertySpeed", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyStiffness

App::PropertyStress

introduced in version 0.21

App::PropertyString

A Template:TODOstring property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyString", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyStringList

A Template:TODOstringList property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyStringList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyTemperature

introduced in version 0.21

App::PropertyThermalConductivity

introduced in version 0.21

App::PropertyThermalExpansionCoefficient

introduced in version 0.21

App::PropertyThermalTransferCoefficient

introduced in version 0.21

App::PropertyTime

introduced in version 0.21

App::PropertyUltimateTensileStrength

introduced in version 0.21

App::PropertyUUID

A Template:TODOuUID property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyUUID", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyVacuumPermittivity

A Template:TODOvacuumPermittivity property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyVacuumPermittivity", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyVector

A vector property. It can contain a FreeCAD vector object. The value can set by supplying a vector or a tuple. For more details, see the section about Creating a FeaturePython object and adding a property to it.

import FreeCAD
vector = FreeCAD.Vector(0, -2, 5)

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyVector", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = vector
obj.ThePropertyName # returns Vector(0, -2, 5)
obj.ThePropertyName = (1, 2, 3)
obj.ThePropertyName # returns Vector(1, 2, 3)
obj.ThePropertyName.x # returns 1.0
obj.ThePropertyName.y # returns 2.0
obj.ThePropertyName.z # returns 3.0
obj.ThePropertyName.z = 6
obj.ThePropertyName # returns Vector(1, 2, 6)
obj.ThePropertyName.Length # returns 6.4031242374328485
obj.ThePropertyName.Length = 2 * obj.ThePropertyName.Length
obj.ThePropertyName # Vector (2.0, 4.0, 12.0)

App::PropertyVectorDistance

A vector property that is almost identical to App::PropertyVector. The only difference is that in the Property editor the "x", "y" and "z" members of this property are presented with units according to the preferences. But internally all values are unitless and therefore in mm.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyVectorDistance", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = (1, 2, 3)
obj.ThePropertyName # returns Vector(1, 2, 3)
obj.ThePropertyName.x # returns 1

App::PropertyVectorList

A vector list property. It can contain list of vectors. The value can set by supplying a list of vectors and/or tuples. For more details, see the section about Creating a FeaturePython object and adding a property to it.

import FreeCAD
v0 = FreeCAD.Vector(0, 10, 0)
v1 = FreeCAD.Vector(0, 10, 0)
v2 = FreeCAD.Vector(30, -10, 0)
v3 = FreeCAD.Vector(0, -10, 0)

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython","InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyVectorList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [v0, v1, v2, v3]
obj.ThePropertyName # returns [Vector(0, 10, 0), Vector(0, 10, 0), Vector(30, -10, 0), Vector(0, -10, 0)]
obj.ThePropertyName = [v0, (1, 2, 3), v2, (4, 5, 6)]
obj.ThePropertyName # returns [Vector (0, 10, 0), Vector (1, 2, 3), Vector (30, -10, 0), Vector (4, 5, 6)]

introduced in version 0.21

App::PropertyVelocity

introduced in version 0.21

App::PropertyVolume

A Template:TODOvolume property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyVolume", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyVolumeFlowRate

introduced in version 0.21

App::PropertyVolumetricThermalExpansionCoefficient

introduced in version 0.21

App::PropertyWork

introduced in version 0.21

App::PropertyXLink

A Template:TODOxLink property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyXLink", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyXLinkList

A Template:TODOxLinkList property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyXLinkList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyXLinkSub

A Template:TODOxLinkSub property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyXLinkSub", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyXLinkSubList

A Template:TODOxLinkSubList property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("App::PropertyXLinkSubList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

App::PropertyYieldStrength

introduced in version 0.21

App::PropertyYoungsModulus

introduced in version 0.21

Mesh::PropertyCurvatureList

A Template:TODOcurvatureList property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("Mesh::PropertyCurvatureList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

Mesh::PropertyMeshKernel

A mesh kernel property. It can contain a mesh object. For more details, see the section about Creating a FeaturePython object and adding a property to it.

import Mesh
mesh = Mesh.Mesh()

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("Mesh::PropertyMeshKernel", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = mesh
obj.ThePropertyName # returns mesh

Mesh::PropertyNormalList

A Template:TODOnormalList property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("Mesh::PropertyNormalList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

Part::PropertyFilletEdges

A Template:TODOfilletEdges property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("Part::PropertyFilletEdges", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

Part::PropertyGeometryList

A Template:TODOgeometryList property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("Part::PropertyGeometryList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

Part::PropertyPartShape

A part shape property. It can contain shape object. For more details, see the section about Creating a FeaturePython object and adding a property to it.

import Part
part = Part.Shape()

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("Part::PropertyPartShape", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = part
obj.ThePropertyName # returns part

Part::PropertyShapeHistory

A Template:TODOshapeHistory property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("Part::PropertyShapeHistory", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

Path::PropertyPath

A Template:TODOpath property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("Path::PropertyPath", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

Path::PropertyTool

A Template:TODOtool property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("Path::PropertyTool", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

Path::PropertyTooltable

A Template:TODOtooltable property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("Path::PropertyTooltable", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

Sketcher::PropertyConstraintList

A Template:TODOconstraintList property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("Sketcher::PropertyConstraintList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

Spreadsheet::PropertyColumnWidths

A Template:TODOcolumnWidths property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("Spreadsheet::PropertyColumnWidths", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

Spreadsheet::PropertyRowHeights

A Template:TODOrowHeights property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("Spreadsheet::PropertyRowHeights", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

Spreadsheet::PropertySheet

A Template:TODOsheet property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("Spreadsheet::PropertySheet", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

Spreadsheet::PropertySpreadsheetQuantity

A Template:TODOspreadsheetQuantity property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("Spreadsheet::PropertySpreadsheetQuantity", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

TechDraw::PropertyCenterLineList

A Template:TODOcenterLineList property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("TechDraw::PropertyCenterLineList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

TechDraw::PropertyCosmeticEdgeList

A Template:TODOcosmeticEdgeList property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("TechDraw::PropertyCosmeticEdgeList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

TechDraw::PropertyCosmeticVertexList

A Template:TODOcosmeticVertexList property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("TechDraw::PropertyCosmeticVertexList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"

TechDraw::PropertyGeomFormatList

A Template:TODOgeomFormatList property. It can contain Template:TODO"allowed type and/or values". For more details, see the section about Creating a FeaturePython object and adding a property to it.

obj = FreeCAD.ActiveDocument.addObject("App::FeaturePython", "InternalObjectName")
obj.Label = "User-friendly label"
obj.addProperty("TechDraw::PropertyGeomFormatList", "ThePropertyName", "Subsection", "Description for tooltip")
obj.ThePropertyName = [[:Template:TODO]]"example value for setter"
obj.ThePropertyName # returns [[:Template:TODO]]"example value for getter"