Files
modeling-app/docs/kcl/helix.md
Jess Frazelle 8b60f75220 custom axis and origin example for helix (#5057)
* custom axis and origin for helix

Signed-off-by: Jess Frazelle <github@jessfraz.com>

* A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores)

* empty

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-01-14 12:05:36 -08:00

763 KiB

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

Create a helix.

helix(data: HelixData) -> HelixValue

Arguments

Name Type Description Required
data HelixData Data for a helix. Yes

Returns

HelixValue - A helix.

Examples

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

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

Rendered example of helix 0

// Create a helix around an edge.
helper001 = startSketchOn('XZ')
  |> startProfileAt([0, 0], %)
  |> line([0, 10], %, $edge001)

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

// 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 1

// Create a helix around a custom axis.
helixPath = helix({
  angleStart = 0,
  ccw = true,
  revolutions = 16,
  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