Jump to content

Part Spiral

From FreeCAD Documentation

Part Spiral

Menu location
Part → Primitive → Spiral
Workbenches
Part
Default shortcut
None
Introduced in version
0.14
See also
Part Primitives

Description[edit | edit source]

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

Usage[edit | edit source]

See Part Primitives.

Example[edit | edit source]

Part Spiral from the scripting example

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

Properties[edit | edit source]

See also: Property View.

A Part Spiral object is derived from a Part Feature object and inherits all its properties. It also has the following additional properties:

Data[edit | edit source]

Attachment

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

Spiral

  • 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.

Scripting[edit | edit source]

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.

Example:

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))

doc.recompute()