Compare commits

...

5 Commits

Author SHA1 Message Date
525f213f1d Assemblies: Make Clone available in releases (#6538)
* Assemblies: Make Clone available in releases
Fixes #6537

* Lint
2025-04-30 14:10:52 -04:00
58a81da039 Update Insert, Transform, and Clone codemods to match new import behavior (#6577)
* Fix operations to reflect concurrent module import behavior

* Add new generated output

* Fix root module import tracking

* Rename test so that it's easier to filter

* Update output ops

* Fix clippy

* Update output after rebase

* Update multi-axis-robot flowchart output

* Disable e2e tests until future PR

* WIP: Update Insert and Transform codemods to match new import behavior
Fixes #6570

* Fix operations to reflect concurrent module import behavior

* Add new generated output

* Fix root module import tracking

* Rename test so that it's easier to filter

* Update output ops

* Fix clippy

* Update output after rebase

* Disable e2e tests until future PR

* Update one of the tests

* Somewhat working very ugly translate

* Working translate and rotate

* Fix deletion

* Clean up things and disable tests deleting the *first* import due to unclear issue

* Fix Clone

* Clean up ahead of review

* Support cases with translate and rotate in two different pipes (but not for deletion)

* Fix generated output; probably from recent merge

* Find all pipes and look for last in most cases, adding fallbacks to set translate/rotate on the right ones

* More fixups

* Delete unused snap file

* Update src/lang/queryAst.ts

Co-authored-by: Jonathan Tran <jonnytran@gmail.com>

* Change lint ignore to be more specific

* Add test that checks we can still translate, rotate, and delete weird import code

* Clean up

---------

Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
2025-04-30 13:07:39 -04:00
0002295cdf Fix operations to reflect concurrent module import behavior (#6568)
* Fix operations to reflect concurrent module import behavior

* Add new generated output

* Fix root module import tracking

* Rename test so that it's easier to filter

* Update output ops

* Fix clippy

* Update output after rebase

* Disable e2e tests until future PR

* Fix generated output; probably from recent merge

* Delete unused snap file
2025-04-30 16:26:46 +00:00
c050739f41 Some improvements to the boxed signatures in the docs (#6593)
* Show a more reasonable name in function docs

Signed-off-by: Nick Cameron <nrc@ncameron.org>

* Fix buggy docs for union types

Signed-off-by: Nick Cameron <nrc@ncameron.org>

* Make types in the docs signatures into links

Signed-off-by: Nick Cameron <nrc@ncameron.org>

---------

Signed-off-by: Nick Cameron <nrc@ncameron.org>
2025-04-30 16:03:22 +00:00
ccd5b0272d Add math functions back to the prelude (#6595)
* Add math functions back to the prelude

* Update output

* Update docs
2025-04-30 11:07:05 -04:00
269 changed files with 6334 additions and 5310 deletions

View File

@ -8,17 +8,17 @@ Draw a line segment relative to the current origin using the polar measure of so
```js
```kcl
angledLine(
sketch: Sketch,
angle: number,
length?: number,
lengthX?: number,
lengthY?: number,
endAbsoluteX?: number,
endAbsoluteY?: number,
tag?: TagDeclarator,
): Sketch
sketch: [Sketch](/docs/kcl/types/Sketch),
angle: [number](/docs/kcl/types/number),
length?: [number](/docs/kcl/types/number),
lengthX?: [number](/docs/kcl/types/number),
lengthY?: [number](/docs/kcl/types/number),
endAbsoluteX?: [number](/docs/kcl/types/number),
endAbsoluteY?: [number](/docs/kcl/types/number),
tag?: [TagDeclarator](/docs/kcl/types#tag-declaration),
): [Sketch](/docs/kcl/types/Sketch)
```
@ -33,7 +33,7 @@ angledLine(
| `lengthY` | [`number`](/docs/kcl/types/number) | Draw the line this distance along the Y axis. Only one of `length`, `lengthX`, `lengthY`, `endAbsoluteX`, `endAbsoluteY` can be given. | No |
| `endAbsoluteX` | [`number`](/docs/kcl/types/number) | Draw the line along the given angle until it reaches this point along the X axis. Only one of `length`, `lengthX`, `lengthY`, `endAbsoluteX`, `endAbsoluteY` can be given. | No |
| `endAbsoluteY` | [`number`](/docs/kcl/types/number) | Draw the line along the given angle until it reaches this point along the Y axis. Only one of `length`, `lengthX`, `lengthY`, `endAbsoluteX`, `endAbsoluteY` can be given. | No |
| [`tag`](/docs/kcl/types/tag) | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | Create a new tag which refers to this line | No |
| `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | Create a new tag which refers to this line | No |
### Returns
@ -42,7 +42,7 @@ angledLine(
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> yLine(endAbsolute = 15)

View File

@ -8,14 +8,14 @@ Draw an angled line from the current origin, constructing a line segment such th
```js
```kcl
angledLineThatIntersects(
sketch: Sketch,
angle: number,
intersectTag: TagIdentifier,
offset?: number,
tag?: TagDeclarator,
): Sketch
sketch: [Sketch](/docs/kcl/types/Sketch),
angle: [number](/docs/kcl/types/number),
intersectTag: [TagIdentifier](/docs/kcl/types#tag-identifier),
offset?: [number](/docs/kcl/types/number),
tag?: [TagDeclarator](/docs/kcl/types#tag-declaration),
): [Sketch](/docs/kcl/types/Sketch)
```
@ -27,7 +27,7 @@ angledLineThatIntersects(
| `angle` | [`number`](/docs/kcl/types/number) | Which angle should the line be drawn at? | Yes |
| `intersectTag` | [`TagIdentifier`](/docs/kcl/types#tag-identifier) | The tag of the line to intersect with | Yes |
| `offset` | [`number`](/docs/kcl/types/number) | The offset from the intersecting line. Defaults to 0. | No |
| [`tag`](/docs/kcl/types/tag) | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | Create a new tag which refers to this line | No |
| `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | Create a new tag which refers to this line | No |
### Returns
@ -36,7 +36,7 @@ angledLineThatIntersects(
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> line(endAbsolute = [5, 10])

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -8,15 +8,15 @@ Check a value meets some expected conditions at runtime. Program terminates with
```js
```kcl
assert(
actual: number,
isGreaterThan?: number,
isLessThan?: number,
isGreaterThanOrEqual?: number,
isLessThanOrEqual?: number,
isEqualTo?: number,
tolerance?: number,
actual: [number](/docs/kcl/types/number),
isGreaterThan?: [number](/docs/kcl/types/number),
isLessThan?: [number](/docs/kcl/types/number),
isGreaterThanOrEqual?: [number](/docs/kcl/types/number),
isLessThanOrEqual?: [number](/docs/kcl/types/number),
isEqualTo?: [number](/docs/kcl/types/number),
tolerance?: [number](/docs/kcl/types/number),
error?: String,
): ()
```
@ -42,7 +42,7 @@ assert(
### Examples
```js
```kcl
n = 10
assert(n, isEqualTo = 10)
assert(

View File

@ -8,9 +8,9 @@ Asserts that a value is the boolean value true.
```js
```kcl
assertIs(
actual: bool,
actual: [bool](/docs/kcl/types/bool),
error?: String,
): ()
```
@ -30,7 +30,7 @@ assertIs(
### Examples
```js
```kcl
kclIsFun = true
assertIs(kclIsFun)
```

View File

@ -8,14 +8,14 @@ Draw a smooth, continuous, curved line segment from the current origin to the de
```js
```kcl
bezierCurve(
sketch: Sketch,
control1: [number],
control2: [number],
end: [number],
tag?: TagDeclarator,
): Sketch
sketch: [Sketch](/docs/kcl/types/Sketch),
control1: [[[number](/docs/kcl/types/number)]](/docs/kcl/types/[number](/docs/kcl/types/number)),
control2: [[[number](/docs/kcl/types/number)]](/docs/kcl/types/[number](/docs/kcl/types/number)),
end: [[[number](/docs/kcl/types/number)]](/docs/kcl/types/[number](/docs/kcl/types/number)),
tag?: [TagDeclarator](/docs/kcl/types#tag-declaration),
): [Sketch](/docs/kcl/types/Sketch)
```
@ -27,7 +27,7 @@ bezierCurve(
| `control1` | [`[number]`](/docs/kcl/types/number) | First control point for the cubic | Yes |
| `control2` | [`[number]`](/docs/kcl/types/number) | Second control point for the cubic | Yes |
| `end` | [`[number]`](/docs/kcl/types/number) | How far away (along the X and Y axes) should this line go? | Yes |
| [`tag`](/docs/kcl/types/tag) | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | Create a new tag which refers to this line | No |
| `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | Create a new tag which refers to this line | No |
### Returns
@ -36,7 +36,7 @@ bezierCurve(
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> line(end = [0, 10])

View File

@ -8,14 +8,14 @@ Construct a circle derived from 3 points.
```js
```kcl
circleThreePoint(
sketchSurfaceOrGroup: SketchOrSurface,
p1: [number],
p2: [number],
p3: [number],
tag?: TagDeclarator,
): Sketch
sketchSurfaceOrGroup: [[Sketch](/docs/kcl/types/Sketch)OrSurface](/docs/kcl/types/[Sketch](/docs/kcl/types/Sketch)OrSurface),
p1: [[[number](/docs/kcl/types/number)]](/docs/kcl/types/[number](/docs/kcl/types/number)),
p2: [[[number](/docs/kcl/types/number)]](/docs/kcl/types/[number](/docs/kcl/types/number)),
p3: [[[number](/docs/kcl/types/number)]](/docs/kcl/types/[number](/docs/kcl/types/number)),
tag?: [TagDeclarator](/docs/kcl/types#tag-declaration),
): [Sketch](/docs/kcl/types/Sketch)
```
@ -27,7 +27,7 @@ circleThreePoint(
| `p1` | [`[number]`](/docs/kcl/types/number) | 1st point to derive the circle. | Yes |
| `p2` | [`[number]`](/docs/kcl/types/number) | 2nd point to derive the circle. | Yes |
| `p3` | [`[number]`](/docs/kcl/types/number) | 3rd point to derive the circle. | Yes |
| [`tag`](/docs/kcl/types/tag) | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | Identifier for the circle to reference elsewhere. | No |
| `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | Identifier for the circle to reference elsewhere. | No |
### Returns
@ -36,7 +36,7 @@ circleThreePoint(
### Examples
```js
```kcl
exampleSketch = startSketchOn(XY)
|> circleThreePoint(p1 = [10, 10], p2 = [20, 8], p3 = [15, 5])
|> extrude(length = 5)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -8,7 +8,7 @@ Identifies the ending face of an extrusion. I.e., the new face created by an ext
```js
```kcl
std::END: string = 'end'
```

View File

@ -8,7 +8,7 @@ Identifies the starting face of an extrusion. I.e., the face which is extruded.
```js
```kcl
std::START: string = 'start'
```

View File

@ -8,7 +8,7 @@ layout: manual
```js
```kcl
std::X
```

View File

@ -8,7 +8,7 @@ layout: manual
```js
```kcl
std::XY
```

View File

@ -8,7 +8,7 @@ layout: manual
```js
```kcl
std::XZ
```

View File

@ -8,7 +8,7 @@ layout: manual
```js
```kcl
std::Y
```

View File

@ -8,7 +8,7 @@ layout: manual
```js
```kcl
std::YZ
```

View File

@ -8,7 +8,7 @@ layout: manual
```js
```kcl
std::Z
```

View File

@ -8,13 +8,13 @@ The value of Eulers number `e`.
```js
```kcl
std::math::E: number = 2.71828182845904523536028747135266250_
```
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> angledLine(

View File

@ -8,13 +8,13 @@ The value of `pi`, Archimedes constant (π).
```js
```kcl
std::math::PI: number(_?) = 3.14159265358979323846264338327950288_?
```
### Examples
```js
```kcl
circumference = 70
exampleSketch = startSketchOn(XZ)

View File

@ -8,13 +8,13 @@ The value of `tau`, the full circle constant (τ). Equal to 2π.
```js
```kcl
std::math::TAU: number = 6.28318530717958647692528676655900577_
```
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> angledLine(

View File

@ -8,7 +8,7 @@ layout: manual
```js
```kcl
std::turns::HALF_TURN: number(deg) = 180deg
```

View File

@ -8,7 +8,7 @@ layout: manual
```js
```kcl
std::turns::QUARTER_TURN: number(deg) = 90deg
```

View File

@ -8,7 +8,7 @@ layout: manual
```js
```kcl
std::turns::THREE_QUARTER_TURN: number(deg) = 270deg
```

View File

@ -8,7 +8,7 @@ layout: manual
```js
```kcl
std::turns::ZERO: number = 0
```

File diff suppressed because one or more lines are too long

View File

@ -8,8 +8,8 @@ Get the shared edge between two faces.
```js
getCommonEdge(faces: [TagIdentifier]): Uuid
```kcl
getCommon[Edge](/docs/kcl/types/Edge)(faces: [[TagIdentifier](/docs/kcl/types#tag-identifier)]): Uuid
```
@ -26,7 +26,7 @@ getCommonEdge(faces: [TagIdentifier]): Uuid
### Examples
```js
```kcl
// Get an edge shared between two faces, created after a chamfer.

View File

@ -8,8 +8,8 @@ Get the next adjacent edge to the edge given.
```js
getNextAdjacentEdge(edge: TagIdentifier): Uuid
```kcl
getNextAdjacent[Edge](/docs/kcl/types/Edge)(edge: [TagIdentifier](/docs/kcl/types#tag-identifier)): Uuid
```
@ -26,7 +26,7 @@ getNextAdjacentEdge(edge: TagIdentifier): Uuid
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> line(end = [10, 0])

View File

@ -8,8 +8,8 @@ Get the opposite edge to the edge given.
```js
getOppositeEdge(edge: TagIdentifier): Uuid
```kcl
getOpposite[Edge](/docs/kcl/types/Edge)(edge: [TagIdentifier](/docs/kcl/types#tag-identifier)): Uuid
```
@ -26,7 +26,7 @@ getOppositeEdge(edge: TagIdentifier): Uuid
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> line(end = [10, 0])

View File

@ -8,8 +8,8 @@ Get the previous adjacent edge to the edge given.
```js
getPreviousAdjacentEdge(edge: TagIdentifier): Uuid
```kcl
getPreviousAdjacent[Edge](/docs/kcl/types/Edge)(edge: [TagIdentifier](/docs/kcl/types#tag-identifier)): Uuid
```
@ -26,7 +26,7 @@ getPreviousAdjacentEdge(edge: TagIdentifier): Uuid
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> line(end = [10, 0])

View File

@ -93,30 +93,30 @@ layout: manual
* [`xLine`](kcl/xLine)
* [`yLine`](kcl/yLine)
* **std::math**
* [`math::E`](kcl/consts/std-math-E)
* [`math::PI`](kcl/consts/std-math-PI)
* [`math::TAU`](kcl/consts/std-math-TAU)
* [`math::abs`](kcl/std-math-abs)
* [`math::acos`](kcl/std-math-acos)
* [`math::asin`](kcl/std-math-asin)
* [`math::atan`](kcl/std-math-atan)
* [`math::atan2`](kcl/std-math-atan2)
* [`math::ceil`](kcl/std-math-ceil)
* [`math::cos`](kcl/std-math-cos)
* [`math::floor`](kcl/std-math-floor)
* [`math::ln`](kcl/std-math-ln)
* [`math::log`](kcl/std-math-log)
* [`math::log10`](kcl/std-math-log10)
* [`math::log2`](kcl/std-math-log2)
* [`math::max`](kcl/std-math-max)
* [`math::min`](kcl/std-math-min)
* [`math::polar`](kcl/std-math-polar)
* [`math::pow`](kcl/std-math-pow)
* [`math::rem`](kcl/std-math-rem)
* [`math::round`](kcl/std-math-round)
* [`math::sin`](kcl/std-math-sin)
* [`math::sqrt`](kcl/std-math-sqrt)
* [`math::tan`](kcl/std-math-tan)
* [`E`](kcl/consts/std-math-E)
* [`PI`](kcl/consts/std-math-PI)
* [`TAU`](kcl/consts/std-math-TAU)
* [`abs`](kcl/std-math-abs)
* [`acos`](kcl/std-math-acos)
* [`asin`](kcl/std-math-asin)
* [`atan`](kcl/std-math-atan)
* [`atan2`](kcl/std-math-atan2)
* [`ceil`](kcl/std-math-ceil)
* [`cos`](kcl/std-math-cos)
* [`floor`](kcl/std-math-floor)
* [`ln`](kcl/std-math-ln)
* [`log`](kcl/std-math-log)
* [`log10`](kcl/std-math-log10)
* [`log2`](kcl/std-math-log2)
* [`max`](kcl/std-math-max)
* [`min`](kcl/std-math-min)
* [`polar`](kcl/std-math-polar)
* [`pow`](kcl/std-math-pow)
* [`rem`](kcl/std-math-rem)
* [`round`](kcl/std-math-round)
* [`sin`](kcl/std-math-sin)
* [`sqrt`](kcl/std-math-sqrt)
* [`tan`](kcl/std-math-tan)
* **std::sketch**
* [`circle`](kcl/std-sketch-circle)
* [`mirror2d`](kcl/std-sketch-mirror2d)

File diff suppressed because one or more lines are too long

View File

@ -8,15 +8,15 @@ Extend the current sketch with a new involute circular curve.
```js
```kcl
involuteCircular(
sketch: Sketch,
startRadius: number,
endRadius: number,
angle: number,
reverse?: bool,
tag?: TagDeclarator,
): Sketch
sketch: [Sketch](/docs/kcl/types/Sketch),
startRadius: [number](/docs/kcl/types/number),
endRadius: [number](/docs/kcl/types/number),
angle: [number](/docs/kcl/types/number),
reverse?: [bool](/docs/kcl/types/bool),
tag?: [TagDeclarator](/docs/kcl/types#tag-declaration),
): [Sketch](/docs/kcl/types/Sketch)
```
@ -29,7 +29,7 @@ involuteCircular(
| `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 |
| `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | Create a new tag which refers to this line | No |
### Returns
@ -38,7 +38,7 @@ involuteCircular(
### Examples
```js
```kcl
a = 10
b = 14
startSketchOn(XZ)

View File

@ -8,8 +8,8 @@ Extract the 'x' axis value of the last line segment in the provided 2-d sketch.
```js
lastSegX(sketch: Sketch): number
```kcl
lastSegX(sketch: [Sketch](/docs/kcl/types/Sketch)): [number](/docs/kcl/types/number)
```
@ -26,7 +26,7 @@ lastSegX(sketch: Sketch): number
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> line(end = [5, 0])

View File

@ -8,8 +8,8 @@ Extract the 'y' axis value of the last line segment in the provided 2-d sketch.
```js
lastSegY(sketch: Sketch): number
```kcl
lastSegY(sketch: [Sketch](/docs/kcl/types/Sketch)): [number](/docs/kcl/types/number)
```
@ -26,7 +26,7 @@ lastSegY(sketch: Sketch): number
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> line(end = [5, 0])

View File

@ -8,11 +8,11 @@ Compute the angle of the given leg for x.
```js
```kcl
legAngX(
hypotenuse: number,
leg: number,
): number
hypotenuse: [number](/docs/kcl/types/number),
leg: [number](/docs/kcl/types/number),
): [number](/docs/kcl/types/number)
```
### Tags
@ -34,7 +34,7 @@ legAngX(
### Examples
```js
```kcl
legAngX(hypotenuse = 5, leg = 3)
```

View File

@ -8,11 +8,11 @@ Compute the angle of the given leg for y.
```js
```kcl
legAngY(
hypotenuse: number,
leg: number,
): number
hypotenuse: [number](/docs/kcl/types/number),
leg: [number](/docs/kcl/types/number),
): [number](/docs/kcl/types/number)
```
### Tags
@ -34,7 +34,7 @@ legAngY(
### Examples
```js
```kcl
legAngY(hypotenuse = 5, leg = 3)
```

View File

@ -8,11 +8,11 @@ Compute the length of the given leg.
```js
```kcl
legLen(
hypotenuse: number,
leg: number,
): number
hypotenuse: [number](/docs/kcl/types/number),
leg: [number](/docs/kcl/types/number),
): [number](/docs/kcl/types/number)
```
### Tags
@ -34,7 +34,7 @@ legLen(
### Examples
```js
```kcl
legLen(hypotenuse = 5, leg = 3)
```

View File

@ -8,13 +8,13 @@ Extend the current sketch with a new straight line.
```js
```kcl
line(
sketch: Sketch,
endAbsolute?: [number],
end?: [number],
tag?: TagDeclarator,
): Sketch
sketch: [Sketch](/docs/kcl/types/Sketch),
endAbsolute?: [[[number](/docs/kcl/types/number)]](/docs/kcl/types/[number](/docs/kcl/types/number)),
end?: [[[number](/docs/kcl/types/number)]](/docs/kcl/types/[number](/docs/kcl/types/number)),
tag?: [TagDeclarator](/docs/kcl/types#tag-declaration),
): [Sketch](/docs/kcl/types/Sketch)
```
@ -25,7 +25,7 @@ line(
| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | Which sketch should this path be added to? | Yes |
| `endAbsolute` | [`[number]`](/docs/kcl/types/number) | Which absolute point should this line go to? Incompatible with `end`. | No |
| `end` | [`[number]`](/docs/kcl/types/number) | How far away (along the X and Y axes) should this line go? Incompatible with `endAbsolute`. | No |
| [`tag`](/docs/kcl/types/tag) | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | Create a new tag which refers to this line | No |
| `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | Create a new tag which refers to this line | No |
### Returns
@ -34,7 +34,7 @@ line(
### Examples
```js
```kcl
triangle = startSketchOn(XZ)
|> startProfile(at = [0, 0])
// The END argument means it ends at exactly [10, 0].

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -8,15 +8,15 @@ Repeat a 2-dimensional sketch some number of times along a partial or complete c
```js
```kcl
patternCircular2d(
sketchSet: [Sketch],
sketchSet: [[[Sketch](/docs/kcl/types/Sketch)]](/docs/kcl/types/[Sketch](/docs/kcl/types/Sketch)),
instances: integer,
center: [number],
arcDegrees: number,
rotateDuplicates: bool,
useOriginal?: bool,
): [Sketch]
center: [[[number](/docs/kcl/types/number)]](/docs/kcl/types/[number](/docs/kcl/types/number)),
arcDegrees: [number](/docs/kcl/types/number),
rotateDuplicates: [bool](/docs/kcl/types/bool),
useOriginal?: [bool](/docs/kcl/types/bool),
): [[[Sketch](/docs/kcl/types/Sketch)]](/docs/kcl/types/[Sketch](/docs/kcl/types/Sketch))
```
@ -38,7 +38,7 @@ patternCircular2d(
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [.5, 25])
|> line(end = [0, 5])

View File

@ -8,16 +8,16 @@ Repeat a 3-dimensional solid some number of times along a partial or complete ci
```js
```kcl
patternCircular3d(
solids: [Solid],
solids: [[[Solid](/docs/kcl/types/Solid)]](/docs/kcl/types/[Solid](/docs/kcl/types/Solid)),
instances: integer,
axis: [number],
center: [number],
arcDegrees: number,
rotateDuplicates: bool,
useOriginal?: bool,
): [Solid]
axis: [[[number](/docs/kcl/types/number)]](/docs/kcl/types/[number](/docs/kcl/types/number)),
center: [[[number](/docs/kcl/types/number)]](/docs/kcl/types/[number](/docs/kcl/types/number)),
arcDegrees: [number](/docs/kcl/types/number),
rotateDuplicates: [bool](/docs/kcl/types/bool),
useOriginal?: [bool](/docs/kcl/types/bool),
): [[[Solid](/docs/kcl/types/Solid)]](/docs/kcl/types/[Solid](/docs/kcl/types/Solid))
```
@ -40,7 +40,7 @@ patternCircular3d(
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> circle(center = [0, 0], radius = 1)

View File

@ -8,14 +8,14 @@ Repeat a 2-dimensional sketch along some dimension, with a dynamic amount of dis
```js
```kcl
patternLinear2d(
sketches: [Sketch],
sketches: [[[Sketch](/docs/kcl/types/Sketch)]](/docs/kcl/types/[Sketch](/docs/kcl/types/Sketch)),
instances: integer,
distance: number,
axis: [number],
useOriginal?: bool,
): [Sketch]
distance: [number](/docs/kcl/types/number),
axis: [[[number](/docs/kcl/types/number)]](/docs/kcl/types/[number](/docs/kcl/types/number)),
useOriginal?: [bool](/docs/kcl/types/bool),
): [[[Sketch](/docs/kcl/types/Sketch)]](/docs/kcl/types/[Sketch](/docs/kcl/types/Sketch))
```
@ -36,7 +36,7 @@ patternLinear2d(
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> circle(center = [0, 0], radius = 1)
|> patternLinear2d(axis = [1, 0], instances = 7, distance = 4)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -8,13 +8,13 @@ Just like patternTransform, but works on 2D sketches not 3D solids.
```js
```kcl
patternTransform2d(
sketches: [Sketch],
sketches: [[[Sketch](/docs/kcl/types/Sketch)]](/docs/kcl/types/[Sketch](/docs/kcl/types/Sketch)),
instances: integer,
transform: FunctionSource,
useOriginal?: bool,
): [Sketch]
useOriginal?: [bool](/docs/kcl/types/bool),
): [[[Sketch](/docs/kcl/types/Sketch)]](/docs/kcl/types/[Sketch](/docs/kcl/types/Sketch))
```
@ -34,7 +34,7 @@ patternTransform2d(
### Examples
```js
```kcl
// Each instance will be shifted along the X axis.
fn transform(id) {
return { translate = [4 * id, 0] }

File diff suppressed because one or more lines are too long

View File

@ -8,8 +8,8 @@ Remove the last element from an array.
Returns a new array with the last element removed.
```js
pop(array: [KclValue]): KclValue
```kcl
pop(array: [[[KclValue](/docs/kcl/types/KclValue)]](/docs/kcl/types/[KclValue](/docs/kcl/types/KclValue))): [KclValue](/docs/kcl/types/KclValue)
```
@ -26,7 +26,7 @@ pop(array: [KclValue]): KclValue
### Examples
```js
```kcl
arr = [1, 2, 3, 4]
new_arr = pop(arr)
assert(

View File

@ -8,8 +8,8 @@ Extract the provided 2-dimensional sketch's profile's origin value.
```js
profileStart(profile: Sketch): [number]
```kcl
profileStart(profile: [Sketch](/docs/kcl/types/Sketch)): [[[number](/docs/kcl/types/number)]](/docs/kcl/types/[number](/docs/kcl/types/number))
```
@ -26,7 +26,7 @@ profileStart(profile: Sketch): [number]
### Examples
```js
```kcl
sketch001 = startSketchOn(XY)
|> startProfile(at = [5, 2])
|> angledLine(angle = 120, length = 50, tag = $seg01)

View File

@ -8,8 +8,8 @@ Extract the provided 2-dimensional sketch's profile's origin's 'x' value.
```js
profileStartX(profile: Sketch): number
```kcl
profileStartX(profile: [Sketch](/docs/kcl/types/Sketch)): [number](/docs/kcl/types/number)
```
@ -26,7 +26,7 @@ profileStartX(profile: Sketch): number
### Examples
```js
```kcl
sketch001 = startSketchOn(XY)
|> startProfile(at = [5, 2])
|> angledLine(angle = -26.6, length = 50)

View File

@ -8,8 +8,8 @@ Extract the provided 2-dimensional sketch's profile's origin's 'y' value.
```js
profileStartY(profile: Sketch): number
```kcl
profileStartY(profile: [Sketch](/docs/kcl/types/Sketch)): [number](/docs/kcl/types/number)
```
@ -26,7 +26,7 @@ profileStartY(profile: Sketch): number
### Examples
```js
```kcl
sketch001 = startSketchOn(XY)
|> startProfile(at = [5, 2])
|> angledLine(angle = -60, length = 14)

View File

@ -8,11 +8,11 @@ Append an element to the end of an array.
Returns a new array with the element appended.
```js
```kcl
push(
array: [KclValue],
item: KclValue,
): KclValue
array: [[[KclValue](/docs/kcl/types/KclValue)]](/docs/kcl/types/[KclValue](/docs/kcl/types/KclValue)),
item: [KclValue](/docs/kcl/types/KclValue),
): [KclValue](/docs/kcl/types/KclValue)
```
@ -30,7 +30,7 @@ push(
### Examples
```js
```kcl
arr = [1, 2, 3]
new_arr = push(arr, item = 4)
assert(

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -8,8 +8,8 @@ Compute the angle (in degrees) of the provided line segment.
```js
segAng(tag: TagIdentifier): number
```kcl
segAng(tag: [TagIdentifier](/docs/kcl/types#tag-identifier)): [number](/docs/kcl/types/number)
```
@ -17,7 +17,7 @@ segAng(tag: TagIdentifier): number
| Name | Type | Description | Required |
|----------|------|-------------|----------|
| [`tag`](/docs/kcl/types/tag) | [`TagIdentifier`](/docs/kcl/types#tag-identifier) | The line segment being queried by its tag | Yes |
| `tag` | [`TagIdentifier`](/docs/kcl/types#tag-identifier) | The line segment being queried by its tag | Yes |
### Returns
@ -26,7 +26,7 @@ segAng(tag: TagIdentifier): number
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> line(end = [10, 0])

View File

@ -8,8 +8,8 @@ Compute the ending point of the provided line segment.
```js
segEnd(tag: TagIdentifier): [number]
```kcl
segEnd(tag: [TagIdentifier](/docs/kcl/types#tag-identifier)): [[[number](/docs/kcl/types/number)]](/docs/kcl/types/[number](/docs/kcl/types/number))
```
@ -17,7 +17,7 @@ segEnd(tag: TagIdentifier): [number]
| Name | Type | Description | Required |
|----------|------|-------------|----------|
| [`tag`](/docs/kcl/types/tag) | [`TagIdentifier`](/docs/kcl/types#tag-identifier) | The line segment being queried by its tag | Yes |
| `tag` | [`TagIdentifier`](/docs/kcl/types#tag-identifier) | The line segment being queried by its tag | Yes |
### Returns
@ -26,7 +26,7 @@ segEnd(tag: TagIdentifier): [number]
### Examples
```js
```kcl
w = 15
cube = startSketchOn(XY)
|> startProfile(at = [0, 0])

View File

@ -8,8 +8,8 @@ Compute the ending point of the provided line segment along the 'x' axis.
```js
segEndX(tag: TagIdentifier): number
```kcl
segEndX(tag: [TagIdentifier](/docs/kcl/types#tag-identifier)): [number](/docs/kcl/types/number)
```
@ -17,7 +17,7 @@ segEndX(tag: TagIdentifier): number
| Name | Type | Description | Required |
|----------|------|-------------|----------|
| [`tag`](/docs/kcl/types/tag) | [`TagIdentifier`](/docs/kcl/types#tag-identifier) | The line segment being queried by its tag | Yes |
| `tag` | [`TagIdentifier`](/docs/kcl/types#tag-identifier) | The line segment being queried by its tag | Yes |
### Returns
@ -26,7 +26,7 @@ segEndX(tag: TagIdentifier): number
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> line(end = [20, 0], tag = $thing)

View File

@ -8,8 +8,8 @@ Compute the ending point of the provided line segment along the 'y' axis.
```js
segEndY(tag: TagIdentifier): number
```kcl
segEndY(tag: [TagIdentifier](/docs/kcl/types#tag-identifier)): [number](/docs/kcl/types/number)
```
@ -17,7 +17,7 @@ segEndY(tag: TagIdentifier): number
| Name | Type | Description | Required |
|----------|------|-------------|----------|
| [`tag`](/docs/kcl/types/tag) | [`TagIdentifier`](/docs/kcl/types#tag-identifier) | The line segment being queried by its tag | Yes |
| `tag` | [`TagIdentifier`](/docs/kcl/types#tag-identifier) | The line segment being queried by its tag | Yes |
### Returns
@ -26,7 +26,7 @@ segEndY(tag: TagIdentifier): number
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> line(end = [20, 0])

View File

@ -8,8 +8,8 @@ Compute the length of the provided line segment.
```js
segLen(tag: TagIdentifier): number
```kcl
segLen(tag: [TagIdentifier](/docs/kcl/types#tag-identifier)): [number](/docs/kcl/types/number)
```
@ -17,7 +17,7 @@ segLen(tag: TagIdentifier): number
| Name | Type | Description | Required |
|----------|------|-------------|----------|
| [`tag`](/docs/kcl/types/tag) | [`TagIdentifier`](/docs/kcl/types#tag-identifier) | The line segment being queried by its tag | Yes |
| `tag` | [`TagIdentifier`](/docs/kcl/types#tag-identifier) | The line segment being queried by its tag | Yes |
### Returns
@ -26,7 +26,7 @@ segLen(tag: TagIdentifier): number
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> angledLine(angle = 60, length = 10, tag = $thing)

View File

@ -8,8 +8,8 @@ Compute the starting point of the provided line segment.
```js
segStart(tag: TagIdentifier): [number]
```kcl
segStart(tag: [TagIdentifier](/docs/kcl/types#tag-identifier)): [[[number](/docs/kcl/types/number)]](/docs/kcl/types/[number](/docs/kcl/types/number))
```
@ -17,7 +17,7 @@ segStart(tag: TagIdentifier): [number]
| Name | Type | Description | Required |
|----------|------|-------------|----------|
| [`tag`](/docs/kcl/types/tag) | [`TagIdentifier`](/docs/kcl/types#tag-identifier) | The line segment being queried by its tag | Yes |
| `tag` | [`TagIdentifier`](/docs/kcl/types#tag-identifier) | The line segment being queried by its tag | Yes |
### Returns
@ -26,7 +26,7 @@ segStart(tag: TagIdentifier): [number]
### Examples
```js
```kcl
w = 15
cube = startSketchOn(XY)
|> startProfile(at = [0, 0])

View File

@ -8,8 +8,8 @@ Compute the starting point of the provided line segment along the 'x' axis.
```js
segStartX(tag: TagIdentifier): number
```kcl
segStartX(tag: [TagIdentifier](/docs/kcl/types#tag-identifier)): [number](/docs/kcl/types/number)
```
@ -17,7 +17,7 @@ segStartX(tag: TagIdentifier): number
| Name | Type | Description | Required |
|----------|------|-------------|----------|
| [`tag`](/docs/kcl/types/tag) | [`TagIdentifier`](/docs/kcl/types#tag-identifier) | The line segment being queried by its tag | Yes |
| `tag` | [`TagIdentifier`](/docs/kcl/types#tag-identifier) | The line segment being queried by its tag | Yes |
### Returns
@ -26,7 +26,7 @@ segStartX(tag: TagIdentifier): number
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> line(end = [20, 0], tag = $thing)

View File

@ -8,8 +8,8 @@ Compute the starting point of the provided line segment along the 'y' axis.
```js
segStartY(tag: TagIdentifier): number
```kcl
segStartY(tag: [TagIdentifier](/docs/kcl/types#tag-identifier)): [number](/docs/kcl/types/number)
```
@ -17,7 +17,7 @@ segStartY(tag: TagIdentifier): number
| Name | Type | Description | Required |
|----------|------|-------------|----------|
| [`tag`](/docs/kcl/types/tag) | [`TagIdentifier`](/docs/kcl/types#tag-identifier) | The line segment being queried by its tag | Yes |
| `tag` | [`TagIdentifier`](/docs/kcl/types#tag-identifier) | The line segment being queried by its tag | Yes |
### Returns
@ -26,7 +26,7 @@ segStartY(tag: TagIdentifier): number
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> line(end = [20, 0])

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -8,8 +8,8 @@ Compute the absolute value of a number.
```js
abs(@input: number): number
```kcl
abs(@input: [number](/docs/kcl/types/number)): [number](/docs/kcl/types/number)
```
@ -26,14 +26,14 @@ abs(@input: number): number
### Examples
```js
```kcl
myAngle = -120
sketch001 = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> line(end = [8, 0])
|> angledLine(
angle = math::abs(myAngle),
angle = abs(myAngle),
length = 5,
)
|> line(end = [-5, 0])

View File

@ -8,8 +8,8 @@ Compute the arccosine of a number.
```js
acos(@num: number(_)): number(rad)
```kcl
acos(@num: [number](/docs/kcl/types/number)(_)): [number](/docs/kcl/types/number)(rad)
```
@ -26,11 +26,11 @@ acos(@num: number(_)): number(rad)
### Examples
```js
```kcl
sketch001 = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> angledLine(
angle = math::acos(0.5),
angle = acos(0.5),
length = 10,
)
|> line(end = [5, 0])

View File

@ -8,8 +8,8 @@ Compute the arcsine of a number.
```js
asin(@num: number(_)): number(rad)
```kcl
asin(@num: [number](/docs/kcl/types/number)(_)): [number](/docs/kcl/types/number)(rad)
```
@ -26,11 +26,11 @@ asin(@num: number(_)): number(rad)
### Examples
```js
```kcl
sketch001 = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> angledLine(
angle = math::asin(0.5),
angle = asin(0.5),
length = 20,
)
|> yLine(endAbsolute = 0)

View File

@ -8,8 +8,8 @@ Compute the arctangent of a number.
Consider using `atan2()` instead for the true inverse of tangent.
```js
atan(@num: number(_)): number(rad)
```kcl
atan(@num: [number](/docs/kcl/types/number)(_)): [number](/docs/kcl/types/number)(rad)
```
@ -26,11 +26,11 @@ atan(@num: number(_)): number(rad)
### Examples
```js
```kcl
sketch001 = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> angledLine(
angle = math::atan(1.25),
angle = atan(1.25),
length = 20,
)
|> yLine(endAbsolute = 0)

View File

@ -8,11 +8,11 @@ Compute the four quadrant arctangent of Y and X.
```js
```kcl
atan2(
y: number(Length),
x: number(Length),
): number(rad)
y: [number](/docs/kcl/types/number)(Length),
x: [number](/docs/kcl/types/number)(Length),
): [number](/docs/kcl/types/number)(rad)
```
@ -30,11 +30,11 @@ atan2(
### Examples
```js
```kcl
sketch001 = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> angledLine(
angle = math::atan2(y = 1.25, x = 2),
angle = atan2(y = 1.25, x = 2),
length = 20,
)
|> yLine(endAbsolute = 0)

View File

@ -8,8 +8,8 @@ Compute the smallest integer greater than or equal to a number.
```js
ceil(@input: number): number
```kcl
ceil(@input: [number](/docs/kcl/types/number)): [number](/docs/kcl/types/number)
```
@ -26,11 +26,11 @@ ceil(@input: number): number
### Examples
```js
```kcl
sketch001 = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> line(endAbsolute = [12, 10])
|> line(end = [math::ceil(7.02986), 0])
|> line(end = [ceil(7.02986), 0])
|> yLine(endAbsolute = 0)
|> close()

View File

@ -8,8 +8,8 @@ Compute the cosine of a number.
```js
cos(@num: number(Angle)): number(_)
```kcl
cos(@num: [number](/docs/kcl/types/number)(Angle)): [number](/docs/kcl/types/number)(_)
```
@ -26,12 +26,12 @@ cos(@num: number(Angle)): number(_)
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> angledLine(
angle = 30,
length = 3 / math::cos(30deg),
length = 3 / cos(30deg),
)
|> yLine(endAbsolute = 0)
|> close()

View File

@ -8,8 +8,8 @@ Compute the largest integer less than or equal to a number.
```js
floor(@input: number): number
```kcl
floor(@input: [number](/docs/kcl/types/number)): [number](/docs/kcl/types/number)
```
@ -26,11 +26,11 @@ floor(@input: number): number
### Examples
```js
```kcl
sketch001 = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> line(endAbsolute = [12, 10])
|> line(end = [math::floor(7.02986), 0])
|> line(end = [floor(7.02986), 0])
|> yLine(endAbsolute = 0)
|> close()

View File

@ -8,8 +8,8 @@ Compute the natural logarithm of the number.
```js
ln(@input: number): number
```kcl
ln(@input: [number](/docs/kcl/types/number)): [number](/docs/kcl/types/number)
```
@ -26,10 +26,10 @@ ln(@input: number): number
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> line(end = [math::ln(100), 15])
|> line(end = [ln(100), 15])
|> line(end = [5, -6])
|> line(end = [-10, -10])
|> close()

View File

@ -7,14 +7,14 @@ layout: manual
Compute the logarithm of the number with respect to an arbitrary base.
The result might not be correctly rounded owing to implementation
details; `math::log2` can produce more accurate results for base 2,
and `math::log10` can produce more accurate results for base 10.
details; `log2` can produce more accurate results for base 2,
and `log10` can produce more accurate results for base 10.
```js
```kcl
log(
@input: number,
base: number(_),
): number
@input: [number](/docs/kcl/types/number),
base: [number](/docs/kcl/types/number)(_),
): [number](/docs/kcl/types/number)
```
@ -32,10 +32,10 @@ log(
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> line(end = [math::log(100, base = 5), 0])
|> line(end = [log(100, base = 5), 0])
|> line(end = [5, 8])
|> line(end = [-10, 0])
|> close()

View File

@ -8,8 +8,8 @@ Compute the base 10 logarithm of the number.
```js
log10(@input: number): number
```kcl
log10(@input: [number](/docs/kcl/types/number)): [number](/docs/kcl/types/number)
```
@ -26,10 +26,10 @@ log10(@input: number): number
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> line(end = [math::log10(100), 0])
|> line(end = [log10(100), 0])
|> line(end = [5, 8])
|> line(end = [-10, 0])
|> close()

View File

@ -8,8 +8,8 @@ Compute the base 2 logarithm of the number.
```js
log2(@input: number): number
```kcl
log2(@input: [number](/docs/kcl/types/number)): [number](/docs/kcl/types/number)
```
@ -26,10 +26,10 @@ log2(@input: number): number
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> line(end = [math::log2(100), 0])
|> line(end = [log2(100), 0])
|> line(end = [5, 8])
|> line(end = [-10, 0])
|> close()

View File

@ -8,8 +8,8 @@ Compute the maximum of the given arguments.
```js
max(@input: [number; 1+]): number
```kcl
max(@input: [[number](/docs/kcl/types/number); 1+]): [number](/docs/kcl/types/number)
```
@ -26,12 +26,12 @@ max(@input: [number; 1+]): number
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> angledLine(
angle = 70,
length = math::max([15, 31, 4, 13, 22])
length = max([15, 31, 4, 13, 22])
)
|> line(end = [20, 0])
|> close()

View File

@ -8,8 +8,8 @@ Compute the minimum of the given arguments.
```js
min(@input: [number; 1+]): number
```kcl
min(@input: [[number](/docs/kcl/types/number); 1+]): [number](/docs/kcl/types/number)
```
@ -26,12 +26,12 @@ min(@input: [number; 1+]): number
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> angledLine(
angle = 70,
length = math::min([15, 31, 4, 13, 22])
length = min([15, 31, 4, 13, 22])
)
|> line(end = [20, 0])
|> close()

View File

@ -9,11 +9,11 @@ layout: manual
Convert polar/sphere (azimuth, elevation, distance) coordinates to
cartesian (x/y/z grid) coordinates.
```js
```kcl
polar(
angle: number(rad),
length: number(Length),
): Point2d
angle: [number](/docs/kcl/types/number)(rad),
length: [number](/docs/kcl/types/number)(Length),
): [Point2d](/docs/kcl/types/Point2d)
```
@ -31,10 +31,10 @@ polar(
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> line(end = math::polar(angle = 30, length = 5), tag = $thing)
|> line(end = polar(angle = 30, length = 5), tag = $thing)
|> line(end = [0, 5])
|> line(end = [segEndX(thing), 0])
|> line(end = [-20, 10])

View File

@ -8,11 +8,11 @@ Compute the number to a power.
```js
```kcl
pow(
@input: number,
exp: number(_),
): number
@input: [number](/docs/kcl/types/number),
exp: [number](/docs/kcl/types/number)(_),
): [number](/docs/kcl/types/number)
```
@ -30,12 +30,12 @@ pow(
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> angledLine(
angle = 50,
length = math::pow(5, exp = 2),
length = pow(5, exp = 2),
)
|> yLine(endAbsolute = 0)
|> close()

View File

@ -9,11 +9,11 @@ layout: manual
Compute the remainder after dividing `num` by `div`.
If `num` is negative, the result will be too.
```js
```kcl
rem(
@num: number,
divisor: number,
): number
@num: [number](/docs/kcl/types/number),
divisor: [number](/docs/kcl/types/number),
): [number](/docs/kcl/types/number)
```
@ -31,7 +31,7 @@ rem(
### Examples
```js
```kcl
import rem from "std::math"
assert(rem( 7, divisor = 4), isEqualTo = 3, error = "remainder is 3")

View File

@ -8,8 +8,8 @@ Round a number to the nearest integer.
```js
round(@input: number): number
```kcl
round(@input: [number](/docs/kcl/types/number)): [number](/docs/kcl/types/number)
```
@ -26,11 +26,11 @@ round(@input: number): number
### Examples
```js
```kcl
sketch001 = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> line(endAbsolute = [12, 10])
|> line(end = [math::round(7.02986), 0])
|> line(end = [round(7.02986), 0])
|> yLine(endAbsolute = 0)
|> close()

View File

@ -8,8 +8,8 @@ Compute the sine of a number.
```js
sin(@num: number(Angle)): number(_)
```kcl
sin(@num: [number](/docs/kcl/types/number)(Angle)): [number](/docs/kcl/types/number)(_)
```
@ -26,12 +26,12 @@ sin(@num: number(Angle)): number(_)
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> angledLine(
angle = 50,
length = 15 / math::sin(135deg),
length = 15 / sin(135deg),
)
|> yLine(endAbsolute = 0)
|> close()

View File

@ -8,8 +8,8 @@ Compute the square root of a number.
```js
sqrt(@input: number): number
```kcl
sqrt(@input: [number](/docs/kcl/types/number)): [number](/docs/kcl/types/number)
```
@ -26,7 +26,7 @@ sqrt(@input: number): number
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> angledLine(

View File

@ -8,8 +8,8 @@ Compute the tangent of a number.
```js
tan(@num: number(Angle)): number(_)
```kcl
tan(@num: [number](/docs/kcl/types/number)(Angle)): [number](/docs/kcl/types/number)(_)
```
@ -26,12 +26,12 @@ tan(@num: number(Angle)): number(_)
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> angledLine(
angle = 50,
length = 50 * math::tan((1/2): number(rad)),
length = 50 * tan((1/2): number(rad)),
)
|> yLine(endAbsolute = 0)
|> close()

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -8,8 +8,8 @@ Convert a number to centimeters from its current units.
```js
toCentimeters(@num: number(cm)): number(cm)
```kcl
units::toCentimeters(@num: [number](/docs/kcl/types/number)(cm)): [number](/docs/kcl/types/number)(cm)
```

View File

@ -8,8 +8,8 @@ Converts a number to degrees from its current units.
```js
toDegrees(@num: number(deg)): number(deg)
```kcl
units::toDegrees(@num: [number](/docs/kcl/types/number)(deg)): [number](/docs/kcl/types/number)(deg)
```
@ -26,12 +26,12 @@ toDegrees(@num: number(deg)): number(deg)
### Examples
```js
```kcl
exampleSketch = startSketchOn(XZ)
|> startProfile(at = [0, 0])
|> angledLine(
angle = 50,
length = 70 * math::cos(units::toDegrees((PI/4): number(rad))),
length = 70 * cos(units::toDegrees((PI/4): number(rad))),
)
|> yLine(endAbsolute = 0)
|> close()

View File

@ -8,8 +8,8 @@ Convert a number to feet from its current units.
```js
toFeet(@num: number(ft)): number(ft)
```kcl
units::toFeet(@num: [number](/docs/kcl/types/number)(ft)): [number](/docs/kcl/types/number)(ft)
```

View File

@ -8,8 +8,8 @@ Convert a number to inches from its current units.
```js
toInches(@num: number(in)): number(in)
```kcl
units::toInches(@num: [number](/docs/kcl/types/number)(in)): [number](/docs/kcl/types/number)(in)
```

Some files were not shown because too many files have changed in this diff Show More