|
Menu location |
---|
Part → Create primitives → Helix |
Workbenches |
Part, OpenSCAD |
Default shortcut |
None |
Introduced in version |
- |
See also |
Part Primitives |
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.
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:
Attachment
The object has the same attachment properties as a Part Part2DObject.
Coordinate System
Enumeration
): The handedness, or direction, of the helix: Right-handed
or Left-handed
. The default is Right-handed
, meaning the helix turns counterclockwise as it goes up.Helix
Length
): The distance between two consecutive turns of the helix measured along its Z axis. The default is 1mm
.Length
): The height of the helix. The default is 2mm
.Length
): The start radius of the helix. The helix has a constant radius if DataAngle is 0°
.QuantityConstraint
): The number of turns per helix subdivision. The default is 1
, meaning each full turn of the helix is a separate segment. Use 0
to suppress subdivision.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.See also: Autogenerated API documentation, Part scripting and FreeCAD Scripting Basics.
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.Example:
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()