Part Helix

    From FreeCAD Documentation

    Part Helix.svg Part Helix

    Menu location
    Part → Create primitives → Helix
    Part, OpenSCAD
    Default shortcut
    Introduced in version
    See also
    Part Primitives


    A Part Helix.svg Part Helix is a parametric shape that can be created with the Part Primitives.svg 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.

    Part Helix Example.png


    See Part Primitives.


    Part Helix from the scripting example

    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:



    The object has the same attachment properties as a Part Part2DObject.

    Coordinate System

    • DataLocal Coord (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.


    • DataPitch (Length): The distance between two consecutive turns of the helix measured along its Z axis. The default is 1mm.
    • DataHeight (Length): The height of the helix. The default is 2mm.
    • 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 0 to suppress subdivision.
    • DataAngle (Angle): The angle that defines of the outer shape of the helix. Valid range: -90° < value < 90°. The default is . If it is 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")
    • Where "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))