Part Spiral

From FreeCAD Documentation
Revision as of 10:19, 3 March 2022 by Roy 043 (talk | contribs) (Removed the UnfinishedDocu template.)
Jump to navigation Jump to search
Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎română • ‎čeština • ‎русский
Arrow-left.svg Previous: Part Helix.svg Helix
Next: Circle Part Circle.svg Arrow-right.svg

Part Spiral.svg Part Spiral

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


A Part Spiral.svg Part Spiral 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 spiral lies on the XY plane with its center at the origin and its start point on the X axis. It widens as it turns counterclockwise.

Part Spiral Example.png


See Part Primitives.


Part Spiral from the scripting example

A Part Spiral object created with the scripting example below is shown here.


See also: Property editor.

A Part Spiral 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.


  • DataGrowth (Length): The distance between two consecutive turns of the spiral. The default is 1mm.
  • DataRadius (Length): The start radius of the spiral, the distance between its center and its start point. Can be 0mm. The default is 1mm.
  • DataRotations (QuantityConstraint): The number of rotations, or turns, of the spiral. The default is 2.
  • DataSegment Length (QuantityConstraint): The number of turns per spiral subdivision. The default is 1, meaning each full turn of the spiral is a separate segment. Use 0 to suppress subdivision.


See also: Autogenerated API documentation, Part scripting and FreeCAD Scripting Basics.

A Part Spiral can be created with the addObject() method of the document:

spiral = FreeCAD.ActiveDocument.addObject("Part::Spiral", "mySpiral")
  • Where "mySpiral" is the name for the object.
  • The function returns the newly created object.


import FreeCAD as App

doc = App.activeDocument()

spiral = doc.addObject("Part::Spiral", "mySpiral")
spiral.Growth = 2
spiral.Radius = 3
spiral.Rotations = 4
spiral.Placement = App.Placement(App.Vector(1, 2, 3), App.Rotation(75, 60, 30))


Arrow-left.svg Previous: Part Helix.svg Helix
Next: Circle Part Circle.svg Arrow-right.svg