Previously: `|> fillet({ radius = 5, tags = [seg01] }, %)` Now: `|> fillet(radius = 5, tags = [seg01])` Also tweaks the formatter for keyword argument calls slightly.
101 lines
731 KiB
Markdown
101 lines
731 KiB
Markdown
---
|
|
title: "helix"
|
|
excerpt: "Create a helix."
|
|
layout: manual
|
|
---
|
|
|
|
Create a helix.
|
|
|
|
|
|
|
|
```js
|
|
helix(revolutions: number, angle_start: number, ccw?: bool, radius: number, axis: Axis3dOrEdgeReference, length?: number) -> HelixValue
|
|
```
|
|
|
|
|
|
### Arguments
|
|
|
|
| Name | Type | Description | Required |
|
|
|----------|------|-------------|----------|
|
|
| `revolutions` | `number` | Number of revolutions. | Yes |
|
|
| `angle_start` | `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. | Yes |
|
|
| `axis` | [`Axis3dOrEdgeReference`](/docs/kcl/types/Axis3dOrEdgeReference) | Axis to use for the helix. | Yes |
|
|
| `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 |
|
|
|
|
### Returns
|
|
|
|
[`HelixValue`](/docs/kcl/types/HelixValue) - A helix.
|
|
|
|
|
|
### Examples
|
|
|
|
```js
|
|
// 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)
|
|
```
|
|
|
|

|
|
|
|
```js
|
|
// 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)
|
|
```
|
|
|
|

|
|
|
|
```js
|
|
// 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)
|
|
```
|
|
|
|

|
|
|
|
|