more recursive docs types (#4028)

* more recursive

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

* updates;

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

* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)

* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)

* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)

* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest)

* updates

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

* updates

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

* fixes

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

* add the format

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

* updates

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

* get the descriptions again

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

* updates

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

* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)

* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest)

* updates

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

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
Jess Frazelle
2024-09-28 11:51:08 -07:00
committed by GitHub
parent 2a35dd2398
commit 7ed29e2ce4
86 changed files with 120154 additions and 295803 deletions

File diff suppressed because it is too large Load Diff

View File

@ -9,7 +9,6 @@ Data to draw an angled line.
**This schema accepts any of the following:**
An angle and length with explicitly named parameters
@ -23,12 +22,9 @@ An angle and length with explicitly named parameters
----
An angle and length given as a pair
**Type:** `array`
`[number, number]`

View File

@ -6,8 +6,6 @@ layout: manual
Data for drawing an angled line that intersects with a given line.
**Type:** `object`

View File

@ -6,8 +6,6 @@ layout: manual
Data to draw an angled line to a point.
**Type:** `object`

View File

@ -9,13 +9,10 @@ Data to draw an arc.
**This schema accepts any of the following:**
Angles and radius with an optional tag.
**Type:** `object`
@ -34,8 +31,6 @@ Angles and radius with an optional tag.
----
Center, to and radius with an optional tag.
**Type:** `object`

50
docs/kcl/types/Axis.md Normal file
View File

@ -0,0 +1,50 @@
---
title: "Axis"
excerpt: "Co-ordinate axis specifier.
See [cglearn.eu] for background reading.
[cglearn.eu]: https://cglearn.eu/pub/computer-graphics/introduction-to-geometry#material-coordinate-systems-1"
layout: manual
---
Co-ordinate axis specifier.
See [cglearn.eu] for background reading.
[cglearn.eu]: https://cglearn.eu/pub/computer-graphics/introduction-to-geometry#material-coordinate-systems-1
**This schema accepts exactly one of the following:**
&#x27;Y&#x27; axis.
**enum:** `y`
----
&#x27;Z&#x27; axis.
**enum:** `z`
----

View File

@ -0,0 +1,81 @@
---
title: "AxisAndOrigin"
excerpt: "Axis and origin."
layout: manual
---
Axis and origin.
**This schema accepts exactly one of the following:**
X-axis.
**enum:** `X`
----
Y-axis.
**enum:** `Y`
----
Flip the X-axis.
**enum:** `-X`
----
Flip the Y-axis.
**enum:** `-Y`
----
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `custom` |`object`| | No |
----

View File

@ -0,0 +1,22 @@
---
title: "AxisDirectionPair"
excerpt: "An [&#x60;Axis&#x60;] paired with a [&#x60;Direction&#x60;]."
layout: manual
---
An [&#x60;Axis&#x60;] paired with a [&#x60;Direction&#x60;].
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `axis` |[`Axis`](/docs/kcl/types/Axis)| Axis specifier. | No |
| `direction` |[`Direction`](/docs/kcl/types/Direction)| Specifies which direction the axis is pointing. | No |

View File

@ -0,0 +1,42 @@
---
title: "AxisOrEdgeReference"
excerpt: "Axis or tagged edge."
layout: manual
---
Axis or tagged edge.
**This schema accepts any of the following:**
Axis and origin.
[`AxisAndOrigin`](/docs/kcl/types/AxisAndOrigin)
----
Tagged edge.
[`EdgeReference`](/docs/kcl/types/EdgeReference)
----

View File

@ -0,0 +1,24 @@
---
title: "BasePath"
excerpt: "A base path."
layout: manual
---
A base path.
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `from` |`[number, number]`| The from point. | No |
| `to` |`[number, number]`| The to point. | No |
| `tag` |[`TagDeclarator`](/docs/kcl/types#tag-declaration)| The tag of the path. | No |
| `__geoMeta` |[`GeoMeta`](/docs/kcl/types/GeoMeta)| Metadata. | No |

View File

@ -6,8 +6,6 @@ layout: manual
Data to draw a bezier curve.
**Type:** `object`

View File

@ -6,8 +6,6 @@ layout: manual
Data for chamfers.
**Type:** `object`
@ -19,6 +17,6 @@ Data for chamfers.
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `length` |`number`| The length of the chamfer. | No |
| `tags` |`[` **anyOf:** `string` **OR** [`TagIdentifier`](/docs/kcl/types#tag-identifier) `]`| The tags of the paths you want to chamfer. | No |
| `tags` |`[` [`EdgeReference`](/docs/kcl/types/EdgeReference) `]`| The tags of the paths you want to chamfer. | No |

View File

@ -6,8 +6,6 @@ layout: manual
Data for drawing an circle
**Type:** `object`

View File

@ -6,8 +6,6 @@ layout: manual
Data for a circular pattern on a 2D sketch.
**Type:** `object`
@ -18,7 +16,7 @@ Data for a circular pattern on a 2D sketch.
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `repetitions` |`integer`| The number of repetitions. Must be greater than 0. This excludes the original entity. For example, if &#x60;repetitions&#x60; is 1, the original entity will be copied once. | No |
| `repetitions` |[`Uint`](/docs/kcl/types/Uint)| The number of repetitions. Must be greater than 0. This excludes the original entity. For example, if &#x60;repetitions&#x60; is 1, the original entity will be copied once. | No |
| `center` |`[number, number]`| The center about which to make the pattern. This is a 2D vector. | No |
| `arcDegrees` |`number`| The arc angle (in degrees) to place the repetitions. Must be greater than 0. | No |
| `rotateDuplicates` |`boolean`| Whether or not to rotate the duplicates as they are copied. | No |

View File

@ -6,8 +6,6 @@ layout: manual
Data for a circular pattern on a 3D model.
**Type:** `object`
@ -18,7 +16,7 @@ Data for a circular pattern on a 3D model.
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `repetitions` |`integer`| The number of repetitions. Must be greater than 0. This excludes the original entity. For example, if &#x60;repetitions&#x60; is 1, the original entity will be copied once. | No |
| `repetitions` |[`Uint`](/docs/kcl/types/Uint)| The number of repetitions. Must be greater than 0. This excludes the original entity. For example, if &#x60;repetitions&#x60; is 1, the original entity will be copied once. | No |
| `axis` |`[number, number, number]`| The axis around which to make the pattern. This is a 3D vector. | No |
| `center` |`[number, number, number]`| The center about which to make the pattern. This is a 3D vector. | No |
| `arcDegrees` |`number`| The arc angle (in degrees) to place the repetitions. Must be greater than 0. | No |

View File

@ -0,0 +1,42 @@
---
title: "Direction"
excerpt: "Specifies the sign of a co-ordinate axis."
layout: manual
---
Specifies the sign of a co-ordinate axis.
**This schema accepts exactly one of the following:**
Increasing numbers.
**enum:** `positive`
----
Decreasing numbers.
**enum:** `negative`
----

58
docs/kcl/types/EdgeCut.md Normal file
View File

@ -0,0 +1,58 @@
---
title: "EdgeCut"
excerpt: "A fillet or a chamfer."
layout: manual
---
A fillet or a chamfer.
**This schema accepts exactly one of the following:**
A fillet.
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `fillet`| | No |
| `id` |`string`| The id of the engine command that called this fillet. | No |
| `radius` |`number`| | No |
| `edgeId` |`string`| The engine id of the edge to fillet. | No |
| `tag` |[`TagDeclarator`](/docs/kcl/types#tag-declaration)| A fillet or a chamfer. | No |
----
A chamfer.
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `chamfer`| | No |
| `id` |`string`| The id of the engine command that called this chamfer. | No |
| `length` |`number`| | No |
| `edgeId` |`string`| The engine id of the edge to chamfer. | No |
| `tag` |[`TagDeclarator`](/docs/kcl/types#tag-declaration)| A fillet or a chamfer. | No |
----

View File

@ -0,0 +1,41 @@
---
title: "EdgeReference"
excerpt: "A tag or a uuid of an edge."
layout: manual
---
A tag or a uuid of an edge.
**This schema accepts any of the following:**
A uuid of an edge.
**Type:** `string` (`uuid`)
----
A tag of an edge.
[`TagIdentifier`](/docs/kcl/types#tag-identifier)
----

View File

@ -0,0 +1,98 @@
---
title: "ExtrudeSurface"
excerpt: "An extrude surface."
layout: manual
---
An extrude surface.
**This schema accepts exactly one of the following:**
An extrude plane.
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `extrudePlane`| | No |
| `faceId` |`string`| The face id for the extrude plane. | No |
| `tag` |[`TagDeclarator`](/docs/kcl/types#tag-declaration)| The tag. | No |
| `id` |`string`| The id of the geometry. | No |
| `sourceRange` |`SourceRange`| The source range. | No |
----
An extruded arc.
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `extrudeArc`| | No |
| `faceId` |`string`| The face id for the extrude plane. | No |
| `tag` |[`TagDeclarator`](/docs/kcl/types#tag-declaration)| The tag. | No |
| `id` |`string`| The id of the geometry. | No |
| `sourceRange` |`SourceRange`| The source range. | No |
----
Geometry metadata.
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `chamfer`| | No |
| `faceId` |`string`| The id for the chamfer surface. | No |
| `tag` |[`TagDeclarator`](/docs/kcl/types#tag-declaration)| The tag. | No |
| `id` |`string`| The id of the geometry. | No |
| `sourceRange` |`SourceRange`| The source range. | No |
----
Geometry metadata.
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `fillet`| | No |
| `faceId` |`string`| The id for the fillet surface. | No |
| `tag` |[`TagDeclarator`](/docs/kcl/types#tag-declaration)| The tag. | No |
| `id` |`string`| The id of the geometry. | No |
| `sourceRange` |`SourceRange`| The source range. | No |
----

View File

@ -9,45 +9,17 @@ A tag for a face.
**This schema accepts any of the following:**
A tag for a face.
[`StartOrEnd`](/docs/kcl/types/StartOrEnd)
**This schema accepts exactly one of the following:**
The start face as in before you extruded. This could also be known as the bottom face. But we do not call it bottom because it would be the top face if you extruded it in the opposite direction or flipped the camera.
**enum:** `start`
----
The end face after you extruded. This could also be known as the top face. But we do not call it top because it would be the bottom face if you extruded it in the opposite direction or flipped the camera.
**enum:** `end`
----
----
@ -62,7 +34,6 @@ A tag for the face.
----

View File

@ -6,8 +6,6 @@ layout: manual
Data for fillets.
**Type:** `object`
@ -19,7 +17,7 @@ Data for fillets.
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `radius` |`number`| The radius of the fillet. | No |
| `tags` |`[` **anyOf:** `string` **OR** [`TagIdentifier`](/docs/kcl/types#tag-identifier) `]`| The tags of the paths you want to fillet. | No |
| `tags` |`[` [`EdgeReference`](/docs/kcl/types/EdgeReference) `]`| The tags of the paths you want to fillet. | No |
| `tolerance` |`number`| The tolerance for the fillet. | No |

22
docs/kcl/types/GeoMeta.md Normal file
View File

@ -0,0 +1,22 @@
---
title: "GeoMeta"
excerpt: "Geometry metadata."
layout: manual
---
Geometry metadata.
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `id` |`string`| The id of the geometry. | No |
| `sourceRange` |`SourceRange`| The source range. | No |

View File

@ -6,8 +6,6 @@ layout: manual
Data for helices.
**Type:** `object`

View File

@ -10,13 +10,10 @@ Import format specifier
**This schema accepts exactly one of the following:**
Autodesk Filmbox (FBX) format
**Type:** `object`
@ -33,8 +30,6 @@ Autodesk Filmbox (FBX) format
----
Binary glTF 2.0. We refer to this as glTF since that is how our customers refer to it, but this can also import binary glTF (glb).
**Type:** `object`
@ -51,8 +46,6 @@ Binary glTF 2.0. We refer to this as glTF since that is how our customers refer
----
Wavefront OBJ format.
**Type:** `object`
@ -64,15 +57,13 @@ Wavefront OBJ format.
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `obj`| | No |
| `coords` |`object`| Co-ordinate system of input data. Defaults to the [KittyCAD co-ordinate system. | No |
| `units` |**oneOf:** enum: `cm` **OR** enum: `ft` **OR** enum: `in` **OR** enum: `m` **OR** enum: `mm` **OR** enum: `yd`| The units of the input data. This is very important for correct scaling and when calculating physics properties like mass, etc. Defaults to millimeters. | No |
| `coords` |[`System`](/docs/kcl/types/System)| Co-ordinate system of input data. Defaults to the [KittyCAD co-ordinate system. | No |
| `units` |[`UnitLength`](/docs/kcl/types/UnitLength)| The units of the input data. This is very important for correct scaling and when calculating physics properties like mass, etc. Defaults to millimeters. | No |
----
The PLY Polygon File Format.
**Type:** `object`
@ -84,15 +75,13 @@ The PLY Polygon File Format.
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `ply`| | No |
| `coords` |`object`| Co-ordinate system of input data. Defaults to the [KittyCAD co-ordinate system. | No |
| `units` |**oneOf:** enum: `cm` **OR** enum: `ft` **OR** enum: `in` **OR** enum: `m` **OR** enum: `mm` **OR** enum: `yd`| The units of the input data. This is very important for correct scaling and when calculating physics properties like mass, etc. Defaults to millimeters. | No |
| `coords` |[`System`](/docs/kcl/types/System)| Co-ordinate system of input data. Defaults to the [KittyCAD co-ordinate system. | No |
| `units` |[`UnitLength`](/docs/kcl/types/UnitLength)| The units of the input data. This is very important for correct scaling and when calculating physics properties like mass, etc. Defaults to millimeters. | No |
----
SolidWorks part (SLDPRT) format.
**Type:** `object`
@ -109,8 +98,6 @@ SolidWorks part (SLDPRT) format.
----
ISO 10303-21 (STEP) format.
**Type:** `object`
@ -127,8 +114,6 @@ ISO 10303-21 (STEP) format.
----
ST**ereo**L**ithography format.
**Type:** `object`
@ -140,8 +125,8 @@ ST**ereo**L**ithography format.
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `stl`| | No |
| `coords` |`object`| Co-ordinate system of input data. Defaults to the [KittyCAD co-ordinate system. | No |
| `units` |**oneOf:** enum: `cm` **OR** enum: `ft` **OR** enum: `in` **OR** enum: `m` **OR** enum: `mm` **OR** enum: `yd`| The units of the input data. This is very important for correct scaling and when calculating physics properties like mass, etc. Defaults to millimeters. | No |
| `coords` |[`System`](/docs/kcl/types/System)| Co-ordinate system of input data. Defaults to the [KittyCAD co-ordinate system. | No |
| `units` |[`UnitLength`](/docs/kcl/types/UnitLength)| The units of the input data. This is very important for correct scaling and when calculating physics properties like mass, etc. Defaults to millimeters. | No |
----

View File

@ -6,8 +6,6 @@ layout: manual
Data for an imported geometry.
**Type:** `object`
@ -20,6 +18,6 @@ Data for an imported geometry.
|----------|------|-------------|----------|
| `id` |`string`| The ID of the imported geometry. | No |
| `value` |`[` `string` `]`| The original file paths. | No |
| `__meta` |`[` `object` `]`| | No |
| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| | No |

View File

@ -6,8 +6,6 @@ layout: manual
Data for a linear pattern on a 2D sketch.
**Type:** `object`
@ -18,7 +16,7 @@ Data for a linear pattern on a 2D sketch.
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `repetitions` |`integer`| The number of repetitions. Must be greater than 0. This excludes the original entity. For example, if &#x60;repetitions&#x60; is 1, the original entity will be copied once. | No |
| `repetitions` |[`Uint`](/docs/kcl/types/Uint)| The number of repetitions. Must be greater than 0. This excludes the original entity. For example, if &#x60;repetitions&#x60; is 1, the original entity will be copied once. | No |
| `distance` |`number`| The distance between each repetition. This can also be referred to as spacing. | No |
| `axis` |`[number, number]`| The axis of the pattern. This is a 2D vector. | No |

View File

@ -6,8 +6,6 @@ layout: manual
Data for a linear pattern on a 3D model.
**Type:** `object`
@ -18,7 +16,7 @@ Data for a linear pattern on a 3D model.
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `repetitions` |`integer`| The number of repetitions. Must be greater than 0. This excludes the original entity. For example, if &#x60;repetitions&#x60; is 1, the original entity will be copied once. | No |
| `repetitions` |[`Uint`](/docs/kcl/types/Uint)| The number of repetitions. Must be greater than 0. This excludes the original entity. For example, if &#x60;repetitions&#x60; is 1, the original entity will be copied once. | No |
| `distance` |`number`| The distance between each repetition. This can also be referred to as spacing. | No |
| `axis` |`[number, number, number]`| The axis of the pattern. | No |

View File

@ -6,8 +6,6 @@ layout: manual
Data for a loft.
**Type:** `object`

View File

@ -0,0 +1,21 @@
---
title: "Metadata"
excerpt: "Metadata."
layout: manual
---
Metadata.
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `sourceRange` |`SourceRange`| The source range. | No |

View File

@ -6,8 +6,6 @@ layout: manual
Data for a mirror.
**Type:** `object`
@ -18,6 +16,6 @@ Data for a mirror.
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `axis` |**anyOf:** **oneOf:** enum: `X` **OR** enum: `Y` **OR** enum: `-X` **OR** enum: `-Y` **OR** `object` **OR** **anyOf:** `string` **OR** [`TagIdentifier`](/docs/kcl/types#tag-identifier)| Axis to use as mirror. | No |
| `axis` |[`AxisOrEdgeReference`](/docs/kcl/types/AxisOrEdgeReference)| Axis to use as mirror. | No |

168
docs/kcl/types/Path.md Normal file
View File

@ -0,0 +1,168 @@
---
title: "Path"
excerpt: "A path."
layout: manual
---
A path.
**This schema accepts exactly one of the following:**
A path that goes to a point.
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `ToPoint`| | No |
| `from` |`[number, number]`| The from point. | No |
| `to` |`[number, number]`| The to point. | No |
| `tag` |[`TagDeclarator`](/docs/kcl/types#tag-declaration)| The tag of the path. | No |
| `__geoMeta` |[`GeoMeta`](/docs/kcl/types/GeoMeta)| Metadata. | No |
----
A arc that is tangential to the last path segment that goes to a point
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `TangentialArcTo`| | No |
| `center` |`[number, number]`| the arc&#x27;s center | No |
| `ccw` |`boolean`| arc&#x27;s direction | No |
| `from` |`[number, number]`| The from point. | No |
| `to` |`[number, number]`| The to point. | No |
| `tag` |[`TagDeclarator`](/docs/kcl/types#tag-declaration)| The tag of the path. | No |
| `__geoMeta` |[`GeoMeta`](/docs/kcl/types/GeoMeta)| Metadata. | No |
----
A arc that is tangential to the last path segment
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `TangentialArc`| | No |
| `center` |`[number, number]`| the arc&#x27;s center | No |
| `ccw` |`boolean`| arc&#x27;s direction | No |
| `from` |`[number, number]`| The from point. | No |
| `to` |`[number, number]`| The to point. | No |
| `tag` |[`TagDeclarator`](/docs/kcl/types#tag-declaration)| The tag of the path. | No |
| `__geoMeta` |[`GeoMeta`](/docs/kcl/types/GeoMeta)| Metadata. | No |
----
a complete arc
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `Circle`| | No |
| `center` |`[number, number]`| the arc&#x27;s center | No |
| `radius` |`number`| the arc&#x27;s radius | No |
| `ccw` |`boolean`| arc&#x27;s direction | No |
| `from` |`[number, number]`| The from point. | No |
| `to` |`[number, number]`| The to point. | No |
| `tag` |[`TagDeclarator`](/docs/kcl/types#tag-declaration)| The tag of the path. | No |
| `__geoMeta` |[`GeoMeta`](/docs/kcl/types/GeoMeta)| Metadata. | No |
----
A path that is horizontal.
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `Horizontal`| | No |
| `x` |`number`| The x coordinate. | No |
| `from` |`[number, number]`| The from point. | No |
| `to` |`[number, number]`| The to point. | No |
| `tag` |[`TagDeclarator`](/docs/kcl/types#tag-declaration)| The tag of the path. | No |
| `__geoMeta` |[`GeoMeta`](/docs/kcl/types/GeoMeta)| Metadata. | No |
----
An angled line to.
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `AngledLineTo`| | No |
| `x` |`number`| The x coordinate. | No |
| `y` |`number`| The y coordinate. | No |
| `from` |`[number, number]`| The from point. | No |
| `to` |`[number, number]`| The to point. | No |
| `tag` |[`TagDeclarator`](/docs/kcl/types#tag-declaration)| The tag of the path. | No |
| `__geoMeta` |[`GeoMeta`](/docs/kcl/types/GeoMeta)| Metadata. | No |
----
A base path.
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `Base`| | No |
| `from` |`[number, number]`| The from point. | No |
| `to` |`[number, number]`| The to point. | No |
| `tag` |[`TagDeclarator`](/docs/kcl/types#tag-declaration)| The tag of the path. | No |
| `__geoMeta` |[`GeoMeta`](/docs/kcl/types/GeoMeta)| Metadata. | No |
----

View File

@ -10,13 +10,10 @@ Data for a plane.
**This schema accepts exactly one of the following:**
The XY plane.
**enum:** `XY`
@ -25,11 +22,10 @@ The XY plane.
----
The opposite side of the XY plane.
**enum:** `-XY`
@ -38,11 +34,10 @@ The opposite side of the XY plane.
----
The XZ plane.
**enum:** `XZ`
@ -51,11 +46,10 @@ The XZ plane.
----
The opposite side of the XZ plane.
**enum:** `-XZ`
@ -64,11 +58,10 @@ The opposite side of the XZ plane.
----
The YZ plane.
**enum:** `YZ`
@ -77,11 +70,10 @@ The YZ plane.
----
The opposite side of the YZ plane.
**enum:** `-YZ`
@ -90,11 +82,10 @@ The opposite side of the YZ plane.
----
A defined plane.
**Type:** `object`

View File

@ -0,0 +1,41 @@
---
title: "PlaneType"
excerpt: "Type for a plane."
layout: manual
---
Type for a plane.
**This schema accepts exactly one of the following:**
**enum:** `XY`, `XZ`, `YZ`
----
A custom plane.
**enum:** `Custom`
----

22
docs/kcl/types/Point3d.md Normal file
View File

@ -0,0 +1,22 @@
---
title: "Point3d"
excerpt: ""
layout: manual
---
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `x` |`number`| | No |
| `y` |`number`| | No |
| `z` |`number`| | No |

View File

@ -6,8 +6,6 @@ layout: manual
Data for polar coordinates.
**Type:** `object`

View File

@ -6,8 +6,6 @@ layout: manual
Data for revolution surfaces.
**Type:** `object`
@ -19,7 +17,7 @@ Data for revolution surfaces.
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `angle` |`number`| Angle to revolve (in degrees). Default is 360. | No |
| `axis` |**anyOf:** **oneOf:** enum: `X` **OR** enum: `Y` **OR** enum: `-X` **OR** enum: `-Y` **OR** `object` **OR** **anyOf:** `string` **OR** [`TagIdentifier`](/docs/kcl/types#tag-identifier)| Axis of revolution. | No |
| `axis` |[`AxisOrEdgeReference`](/docs/kcl/types/AxisOrEdgeReference)| Axis of revolution. | No |
| `tolerance` |`number`| Tolerance for the revolve operation. | No |

View File

@ -6,8 +6,6 @@ layout: manual
Data for shells.
**Type:** `object`
@ -19,6 +17,6 @@ Data for shells.
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `thickness` |`number`| The thickness of the shell. | No |
| `faces` |`[` **anyOf:** **oneOf:** enum: `start` **OR** enum: `end` **OR** [`TagIdentifier`](/docs/kcl/types#tag-identifier) `]`| The faces you want removed. | No |
| `faces` |`[` [`FaceTag`](/docs/kcl/types/FaceTag) `]`| The faces you want removed. | No |

View File

@ -6,8 +6,6 @@ layout: manual
A sketch is a collection of paths.
**Type:** `object`
@ -19,10 +17,10 @@ A sketch is a collection of paths.
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `id` |`string`| The id of the sketch (this will change when the engine&#x27;s reference to it changes. | No |
| `value` |`[` **oneOf:** `object` **OR** `object` **OR** `object` **OR** `object` **OR** `object` **OR** `object` **OR** `object` `]`| The paths in the sketch. | No |
| `on` |**oneOf:** `object` **OR** `object`| What the sketch is on (can be a plane or a face). | No |
| `start` |`object`| The starting path. | No |
| `value` |`[` [`Path`](/docs/kcl/types/Path) `]`| The paths in the sketch. | No |
| `on` |[`SketchSurface`](/docs/kcl/types/SketchSurface)| What the sketch is on (can be a plane or a face). | No |
| `start` |[`BasePath`](/docs/kcl/types/BasePath)| The starting path. | No |
| `tags` |`object`| Tag identifiers that have been declared in this sketch. | No |
| `__meta` |`[` `object` `]`| Metadata. | No |
| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| Metadata. | No |

View File

@ -9,10 +9,9 @@ Data for start sketch on. You can start a sketch on a plane or an solid.
**This schema accepts any of the following:**
Data for a plane.
Data for start sketch on. You can start a sketch on a plane or an solid.
[`PlaneData`](/docs/kcl/types/PlaneData)
@ -23,30 +22,16 @@ Data for a plane.
----
An solid is a collection of extrude surfaces.
Data for start sketch on. You can start a sketch on a plane or an solid.
**Type:** `object`
[`Solid`](/docs/kcl/types/Solid)
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `id` |`string`| The id of the solid. | No |
| `value` |`[` **oneOf:** `object` **OR** `object` **OR** `object` **OR** `object` `]`| The extrude surfaces. | No |
| `sketch` |`object`| The sketch. | No |
| `height` |`number`| The height of the solid. | No |
| `startCapId` |`string`| The id of the extrusion start cap | No |
| `endCapId` |`string`| The id of the extrusion end cap | No |
| `edgeCuts` |`[` **oneOf:** `object` **OR** `object` `]`| Chamfers or fillets on this solid. | No |
| `__meta` |`[` `object` `]`| Metadata. | No |
----

View File

@ -9,93 +9,29 @@ A sketch surface or a sketch.
**This schema accepts any of the following:**
A sketch type.
A sketch surface or a sketch.
[`SketchSurface`](/docs/kcl/types/SketchSurface)
**This schema accepts exactly one of the following:**
A plane.
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `plane`| | No |
| `id` |`string`| The id of the plane. | No |
| `value` |**oneOf:** enum: `XY`, `XZ`, `YZ` **OR** enum: `Custom`| Type for a plane. | No |
| `origin` |`object`| Origin of the plane. | No |
| `xAxis` |`object`| What should the planes X axis be? | No |
| `yAxis` |`object`| What should the planes Y axis be? | No |
| `zAxis` |`object`| The z-axis (normal). | No |
| `__meta` |`[` `object` `]`| | No |
----
A face.
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `type` |enum: `face`| | No |
| `id` |`string`| The id of the face. | No |
| `value` |`string`| The tag of the face. | No |
| `xAxis` |`object`| What should the faces X axis be? | No |
| `yAxis` |`object`| What should the faces Y axis be? | No |
| `zAxis` |`object`| The z-axis (normal). | No |
| `solid` |`object`| The solid the face is on. | No |
| `__meta` |`[` `object` `]`| | No |
----
----
A sketch is a collection of paths.
A sketch surface or a sketch.
**Type:** `object`
[`Sketch`](/docs/kcl/types/Sketch)
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `id` |`string`| The id of the sketch (this will change when the engine&#x27;s reference to it changes. | No |
| `value` |`[` **oneOf:** `object` **OR** `object` **OR** `object` **OR** `object` **OR** `object` **OR** `object` **OR** `object` `]`| The paths in the sketch. | No |
| `on` |**oneOf:** `object` **OR** `object`| What the sketch is on (can be a plane or a face). | No |
| `start` |`object`| The starting path. | No |
| `tags` |`object`| Tag identifiers that have been declared in this sketch. | No |
| `__meta` |`[` `object` `]`| Metadata. | No |
----

View File

@ -10,13 +10,10 @@ A sketch or a group of sketches.
**This schema accepts exactly one of the following:**
A sketch is a collection of paths.
**Type:** `object`
@ -29,20 +26,18 @@ A sketch is a collection of paths.
|----------|------|-------------|----------|
| `type` |enum: `sketch`| | No |
| `id` |`string`| The id of the sketch (this will change when the engine&#x27;s reference to it changes. | No |
| `value` |`[` **oneOf:** `object` **OR** `object` **OR** `object` **OR** `object` **OR** `object` **OR** `object` **OR** `object` `]`| The paths in the sketch. | No |
| `on` |**oneOf:** `object` **OR** `object`| What the sketch is on (can be a plane or a face). | No |
| `start` |`object`| The starting path. | No |
| `value` |`[` [`Path`](/docs/kcl/types/Path) `]`| The paths in the sketch. | No |
| `on` |[`SketchSurface`](/docs/kcl/types/SketchSurface)| What the sketch is on (can be a plane or a face). | No |
| `start` |[`BasePath`](/docs/kcl/types/BasePath)| The starting path. | No |
| `tags` |`object`| Tag identifiers that have been declared in this sketch. | No |
| `__meta` |`[` `object` `]`| Metadata. | No |
| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| Metadata. | No |
----
**Type:** `[object, array]`
`[` `object` `]`
`[` [`Sketch`](/docs/kcl/types/Sketch) `]`

View File

@ -10,13 +10,10 @@ A sketch type.
**This schema accepts exactly one of the following:**
A plane.
**Type:** `object`
@ -29,19 +26,17 @@ A plane.
|----------|------|-------------|----------|
| `type` |enum: `plane`| | No |
| `id` |`string`| The id of the plane. | No |
| `value` |**oneOf:** enum: `XY`, `XZ`, `YZ` **OR** enum: `Custom`| Type for a plane. | No |
| `origin` |`object`| Origin of the plane. | No |
| `xAxis` |`object`| What should the planes X axis be? | No |
| `yAxis` |`object`| What should the planes Y axis be? | No |
| `zAxis` |`object`| The z-axis (normal). | No |
| `__meta` |`[` `object` `]`| | No |
| `value` |[`PlaneType`](/docs/kcl/types/PlaneType)| A sketch type. | No |
| `origin` |[`Point3d`](/docs/kcl/types/Point3d)| Origin of the plane. | No |
| `xAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the planes X axis be? | No |
| `yAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the planes Y axis be? | No |
| `zAxis` |[`Point3d`](/docs/kcl/types/Point3d)| The z-axis (normal). | No |
| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| | No |
----
A face.
**Type:** `object`
@ -55,11 +50,11 @@ A face.
| `type` |enum: `face`| | No |
| `id` |`string`| The id of the face. | No |
| `value` |`string`| The tag of the face. | No |
| `xAxis` |`object`| What should the faces X axis be? | No |
| `yAxis` |`object`| What should the faces Y axis be? | No |
| `zAxis` |`object`| The z-axis (normal). | No |
| `solid` |`object`| The solid the face is on. | No |
| `__meta` |`[` `object` `]`| | No |
| `xAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the faces X axis be? | No |
| `yAxis` |[`Point3d`](/docs/kcl/types/Point3d)| What should the faces Y axis be? | No |
| `zAxis` |[`Point3d`](/docs/kcl/types/Point3d)| The z-axis (normal). | No |
| `solid` |[`Solid`](/docs/kcl/types/Solid)| The solid the face is on. | No |
| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| | No |
----

View File

@ -6,8 +6,6 @@ layout: manual
An solid is a collection of extrude surfaces.
**Type:** `object`
@ -19,12 +17,12 @@ An solid is a collection of extrude surfaces.
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `id` |`string`| The id of the solid. | No |
| `value` |`[` **oneOf:** `object` **OR** `object` **OR** `object` **OR** `object` `]`| The extrude surfaces. | No |
| `sketch` |`object`| The sketch. | No |
| `value` |`[` [`ExtrudeSurface`](/docs/kcl/types/ExtrudeSurface) `]`| The extrude surfaces. | No |
| `sketch` |[`Sketch`](/docs/kcl/types/Sketch)| The sketch. | No |
| `height` |`number`| The height of the solid. | No |
| `startCapId` |`string`| The id of the extrusion start cap | No |
| `endCapId` |`string`| The id of the extrusion end cap | No |
| `edgeCuts` |`[` **oneOf:** `object` **OR** `object` `]`| Chamfers or fillets on this solid. | No |
| `__meta` |`[` `object` `]`| Metadata. | No |
| `edgeCuts` |`[` [`EdgeCut`](/docs/kcl/types/EdgeCut) `]`| Chamfers or fillets on this solid. | No |
| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| Metadata. | No |

View File

@ -10,13 +10,10 @@ A solid or a group of solids.
**This schema accepts exactly one of the following:**
An solid is a collection of extrude surfaces.
**Type:** `object`
@ -29,22 +26,20 @@ An solid is a collection of extrude surfaces.
|----------|------|-------------|----------|
| `type` |enum: `solid`| | No |
| `id` |`string`| The id of the solid. | No |
| `value` |`[` **oneOf:** `object` **OR** `object` **OR** `object` **OR** `object` `]`| The extrude surfaces. | No |
| `sketch` |`object`| The sketch. | No |
| `value` |`[` [`ExtrudeSurface`](/docs/kcl/types/ExtrudeSurface) `]`| The extrude surfaces. | No |
| `sketch` |[`Sketch`](/docs/kcl/types/Sketch)| The sketch. | No |
| `height` |`number`| The height of the solid. | No |
| `startCapId` |`string`| The id of the extrusion start cap | No |
| `endCapId` |`string`| The id of the extrusion end cap | No |
| `edgeCuts` |`[` **oneOf:** `object` **OR** `object` `]`| Chamfers or fillets on this solid. | No |
| `__meta` |`[` `object` `]`| Metadata. | No |
| `edgeCuts` |`[` [`EdgeCut`](/docs/kcl/types/EdgeCut) `]`| Chamfers or fillets on this solid. | No |
| `__meta` |`[` [`Metadata`](/docs/kcl/types/Metadata) `]`| Metadata. | No |
----
**Type:** `[object, array]`
`[` `object` `]`
`[` [`Solid`](/docs/kcl/types/Solid) `]`

View File

@ -10,13 +10,10 @@ One of the standard planes.
**This schema accepts exactly one of the following:**
The XY plane.
**enum:** `XY`
@ -25,11 +22,10 @@ The XY plane.
----
The opposite side of the XY plane.
**enum:** `-XY`
@ -38,11 +34,10 @@ The opposite side of the XY plane.
----
The XZ plane.
**enum:** `XZ`
@ -51,11 +46,10 @@ The XZ plane.
----
The opposite side of the XZ plane.
**enum:** `-XZ`
@ -64,11 +58,10 @@ The opposite side of the XZ plane.
----
The YZ plane.
**enum:** `YZ`
@ -77,11 +70,10 @@ The YZ plane.
----
The opposite side of the YZ plane.
**enum:** `-YZ`
@ -90,6 +82,7 @@ The opposite side of the YZ plane.
----

View File

@ -0,0 +1,41 @@
---
title: "StartOrEnd"
excerpt: ""
layout: manual
---
**This schema accepts exactly one of the following:**
The start face as in before you extruded. This could also be known as the bottom face. But we do not call it bottom because it would be the top face if you extruded it in the opposite direction or flipped the camera.
**enum:** `start`
----
The end face after you extruded. This could also be known as the top face. But we do not call it top because it would be the bottom face if you extruded it in the opposite direction or flipped the camera.
**enum:** `end`
----

34
docs/kcl/types/System.md Normal file
View File

@ -0,0 +1,34 @@
---
title: "System"
excerpt: "Co-ordinate system definition.
The &#x60;up&#x60; axis must be orthogonal to the &#x60;forward&#x60; axis.
See [cglearn.eu] for background reading.
[cglearn.eu](https://cglearn.eu/pub/computer-graphics/introduction-to-geometry#material-coordinate-systems-1)"
layout: manual
---
Co-ordinate system definition.
The &#x60;up&#x60; axis must be orthogonal to the &#x60;forward&#x60; axis.
See [cglearn.eu] for background reading.
[cglearn.eu](https://cglearn.eu/pub/computer-graphics/introduction-to-geometry#material-coordinate-systems-1)
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `forward` |[`AxisDirectionPair`](/docs/kcl/types/AxisDirectionPair)| Axis the front face of a model looks along. | No |
| `up` |[`AxisDirectionPair`](/docs/kcl/types/AxisDirectionPair)| Axis pointing up and away from a model. | No |

View File

@ -0,0 +1,24 @@
---
title: "TagEngineInfo"
excerpt: "Engine information for a tag."
layout: manual
---
Engine information for a tag.
**Type:** `object`
## Properties
| Property | Type | Description | Required |
|----------|------|-------------|----------|
| `id` |`string`| The id of the tagged object. | No |
| `sketch` |`string`| The sketch the tag is on. | No |
| `path` |[`BasePath`](/docs/kcl/types/BasePath)| The path the tag is on. | No |
| `surface` |[`ExtrudeSurface`](/docs/kcl/types/ExtrudeSurface)| The surface information for the tag. | No |

View File

@ -9,12 +9,9 @@ Data to draw a tangential arc.
**This schema accepts any of the following:**
**Type:** `object`

15
docs/kcl/types/Uint.md Normal file
View File

@ -0,0 +1,15 @@
---
title: "Uint"
excerpt: ""
layout: manual
---
**Type:** `integer` (`uint32`)

View File

@ -0,0 +1,90 @@
---
title: "UnitLength"
excerpt: "The valid types of length units."
layout: manual
---
The valid types of length units.
**This schema accepts exactly one of the following:**
Centimeters &lt;https://en.wikipedia.org/wiki/Centimeter&gt;
**enum:** `cm`
----
Feet &lt;https://en.wikipedia.org/wiki/Foot_(unit)&gt;
**enum:** `ft`
----
Inches &lt;https://en.wikipedia.org/wiki/Inch&gt;
**enum:** `in`
----
Meters &lt;https://en.wikipedia.org/wiki/Meter&gt;
**enum:** `m`
----
Millimeters &lt;https://en.wikipedia.org/wiki/Millimeter&gt;
**enum:** `mm`
----
Yards &lt;https://en.wikipedia.org/wiki/Yard&gt;
**enum:** `yd`
----