kcl library referencestdhelix

helixFunction in std

Create a helix.

helix(
  revolutions: number(_),
  angleStart: number(Angle),
  ccw?: bool,
  radius?: number(Length),
  axis?: Axis3d | Edge,
  length?: number(Length),
  cylinder?: Solid,
): Helix

Arguments

NameTypeDescriptionRequired
revolutionsnumber(_)Number of revolutions.Yes
angleStartnumber(Angle)Start angle.Yes
ccwboolIs the helix rotation counter clockwise? The default is false.No
radiusnumber(Length)Radius of the helix.No
axisAxis3d or EdgeAxis to use for the helix.No
lengthnumber(Length)Length of the helix. This is not necessary if the helix is created around an edge. If not given the length of the edge is used.No
cylinderSolidCylinder to create the helix on.No

Returns

Helix - A helix.

Examples

// Create a helix around the Z axis.
helixPath = helix(
    angleStart = 0,
    ccw = true,
    revolutions = 5,
    length = 10,
    radius = 5,
    axis = Z,
 )

// Create a spring by sweeping around the helix path.
springSketch = startSketchOn(YZ)
    |> circle( center = [0, 0], radius = 0.5)
    |> sweep(path = helixPath)

Rendered example of helix 0

// Create a helix around an edge.
helper001 = startSketchOn(XZ)
 |> startProfile(at = [0, 0])
 |> line(end = [0, 10], tag = $edge001)

helixPath = helix(
    angleStart = 0,
    ccw = true,
    revolutions = 5,
    length = 10,
    radius = 5,
    axis = edge001,
 )

// Create a spring by sweeping around the helix path.
springSketch = startSketchOn(XY)
    |> circle( center = [0, 0], radius = 0.5 )
    |> sweep(path = helixPath)

Rendered example of helix 1

// Create a helix around a custom axis.
helixPath = helix(
    angleStart = 0,
    ccw = true,
    revolutions = 5,
    length = 10,
    radius = 5,
    axis = {
        direction = [0, 0, 1.0],
        origin = [0, 0.25, 0]
    }
 )

// Create a spring by sweeping around the helix path.
springSketch = startSketchOn(XY)
    |> circle( center = [0, 0], radius = 1 )
    |> sweep(path = helixPath)

Rendered example of helix 2

// Create a helix on a cylinder.

part001 = startSketchOn(XY)
  |> circle( center = [5, 5], radius= 10 )
  |> extrude(length = 10)

helix(
    angleStart = 0,
    ccw = true,
    revolutions = 16,
    cylinder = part001,
 )

Rendered example of helix 3