Files
modeling-app/docs/kcl/helix.md
Pierre Jacquier c3e12e5ff7 Update 2020 snapshots after helix change (#5970)
* Update 2020 snapshots after helix change

* Another one :djkhaled:

* A snapshot a day keeps the bugs away! 📷🐛

* A snapshot a day keeps the bugs away! 📷🐛

* A snapshot a day keeps the bugs away! 📷🐛

* A snapshot a day keeps the bugs away! 📷🐛

* A snapshot a day keeps the bugs away! 📷🐛

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-24 14:28:01 -04:00

915 KiB

title, excerpt, layout
title excerpt layout
helix Create a helix. manual

Create a helix.

helix(
  revolutions: number,
  angleStart: number,
  ccw?: bool,
  radius?: number,
  axis?: Axis3dOrEdgeReference,
  length?: number,
  cylinder?: Solid,
): HelixValue

Arguments

Name Type Description Required
revolutions number Number of revolutions. Yes
angleStart number Start angle (in degrees). Yes
ccw bool Is the helix rotation counter clockwise? The default is false. No
radius number Radius of the helix. No
axis Axis3dOrEdgeReference Axis to use for the helix. No
length number 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
cylinder Solid Cylinder to create the helix on. No

Returns

HelixValue - 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)
  |> startProfileAt([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 = {
    custom = {
      axis = [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