* WIP: Involute circles in KCL * first pass involute end calculation * fmt * cleanup * involute snapshot * actually update markdown * remove debug build stuff * spacing --------- Co-authored-by: Adam Chalmers <adam.chalmers@zoo.dev>
58 lines
39 KiB
Markdown
58 lines
39 KiB
Markdown
---
|
|
title: "involuteCircular"
|
|
excerpt: "Extend the current sketch with a new involute circular curve."
|
|
layout: manual
|
|
---
|
|
|
|
Extend the current sketch with a new involute circular curve.
|
|
|
|
|
|
|
|
```js
|
|
involuteCircular(
|
|
sketch: Sketch,
|
|
startRadius: number,
|
|
endRadius: number,
|
|
angle: number,
|
|
reverse?: bool,
|
|
tag?: TagDeclarator,
|
|
): Sketch
|
|
```
|
|
|
|
|
|
### Arguments
|
|
|
|
| Name | Type | Description | Required |
|
|
|----------|------|-------------|----------|
|
|
| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | Which sketch should this path be added to? | Yes |
|
|
| `startRadius` | [`number`](/docs/kcl/types/number) | The involute is described between two circles, start_radius is the radius of the inner circle. | Yes |
|
|
| `endRadius` | [`number`](/docs/kcl/types/number) | The involute is described between two circles, end_radius is the radius of the outer circle. | Yes |
|
|
| `angle` | [`number`](/docs/kcl/types/number) | The angle to rotate the involute by. A value of zero will produce a curve with a tangent along the x-axis at the start point of the curve. | Yes |
|
|
| `reverse` | [`bool`](/docs/kcl/types/bool) | If reverse is true, the segment will start from the end of the involute, otherwise it will start from that start. Defaults to false. | No |
|
|
| [`tag`](/docs/kcl/types/tag) | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | Create a new tag which refers to this line | No |
|
|
|
|
### Returns
|
|
|
|
[`Sketch`](/docs/kcl/types/Sketch)
|
|
|
|
|
|
### Examples
|
|
|
|
```js
|
|
a = 10
|
|
b = 14
|
|
startSketchOn(XZ)
|
|
|> startProfileAt([0, 0], %)
|
|
|> involuteCircular(startRadius = a, endRadius = b, angle = 60)
|
|
|> involuteCircular(
|
|
startRadius = a,
|
|
endRadius = b,
|
|
angle = 60,
|
|
reverse = true,
|
|
)
|
|
```
|
|
|
|

|
|
|
|
|