|Part → Create primitives → Helix|
|Introduced in version|
A Part Helix is a parametric shape that can be created with the Part Primitives command. In the coordinate system defined by its DataPlacement property, the axis of the helix matches the Z axis and its bottom point, the start point, lies on the X axis.
See Part Primitives.
A Part Helix object created with the scripting example below is shown here.
- A Part Helix can be used to create screw threads. See Thread for Screw Tutorial.
See also: Property editor.
A Part Helix object is derived from a Part Feature object and inherits all its properties. It also has the following additional properties:
The object has the same attachment properties as a Part Part2DObject.
- DataLocal Coord (
Enumeration): The handedness, or direction, of the helix:
Left-handed. The default is
Right-handed, meaning the helix turns counterclockwise as it goes up.
- DataPitch (
Length): The distance between two consecutive turns of the helix measured along its Z axis. The default is
- DataHeight (
Length): The height of the helix. The default is
- DataRadius (
Length): The start radius of the helix. The helix has a constant radius if DataAngle is
- DataSegment Length (
QuantityConstraint): The number of turns per helix subdivision. The default is
1, meaning each full turn of the helix is a separate segment. Use
0to suppress subdivision.
- DataAngle (
Angle): The angle that defines of the outer shape of the helix. Valid range:
-90° < value < 90°. The default is
0°. If it is
0°the helix is cylindrical, else it is conical.
A Part Helix can be created with the
addObject() method of the document:
helix = FreeCAD.ActiveDocument.addObject("Part::Helix", "myHelix")
"myHelix"is the name for the object.
- The function returns the newly created object.
import FreeCAD as App doc = App.activeDocument() helix = doc.addObject("Part::Helix", "myHelix") helix.Pitch = 2 helix.Height = 3 helix.Radius = 4 helix.SegmentLength = 21 helix.Angle = 45 helix.Placement = App.Placement(App.Vector(1, 2, 3), App.Rotation(75, 60, 30)) doc.recompute()