diff --git a/.eslintignore b/.eslintignore index 53322dab3..3c630f997 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,2 +1,3 @@ src/wasm-lib/* *.typegen.ts +packages/codemirror-lsp-client/dist/* diff --git a/.github/workflows/generate-website-docs.yml b/.github/workflows/generate-website-docs.yml index 062de010b..e4c5b9525 100644 --- a/.github/workflows/generate-website-docs.yml +++ b/.github/workflows/generate-website-docs.yml @@ -38,8 +38,10 @@ jobs: mkdir -p documentation/content/pages/docs/kcl/ # cleanup old rm -rf documentation/content/pages/docs/kcl/*.md + rm -rf documentation/content/pages/docs/kcl/types # move new mv -f docs/kcl/*.md documentation/content/pages/docs/kcl/ + mv -f docs/kcl/types documentation/content/pages/docs/kcl/ - name: commit the changes in the docs repo shell: bash run: | diff --git a/docs/kcl/angleToMatchLengthX.md b/docs/kcl/angleToMatchLengthX.md index 042d8dd19..01b1ff493 100644 --- a/docs/kcl/angleToMatchLengthX.md +++ b/docs/kcl/angleToMatchLengthX.md @@ -9,7 +9,7 @@ Compute the angle (in degrees) in o ```js -angleToMatchLengthX(tag: TagIdentifier, to: number, sketch_group: SketchGroup) -> number +angleToMatchLengthX(tag: TagIdentifier, to: number, sketch: Sketch) -> number ``` @@ -19,7 +19,7 @@ angleToMatchLengthX(tag: TagIdentifier, to: number, sketch_group: SketchGroup) - |----------|------|-------------|----------| | `tag` | [`TagIdentifier`](/docs/kcl/types#tag-identifier) | | Yes | | `to` | `number` | | Yes | -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | ### Returns diff --git a/docs/kcl/angleToMatchLengthY.md b/docs/kcl/angleToMatchLengthY.md index 4f05c5daf..ed3800f09 100644 --- a/docs/kcl/angleToMatchLengthY.md +++ b/docs/kcl/angleToMatchLengthY.md @@ -9,7 +9,7 @@ Returns the angle to match the given length for y. ```js -angleToMatchLengthY(tag: TagIdentifier, to: number, sketch_group: SketchGroup) -> number +angleToMatchLengthY(tag: TagIdentifier, to: number, sketch: Sketch) -> number ``` @@ -19,7 +19,7 @@ angleToMatchLengthY(tag: TagIdentifier, to: number, sketch_group: SketchGroup) - |----------|------|-------------|----------| | `tag` | [`TagIdentifier`](/docs/kcl/types#tag-identifier) | | Yes | | `to` | `number` | | Yes | -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | ### Returns diff --git a/docs/kcl/angledLine.md b/docs/kcl/angledLine.md index b80d4fc2d..2a22a93a2 100644 --- a/docs/kcl/angledLine.md +++ b/docs/kcl/angledLine.md @@ -9,7 +9,7 @@ Draw a line segment relative to the current origin using the polar measure of some angle and distance. ```js -angledLine(data: AngledLineData, sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGroup +angledLine(data: AngledLineData, sketch: Sketch, tag?: TagDeclarator) -> Sketch ``` @@ -18,12 +18,12 @@ angledLine(data: AngledLineData, sketch_group: SketchGroup, tag?: TagDeclarator) | Name | Type | Description | Required | |----------|------|-------------|----------| | `data` | [`AngledLineData`](/docs/kcl/types/AngledLineData) | Data to draw an angled line. | Yes | -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | | `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No | ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples diff --git a/docs/kcl/angledLineOfXLength.md b/docs/kcl/angledLineOfXLength.md index 745b37dd3..cb702a665 100644 --- a/docs/kcl/angledLineOfXLength.md +++ b/docs/kcl/angledLineOfXLength.md @@ -9,7 +9,7 @@ Create a line segment from the current 2-dimensional sketch origin along some angle (in degrees) for some relative length in the 'x' dimension. ```js -angledLineOfXLength(data: AngledLineData, sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGroup +angledLineOfXLength(data: AngledLineData, sketch: Sketch, tag?: TagDeclarator) -> Sketch ``` @@ -18,12 +18,12 @@ angledLineOfXLength(data: AngledLineData, sketch_group: SketchGroup, tag?: TagDe | Name | Type | Description | Required | |----------|------|-------------|----------| | `data` | [`AngledLineData`](/docs/kcl/types/AngledLineData) | Data to draw an angled line. | Yes | -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | | `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No | ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples diff --git a/docs/kcl/angledLineOfYLength.md b/docs/kcl/angledLineOfYLength.md index 6a574ea89..1f68c9a6a 100644 --- a/docs/kcl/angledLineOfYLength.md +++ b/docs/kcl/angledLineOfYLength.md @@ -9,7 +9,7 @@ Create a line segment from the current 2-dimensional sketch origin along some angle (in degrees) for some relative length in the 'y' dimension. ```js -angledLineOfYLength(data: AngledLineData, sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGroup +angledLineOfYLength(data: AngledLineData, sketch: Sketch, tag?: TagDeclarator) -> Sketch ``` @@ -18,12 +18,12 @@ angledLineOfYLength(data: AngledLineData, sketch_group: SketchGroup, tag?: TagDe | Name | Type | Description | Required | |----------|------|-------------|----------| | `data` | [`AngledLineData`](/docs/kcl/types/AngledLineData) | Data to draw an angled line. | Yes | -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | | `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No | ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples diff --git a/docs/kcl/angledLineThatIntersects.md b/docs/kcl/angledLineThatIntersects.md index 28fd21de7..172c632a0 100644 --- a/docs/kcl/angledLineThatIntersects.md +++ b/docs/kcl/angledLineThatIntersects.md @@ -9,7 +9,7 @@ Draw an angled line from the current origin, constructing a line segment such that the newly created line intersects the desired target line segment. ```js -angledLineThatIntersects(data: AngledLineThatIntersectsData, sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGroup +angledLineThatIntersects(data: AngledLineThatIntersectsData, sketch: Sketch, tag?: TagDeclarator) -> Sketch ``` @@ -18,12 +18,12 @@ angledLineThatIntersects(data: AngledLineThatIntersectsData, sketch_group: Sketc | Name | Type | Description | Required | |----------|------|-------------|----------| | `data` | [`AngledLineThatIntersectsData`](/docs/kcl/types/AngledLineThatIntersectsData) | Data for drawing an angled line that intersects with a given line. | Yes | -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | | `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No | ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples diff --git a/docs/kcl/angledLineToX.md b/docs/kcl/angledLineToX.md index b66ccd937..369d4efd3 100644 --- a/docs/kcl/angledLineToX.md +++ b/docs/kcl/angledLineToX.md @@ -9,7 +9,7 @@ Create a line segment from the current 2-dimensional sketch origin along some angle (in degrees) for some length, ending at the provided value in the 'x' dimension. ```js -angledLineToX(data: AngledLineToData, sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGroup +angledLineToX(data: AngledLineToData, sketch: Sketch, tag?: TagDeclarator) -> Sketch ``` @@ -18,12 +18,12 @@ angledLineToX(data: AngledLineToData, sketch_group: SketchGroup, tag?: TagDeclar | Name | Type | Description | Required | |----------|------|-------------|----------| | `data` | [`AngledLineToData`](/docs/kcl/types/AngledLineToData) | Data to draw an angled line to a point. | Yes | -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | | `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No | ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples diff --git a/docs/kcl/angledLineToY.md b/docs/kcl/angledLineToY.md index 55a03ee51..d8d44e23a 100644 --- a/docs/kcl/angledLineToY.md +++ b/docs/kcl/angledLineToY.md @@ -9,7 +9,7 @@ Create a line segment from the current 2-dimensional sketch origin along some angle (in degrees) for some length, ending at the provided value in the 'y' dimension. ```js -angledLineToY(data: AngledLineToData, sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGroup +angledLineToY(data: AngledLineToData, sketch: Sketch, tag?: TagDeclarator) -> Sketch ``` @@ -18,12 +18,12 @@ angledLineToY(data: AngledLineToData, sketch_group: SketchGroup, tag?: TagDeclar | Name | Type | Description | Required | |----------|------|-------------|----------| | `data` | [`AngledLineToData`](/docs/kcl/types/AngledLineToData) | Data to draw an angled line to a point. | Yes | -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | | `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No | ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples diff --git a/docs/kcl/arc.md b/docs/kcl/arc.md index 897fad602..f826e2fd7 100644 --- a/docs/kcl/arc.md +++ b/docs/kcl/arc.md @@ -11,7 +11,7 @@ The arc is constructed such that the current position of the sketch is placed al Unless this makes a lot of sense and feels like what you're looking for to construct your shape, you're likely looking for tangentialArc. ```js -arc(data: ArcData, sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGroup +arc(data: ArcData, sketch: Sketch, tag?: TagDeclarator) -> Sketch ``` @@ -20,12 +20,12 @@ arc(data: ArcData, sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGrou | Name | Type | Description | Required | |----------|------|-------------|----------| | `data` | [`ArcData`](/docs/kcl/types/ArcData) | Data to draw an arc. | Yes | -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | | `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No | ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples diff --git a/docs/kcl/arrayReduce.md b/docs/kcl/arrayReduce.md index 8b986d7fa..6e3228b24 100644 --- a/docs/kcl/arrayReduce.md +++ b/docs/kcl/arrayReduce.md @@ -9,7 +9,7 @@ Take a starting value. Then, for each element of an array, calculate the next va using the previous value and the element. ```js -arrayReduce(array: [u64], start: SketchGroup, reduce_fn: FunctionParam) -> SketchGroup +arrayReduce(array: [u64], start: Sketch, reduce_fn: FunctionParam) -> Sketch ``` @@ -18,12 +18,12 @@ arrayReduce(array: [u64], start: SketchGroup, reduce_fn: FunctionParam) -> Sketc | Name | Type | Description | Required | |----------|------|-------------|----------| | `array` | [`[u64]`](/docs/kcl/types/[u64]) | | Yes | -| `start` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `start` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | | `reduce_fn` | `FunctionParam` | | Yes | ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples @@ -31,8 +31,8 @@ arrayReduce(array: [u64], start: SketchGroup, reduce_fn: FunctionParam) -> Sketc ```js fn decagon = (radius) => { let step = 1 / 10 * tau() - let sketch = startSketchAt([cos(0) * radius, sin(0) * radius]) - return arrayReduce([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], sketch, (i, sg) => { + let sketch001 = startSketchAt([cos(0) * radius, sin(0) * radius]) + return arrayReduce([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], sketch001, (i, sg) => { let x = cos(step * i) * radius let y = sin(step * i) * radius return lineTo([x, y], sg) diff --git a/docs/kcl/bezierCurve.md b/docs/kcl/bezierCurve.md index f76b24d0f..78b1df719 100644 --- a/docs/kcl/bezierCurve.md +++ b/docs/kcl/bezierCurve.md @@ -9,7 +9,7 @@ Draw a smooth, continuous, curved line segment from the current origin to the desired (x, y), using a number of control points to shape the curve's shape. ```js -bezierCurve(data: BezierData, sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGroup +bezierCurve(data: BezierData, sketch: Sketch, tag?: TagDeclarator) -> Sketch ``` @@ -18,12 +18,12 @@ bezierCurve(data: BezierData, sketch_group: SketchGroup, tag?: TagDeclarator) -> | Name | Type | Description | Required | |----------|------|-------------|----------| | `data` | [`BezierData`](/docs/kcl/types/BezierData) | Data to draw a bezier curve. | Yes | -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | | `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No | ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples diff --git a/docs/kcl/chamfer.md b/docs/kcl/chamfer.md index b8face660..978d9f21e 100644 --- a/docs/kcl/chamfer.md +++ b/docs/kcl/chamfer.md @@ -9,7 +9,7 @@ Cut a straight transitional edge along a tagged path. Chamfer is similar in function and use to a fillet, except a fillet will blend the transition along an edge, rather than cut a sharp, straight transitional edge. ```js -chamfer(data: ChamferData, extrude_group: ExtrudeGroup, tag?: TagDeclarator) -> ExtrudeGroup +chamfer(data: ChamferData, solid: Solid, tag?: TagDeclarator) -> Solid ``` @@ -18,12 +18,12 @@ chamfer(data: ChamferData, extrude_group: ExtrudeGroup, tag?: TagDeclarator) -> | Name | Type | Description | Required | |----------|------|-------------|----------| | `data` | [`ChamferData`](/docs/kcl/types/ChamferData) | Data for chamfers. | Yes | -| `extrude_group` | [`ExtrudeGroup`](/docs/kcl/types/ExtrudeGroup) | An extrude group is a collection of extrude surfaces. | Yes | +| `solid` | [`Solid`](/docs/kcl/types/Solid) | An solid is a collection of extrude surfaces. | Yes | | `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No | ### Returns -[`ExtrudeGroup`](/docs/kcl/types/ExtrudeGroup) - An extrude group is a collection of extrude surfaces. +[`Solid`](/docs/kcl/types/Solid) - An solid is a collection of extrude surfaces. ### Examples diff --git a/docs/kcl/circle.md b/docs/kcl/circle.md index e45c8e6ac..f8b75102e 100644 --- a/docs/kcl/circle.md +++ b/docs/kcl/circle.md @@ -9,7 +9,7 @@ Construct a 2-dimensional circle, of the specified radius, centered at the provided (x, y) origin point. ```js -circle(data: CircleData, sketch_surface_or_group: SketchSurfaceOrGroup, tag?: TagDeclarator) -> SketchGroup +circle(data: CircleData, sketch_surface_or_group: SketchOrSurface, tag?: TagDeclarator) -> Sketch ``` @@ -18,12 +18,12 @@ circle(data: CircleData, sketch_surface_or_group: SketchSurfaceOrGroup, tag?: Ta | Name | Type | Description | Required | |----------|------|-------------|----------| | `data` | [`CircleData`](/docs/kcl/types/CircleData) | Data for drawing an circle | Yes | -| `sketch_surface_or_group` | [`SketchSurfaceOrGroup`](/docs/kcl/types/SketchSurfaceOrGroup) | A sketch surface or a sketch group. | Yes | +| `sketch_surface_or_group` | [`SketchOrSurface`](/docs/kcl/types/SketchOrSurface) | A sketch surface or a sketch. | Yes | | `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No | ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples diff --git a/docs/kcl/close.md b/docs/kcl/close.md index d9898ec65..b15c9a376 100644 --- a/docs/kcl/close.md +++ b/docs/kcl/close.md @@ -9,7 +9,7 @@ Construct a line segment from the current origin back to the profile's origin, ensuring the resulting 2-dimensional sketch is not open-ended. ```js -close(sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGroup +close(sketch: Sketch, tag?: TagDeclarator) -> Sketch ``` @@ -17,12 +17,12 @@ close(sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGroup | Name | Type | Description | Required | |----------|------|-------------|----------| -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | | `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No | ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples diff --git a/docs/kcl/extrude.md b/docs/kcl/extrude.md index 0b0f1e1b9..1002a3443 100644 --- a/docs/kcl/extrude.md +++ b/docs/kcl/extrude.md @@ -9,7 +9,7 @@ Extend a 2-dimensional sketch through a third dimension in order to create new 3-dimensional volume, or if extruded into an existing volume, cut into an existing solid. ```js -extrude(length: number, sketch_group_set: SketchGroupSet) -> ExtrudeGroupSet +extrude(length: number, sketch_set: SketchSet) -> SolidSet ``` @@ -18,11 +18,11 @@ extrude(length: number, sketch_group_set: SketchGroupSet) -> ExtrudeGroupSet | Name | Type | Description | Required | |----------|------|-------------|----------| | `length` | `number` | | Yes | -| `sketch_group_set` | [`SketchGroupSet`](/docs/kcl/types/SketchGroupSet) | A sketch group or a group of sketch groups. | Yes | +| `sketch_set` | [`SketchSet`](/docs/kcl/types/SketchSet) | A sketch or a group of sketches. | Yes | ### Returns -[`ExtrudeGroupSet`](/docs/kcl/types/ExtrudeGroupSet) - A extrude group or a group of extrude groups. +[`SolidSet`](/docs/kcl/types/SolidSet) - A solid or a group of solids. ### Examples diff --git a/docs/kcl/fillet.md b/docs/kcl/fillet.md index 407247ec2..e740135af 100644 --- a/docs/kcl/fillet.md +++ b/docs/kcl/fillet.md @@ -9,7 +9,7 @@ Blend a transitional edge along a tagged path, smoothing the sharp edge. Fillet is similar in function and use to a chamfer, except a chamfer will cut a sharp transition along an edge while fillet will smoothly blend the transition. ```js -fillet(data: FilletData, extrude_group: ExtrudeGroup, tag?: TagDeclarator) -> ExtrudeGroup +fillet(data: FilletData, solid: Solid, tag?: TagDeclarator) -> Solid ``` @@ -18,12 +18,12 @@ fillet(data: FilletData, extrude_group: ExtrudeGroup, tag?: TagDeclarator) -> Ex | Name | Type | Description | Required | |----------|------|-------------|----------| | `data` | [`FilletData`](/docs/kcl/types/FilletData) | Data for fillets. | Yes | -| `extrude_group` | [`ExtrudeGroup`](/docs/kcl/types/ExtrudeGroup) | An extrude group is a collection of extrude surfaces. | Yes | +| `solid` | [`Solid`](/docs/kcl/types/Solid) | An solid is a collection of extrude surfaces. | Yes | | `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No | ### Returns -[`ExtrudeGroup`](/docs/kcl/types/ExtrudeGroup) - An extrude group is a collection of extrude surfaces. +[`Solid`](/docs/kcl/types/Solid) - An solid is a collection of extrude surfaces. ### Examples diff --git a/docs/kcl/helix.md b/docs/kcl/helix.md index 5eeb154ee..740220195 100644 --- a/docs/kcl/helix.md +++ b/docs/kcl/helix.md @@ -9,7 +9,7 @@ Create a helix on a cylinder. ```js -helix(data: HelixData, extrude_group: ExtrudeGroup) -> ExtrudeGroup +helix(data: HelixData, solid: Solid) -> Solid ``` @@ -18,11 +18,11 @@ helix(data: HelixData, extrude_group: ExtrudeGroup) -> ExtrudeGroup | Name | Type | Description | Required | |----------|------|-------------|----------| | `data` | [`HelixData`](/docs/kcl/types/HelixData) | Data for helices. | Yes | -| `extrude_group` | [`ExtrudeGroup`](/docs/kcl/types/ExtrudeGroup) | An extrude group is a collection of extrude surfaces. | Yes | +| `solid` | [`Solid`](/docs/kcl/types/Solid) | An solid is a collection of extrude surfaces. | Yes | ### Returns -[`ExtrudeGroup`](/docs/kcl/types/ExtrudeGroup) - An extrude group is a collection of extrude surfaces. +[`Solid`](/docs/kcl/types/Solid) - An solid is a collection of extrude surfaces. ### Examples diff --git a/docs/kcl/hole.md b/docs/kcl/hole.md index e62533dc4..99f60d781 100644 --- a/docs/kcl/hole.md +++ b/docs/kcl/hole.md @@ -9,7 +9,7 @@ Use a 2-dimensional sketch to cut a hole in another 2-dimensional sketch. ```js -hole(hole_sketch_group: SketchGroupSet, sketch_group: SketchGroup) -> SketchGroup +hole(hole_sketch: SketchSet, sketch: Sketch) -> Sketch ``` @@ -17,12 +17,12 @@ hole(hole_sketch_group: SketchGroupSet, sketch_group: SketchGroup) -> SketchGrou | Name | Type | Description | Required | |----------|------|-------------|----------| -| `hole_sketch_group` | [`SketchGroupSet`](/docs/kcl/types/SketchGroupSet) | A sketch group or a group of sketch groups. | Yes | -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `hole_sketch` | [`SketchSet`](/docs/kcl/types/SketchSet) | A sketch or a group of sketches. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples diff --git a/docs/kcl/hollow.md b/docs/kcl/hollow.md index b642f85c5..131b612ef 100644 --- a/docs/kcl/hollow.md +++ b/docs/kcl/hollow.md @@ -9,7 +9,7 @@ Make the inside of a 3D object hollow. Remove volume from a 3-dimensional shape such that a wall of the provided thickness remains around the exterior of the shape. ```js -hollow(thickness: number, extrude_group: ExtrudeGroup) -> ExtrudeGroup +hollow(thickness: number, solid: Solid) -> Solid ``` @@ -18,11 +18,11 @@ hollow(thickness: number, extrude_group: ExtrudeGroup) -> ExtrudeGroup | Name | Type | Description | Required | |----------|------|-------------|----------| | `thickness` | `number` | | Yes | -| `extrude_group` | [`ExtrudeGroup`](/docs/kcl/types/ExtrudeGroup) | An extrude group is a collection of extrude surfaces. | Yes | +| `solid` | [`Solid`](/docs/kcl/types/Solid) | An solid is a collection of extrude surfaces. | Yes | ### Returns -[`ExtrudeGroup`](/docs/kcl/types/ExtrudeGroup) - An extrude group is a collection of extrude surfaces. +[`Solid`](/docs/kcl/types/Solid) - An solid is a collection of extrude surfaces. ### Examples diff --git a/docs/kcl/lastSegX.md b/docs/kcl/lastSegX.md index 33e221634..3b715e06c 100644 --- a/docs/kcl/lastSegX.md +++ b/docs/kcl/lastSegX.md @@ -9,7 +9,7 @@ Extract the 'x' axis value of the last line segment in the provided 2- sketch. ```js -lastSegX(sketch_group: SketchGroup) -> number +lastSegX(sketch: Sketch) -> number ``` @@ -17,7 +17,7 @@ lastSegX(sketch_group: SketchGroup) -> number | Name | Type | Description | Required | |----------|------|-------------|----------| -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | ### Returns diff --git a/docs/kcl/lastSegY.md b/docs/kcl/lastSegY.md index 636c19d7b..3b8048128 100644 --- a/docs/kcl/lastSegY.md +++ b/docs/kcl/lastSegY.md @@ -9,7 +9,7 @@ Extract the 'y' axis value of the last line segment in the provided 2- sketch. ```js -lastSegY(sketch_group: SketchGroup) -> number +lastSegY(sketch: Sketch) -> number ``` @@ -17,7 +17,7 @@ lastSegY(sketch_group: SketchGroup) -> number | Name | Type | Description | Required | |----------|------|-------------|----------| -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | ### Returns diff --git a/docs/kcl/line.md b/docs/kcl/line.md index 238693402..309292689 100644 --- a/docs/kcl/line.md +++ b/docs/kcl/line.md @@ -9,7 +9,7 @@ Draw a line relative to the current origin to a specified (x, y) away from the current position. ```js -line(delta: [number], sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGroup +line(delta: [number], sketch: Sketch, tag?: TagDeclarator) -> Sketch ``` @@ -18,12 +18,12 @@ line(delta: [number], sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchG | Name | Type | Description | Required | |----------|------|-------------|----------| | `delta` | [`[number]`](/docs/kcl/types/[number]) | | Yes | -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | | `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No | ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples diff --git a/docs/kcl/lineTo.md b/docs/kcl/lineTo.md index 40ac6341b..f7b248048 100644 --- a/docs/kcl/lineTo.md +++ b/docs/kcl/lineTo.md @@ -9,7 +9,7 @@ Draw a line from the current origin to some absolute (x, y) point. ```js -lineTo(to: [number], sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGroup +lineTo(to: [number], sketch: Sketch, tag?: TagDeclarator) -> Sketch ``` @@ -18,12 +18,12 @@ lineTo(to: [number], sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGr | Name | Type | Description | Required | |----------|------|-------------|----------| | `to` | [`[number]`](/docs/kcl/types/[number]) | | Yes | -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | | `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No | ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples diff --git a/docs/kcl/loft.md b/docs/kcl/loft.md index fa08e1b23..372407ca3 100644 --- a/docs/kcl/loft.md +++ b/docs/kcl/loft.md @@ -9,7 +9,7 @@ Create a 3D surface or solid by interpolating between two or more sketches. The sketches need to closed and on the same plane. ```js -loft(sketch_groups: [SketchGroup], data?: LoftData) -> ExtrudeGroup +loft(sketches: [Sketch], data?: LoftData) -> Solid ``` @@ -17,12 +17,12 @@ loft(sketch_groups: [SketchGroup], data?: LoftData) -> ExtrudeGroup | Name | Type | Description | Required | |----------|------|-------------|----------| -| `sketch_groups` | [`[SketchGroup]`](/docs/kcl/types/[SketchGroup]) | | Yes | +| `sketches` | [`[Sketch]`](/docs/kcl/types/[Sketch]) | | Yes | | `data` | [`LoftData`](/docs/kcl/types/LoftData) | Data for a loft. | No | ### Returns -[`ExtrudeGroup`](/docs/kcl/types/ExtrudeGroup) - An extrude group is a collection of extrude surfaces. +[`Solid`](/docs/kcl/types/Solid) - An solid is a collection of extrude surfaces. ### Examples diff --git a/docs/kcl/mirror2d.md b/docs/kcl/mirror2d.md index 82684ba3f..5e9709f98 100644 --- a/docs/kcl/mirror2d.md +++ b/docs/kcl/mirror2d.md @@ -10,7 +10,7 @@ Only works on unclosed sketches for now. Mirror occurs around a local sketch axis rather than a global axis. ```js -mirror2d(data: Mirror2dData, sketch_group_set: SketchGroupSet) -> [SketchGroup] +mirror2d(data: Mirror2dData, sketch_set: SketchSet) -> [Sketch] ``` @@ -19,11 +19,11 @@ mirror2d(data: Mirror2dData, sketch_group_set: SketchGroupSet) -> [SketchGroup] | Name | Type | Description | Required | |----------|------|-------------|----------| | `data` | [`Mirror2dData`](/docs/kcl/types/Mirror2dData) | Data for a mirror. | Yes | -| `sketch_group_set` | [`SketchGroupSet`](/docs/kcl/types/SketchGroupSet) | A sketch group or a group of sketch groups. | Yes | +| `sketch_set` | [`SketchSet`](/docs/kcl/types/SketchSet) | A sketch or a group of sketches. | Yes | ### Returns -[`[SketchGroup]`](/docs/kcl/types/[SketchGroup]) +[`[Sketch]`](/docs/kcl/types/[Sketch]) ### Examples diff --git a/docs/kcl/patternCircular2d.md b/docs/kcl/patternCircular2d.md index b29eebf38..2a3a5e5ba 100644 --- a/docs/kcl/patternCircular2d.md +++ b/docs/kcl/patternCircular2d.md @@ -9,7 +9,7 @@ Repeat a 2-dimensional sketch some number of times along a partial or complete circle some specified number of times. Each object may additionally be rotated along the circle, ensuring orentation of the solid with respect to the center of the circle is maintained. ```js -patternCircular2d(data: CircularPattern2dData, sketch_group_set: SketchGroupSet) -> [SketchGroup] +patternCircular2d(data: CircularPattern2dData, sketch_set: SketchSet) -> [Sketch] ``` @@ -18,11 +18,11 @@ patternCircular2d(data: CircularPattern2dData, sketch_group_set: SketchGroupSet) | Name | Type | Description | Required | |----------|------|-------------|----------| | `data` | [`CircularPattern2dData`](/docs/kcl/types/CircularPattern2dData) | Data for a circular pattern on a 2D sketch. | Yes | -| `sketch_group_set` | [`SketchGroupSet`](/docs/kcl/types/SketchGroupSet) | A sketch group or a group of sketch groups. | Yes | +| `sketch_set` | [`SketchSet`](/docs/kcl/types/SketchSet) | A sketch or a group of sketches. | Yes | ### Returns -[`[SketchGroup]`](/docs/kcl/types/[SketchGroup]) +[`[Sketch]`](/docs/kcl/types/[Sketch]) ### Examples diff --git a/docs/kcl/patternCircular3d.md b/docs/kcl/patternCircular3d.md index 68ad943e9..aa3175ae5 100644 --- a/docs/kcl/patternCircular3d.md +++ b/docs/kcl/patternCircular3d.md @@ -9,7 +9,7 @@ Repeat a 3-dimensional solid some number of times along a partial or complete circle some specified number of times. Each object may additionally be rotated along the circle, ensuring orentation of the solid with respect to the center of the circle is maintained. ```js -patternCircular3d(data: CircularPattern3dData, extrude_group_set: ExtrudeGroupSet) -> [ExtrudeGroup] +patternCircular3d(data: CircularPattern3dData, solid_set: SolidSet) -> [Solid] ``` @@ -18,11 +18,11 @@ patternCircular3d(data: CircularPattern3dData, extrude_group_set: ExtrudeGroupSe | Name | Type | Description | Required | |----------|------|-------------|----------| | `data` | [`CircularPattern3dData`](/docs/kcl/types/CircularPattern3dData) | Data for a circular pattern on a 3D model. | Yes | -| `extrude_group_set` | [`ExtrudeGroupSet`](/docs/kcl/types/ExtrudeGroupSet) | A extrude group or a group of extrude groups. | Yes | +| `solid_set` | [`SolidSet`](/docs/kcl/types/SolidSet) | A solid or a group of solids. | Yes | ### Returns -[`[ExtrudeGroup]`](/docs/kcl/types/[ExtrudeGroup]) +[`[Solid]`](/docs/kcl/types/[Solid]) ### Examples diff --git a/docs/kcl/patternLinear2d.md b/docs/kcl/patternLinear2d.md index 7769f78ec..7911c4591 100644 --- a/docs/kcl/patternLinear2d.md +++ b/docs/kcl/patternLinear2d.md @@ -9,7 +9,7 @@ Repeat a 2-dimensional sketch along some dimension, with a dynamic amount of distance between each repetition, some specified number of times. ```js -patternLinear2d(data: LinearPattern2dData, sketch_group_set: SketchGroupSet) -> [SketchGroup] +patternLinear2d(data: LinearPattern2dData, sketch_set: SketchSet) -> [Sketch] ``` @@ -18,11 +18,11 @@ patternLinear2d(data: LinearPattern2dData, sketch_group_set: SketchGroupSet) -> | Name | Type | Description | Required | |----------|------|-------------|----------| | `data` | [`LinearPattern2dData`](/docs/kcl/types/LinearPattern2dData) | Data for a linear pattern on a 2D sketch. | Yes | -| `sketch_group_set` | [`SketchGroupSet`](/docs/kcl/types/SketchGroupSet) | A sketch group or a group of sketch groups. | Yes | +| `sketch_set` | [`SketchSet`](/docs/kcl/types/SketchSet) | A sketch or a group of sketches. | Yes | ### Returns -[`[SketchGroup]`](/docs/kcl/types/[SketchGroup]) +[`[Sketch]`](/docs/kcl/types/[Sketch]) ### Examples diff --git a/docs/kcl/patternLinear3d.md b/docs/kcl/patternLinear3d.md index 586ae3222..19010da74 100644 --- a/docs/kcl/patternLinear3d.md +++ b/docs/kcl/patternLinear3d.md @@ -9,7 +9,7 @@ Repeat a 3-dimensional solid along a linear path, with a dynamic amount of distance between each repetition, some specified number of times. ```js -patternLinear3d(data: LinearPattern3dData, extrude_group_set: ExtrudeGroupSet) -> [ExtrudeGroup] +patternLinear3d(data: LinearPattern3dData, solid_set: SolidSet) -> [Solid] ``` @@ -18,11 +18,11 @@ patternLinear3d(data: LinearPattern3dData, extrude_group_set: ExtrudeGroupSet) - | Name | Type | Description | Required | |----------|------|-------------|----------| | `data` | [`LinearPattern3dData`](/docs/kcl/types/LinearPattern3dData) | Data for a linear pattern on a 3D model. | Yes | -| `extrude_group_set` | [`ExtrudeGroupSet`](/docs/kcl/types/ExtrudeGroupSet) | A extrude group or a group of extrude groups. | Yes | +| `solid_set` | [`SolidSet`](/docs/kcl/types/SolidSet) | A solid or a group of solids. | Yes | ### Returns -[`[ExtrudeGroup]`](/docs/kcl/types/[ExtrudeGroup]) +[`[Solid]`](/docs/kcl/types/[Solid]) ### Examples diff --git a/docs/kcl/patternTransform.md b/docs/kcl/patternTransform.md index 5a66bf435..883ab3572 100644 --- a/docs/kcl/patternTransform.md +++ b/docs/kcl/patternTransform.md @@ -11,7 +11,7 @@ The `patternTransform` call itself takes a number for how many total i The transform function takes a single parameter: an integer representing which number replication the transform is for. E.g. the first replica to be transformed will be passed the argument `1`. This simplifies your math: the transform function can rely on id `0` being the original instance passed into the `patternTransform`. See the examples. ```js -patternTransform(total_instances: u32, transform_function: FunctionParam, extrude_group_set: ExtrudeGroupSet) -> [ExtrudeGroup] +patternTransform(total_instances: u32, transform_function: FunctionParam, solid_set: SolidSet) -> [Solid] ``` @@ -21,11 +21,11 @@ patternTransform(total_instances: u32, transform_function: FunctionParam, extrud |----------|------|-------------|----------| | `total_instances` | `u32` | | Yes | | `transform_function` | `FunctionParam` | | Yes | -| `extrude_group_set` | [`ExtrudeGroupSet`](/docs/kcl/types/ExtrudeGroupSet) | A extrude group or a group of extrude groups. | Yes | +| `solid_set` | [`SolidSet`](/docs/kcl/types/SolidSet) | A solid or a group of solids. | Yes | ### Returns -[`[ExtrudeGroup]`](/docs/kcl/types/[ExtrudeGroup]) +[`[Solid]`](/docs/kcl/types/[Solid]) ### Examples diff --git a/docs/kcl/profileStart.md b/docs/kcl/profileStart.md index 707ae8397..6da2e340b 100644 --- a/docs/kcl/profileStart.md +++ b/docs/kcl/profileStart.md @@ -1,15 +1,15 @@ --- title: "profileStart" -excerpt: "Extract the provided 2-dimensional sketch group's profile's origin" +excerpt: "Extract the provided 2-dimensional sketch's profile's origin" layout: manual --- -Extract the provided 2-dimensional sketch group's profile's origin +Extract the provided 2-dimensional sketch's profile's origin value. ```js -profileStart(sketch_group: SketchGroup) -> [number] +profileStart(sketch: Sketch) -> [number] ``` @@ -17,7 +17,7 @@ profileStart(sketch_group: SketchGroup) -> [number] | Name | Type | Description | Required | |----------|------|-------------|----------| -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | ### Returns diff --git a/docs/kcl/profileStartX.md b/docs/kcl/profileStartX.md index 149deadbd..cc99399ef 100644 --- a/docs/kcl/profileStartX.md +++ b/docs/kcl/profileStartX.md @@ -1,15 +1,15 @@ --- title: "profileStartX" -excerpt: "Extract the provided 2-dimensional sketch group's profile's origin's 'x'" +excerpt: "Extract the provided 2-dimensional sketch's profile's origin's 'x'" layout: manual --- -Extract the provided 2-dimensional sketch group's profile's origin's 'x' +Extract the provided 2-dimensional sketch's profile's origin's 'x' value. ```js -profileStartX(sketch_group: SketchGroup) -> number +profileStartX(sketch: Sketch) -> number ``` @@ -17,7 +17,7 @@ profileStartX(sketch_group: SketchGroup) -> number | Name | Type | Description | Required | |----------|------|-------------|----------| -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | ### Returns diff --git a/docs/kcl/profileStartY.md b/docs/kcl/profileStartY.md index 7e1fc7123..176406a13 100644 --- a/docs/kcl/profileStartY.md +++ b/docs/kcl/profileStartY.md @@ -1,15 +1,15 @@ --- title: "profileStartY" -excerpt: "Extract the provided 2-dimensional sketch group's profile's origin's 'y'" +excerpt: "Extract the provided 2-dimensional sketch's profile's origin's 'y'" layout: manual --- -Extract the provided 2-dimensional sketch group's profile's origin's 'y' +Extract the provided 2-dimensional sketch's profile's origin's 'y' value. ```js -profileStartY(sketch_group: SketchGroup) -> number +profileStartY(sketch: Sketch) -> number ``` @@ -17,7 +17,7 @@ profileStartY(sketch_group: SketchGroup) -> number | Name | Type | Description | Required | |----------|------|-------------|----------| -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | ### Returns diff --git a/docs/kcl/revolve.md b/docs/kcl/revolve.md index 7f2f10d81..fd07f2b0f 100644 --- a/docs/kcl/revolve.md +++ b/docs/kcl/revolve.md @@ -10,7 +10,7 @@ This, like extrude, is able to create a 3-dimensional solid from a 2-dimensional Revolve occurs around a local sketch axis rather than a global axis. ```js -revolve(data: RevolveData, sketch_group: SketchGroup) -> ExtrudeGroup +revolve(data: RevolveData, sketch: Sketch) -> Solid ``` @@ -19,11 +19,11 @@ revolve(data: RevolveData, sketch_group: SketchGroup) -> ExtrudeGroup | Name | Type | Description | Required | |----------|------|-------------|----------| | `data` | [`RevolveData`](/docs/kcl/types/RevolveData) | Data for revolution surfaces. | Yes | -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | ### Returns -[`ExtrudeGroup`](/docs/kcl/types/ExtrudeGroup) - An extrude group is a collection of extrude surfaces. +[`Solid`](/docs/kcl/types/Solid) - An solid is a collection of extrude surfaces. ### Examples diff --git a/docs/kcl/shell.md b/docs/kcl/shell.md index ee0a0039c..c48f9ca01 100644 --- a/docs/kcl/shell.md +++ b/docs/kcl/shell.md @@ -9,7 +9,7 @@ Remove volume from a 3-dimensional shape such that a wall of the provided thickness remains, taking volume starting at the provided face, leaving it open in that direction. ```js -shell(data: ShellData, extrude_group_set: ExtrudeGroupSet) -> ExtrudeGroupSet +shell(data: ShellData, solid_set: SolidSet) -> SolidSet ``` @@ -18,11 +18,11 @@ shell(data: ShellData, extrude_group_set: ExtrudeGroupSet) -> ExtrudeGroupSet | Name | Type | Description | Required | |----------|------|-------------|----------| | `data` | [`ShellData`](/docs/kcl/types/ShellData) | Data for shells. | Yes | -| `extrude_group_set` | [`ExtrudeGroupSet`](/docs/kcl/types/ExtrudeGroupSet) | A extrude group or a group of extrude groups. | Yes | +| `solid_set` | [`SolidSet`](/docs/kcl/types/SolidSet) | A solid or a group of solids. | Yes | ### Returns -[`ExtrudeGroupSet`](/docs/kcl/types/ExtrudeGroupSet) - A extrude group or a group of extrude groups. +[`SolidSet`](/docs/kcl/types/SolidSet) - A solid or a group of solids. ### Examples diff --git a/docs/kcl/startProfileAt.md b/docs/kcl/startProfileAt.md index 62b8af48a..c07630d92 100644 --- a/docs/kcl/startProfileAt.md +++ b/docs/kcl/startProfileAt.md @@ -9,7 +9,7 @@ Start a new profile at a given point. ```js -startProfileAt(to: [number], sketch_surface: SketchSurface, tag?: TagDeclarator) -> SketchGroup +startProfileAt(to: [number], sketch_surface: SketchSurface, tag?: TagDeclarator) -> Sketch ``` @@ -18,12 +18,12 @@ startProfileAt(to: [number], sketch_surface: SketchSurface, tag?: TagDeclarator) | Name | Type | Description | Required | |----------|------|-------------|----------| | `to` | [`[number]`](/docs/kcl/types/[number]) | | Yes | -| `sketch_surface` | [`SketchSurface`](/docs/kcl/types/SketchSurface) | A sketch group type. | Yes | +| `sketch_surface` | [`SketchSurface`](/docs/kcl/types/SketchSurface) | A sketch type. | Yes | | `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No | ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples diff --git a/docs/kcl/startSketchAt.md b/docs/kcl/startSketchAt.md index 4a28e08da..b86eac024 100644 --- a/docs/kcl/startSketchAt.md +++ b/docs/kcl/startSketchAt.md @@ -9,7 +9,7 @@ Start a new 2-dimensional sketch at a given point on the 'XY' plane. ```js -startSketchAt(data: [number]) -> SketchGroup +startSketchAt(data: [number]) -> Sketch ``` @@ -21,7 +21,7 @@ startSketchAt(data: [number]) -> SketchGroup ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples diff --git a/docs/kcl/startSketchOn.md b/docs/kcl/startSketchOn.md index c45625a9d..b7cc05d24 100644 --- a/docs/kcl/startSketchOn.md +++ b/docs/kcl/startSketchOn.md @@ -17,12 +17,12 @@ startSketchOn(data: SketchData, tag?: FaceTag) -> SketchSurface | Name | Type | Description | Required | |----------|------|-------------|----------| -| `data` | [`SketchData`](/docs/kcl/types/SketchData) | Data for start sketch on. You can start a sketch on a plane or an extrude group. | Yes | +| `data` | [`SketchData`](/docs/kcl/types/SketchData) | Data for start sketch on. You can start a sketch on a plane or an solid. | Yes | | `tag` | [`FaceTag`](/docs/kcl/types/FaceTag) | A tag for a face. | No | ### Returns -[`SketchSurface`](/docs/kcl/types/SketchSurface) - A sketch group type. +[`SketchSurface`](/docs/kcl/types/SketchSurface) - A sketch type. ### Examples diff --git a/docs/kcl/std.json b/docs/kcl/std.json index 9b7359836..3c42908f3 100644 --- a/docs/kcl/std.json +++ b/docs/kcl/std.json @@ -109,7 +109,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -211,8 +211,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -542,10 +542,10 @@ "required": true }, { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -580,7 +580,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -754,8 +754,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -786,14 +786,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -822,7 +827,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -971,17 +976,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -1016,7 +1021,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -1118,7 +1123,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -1155,7 +1160,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -1257,8 +1262,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -1578,7 +1583,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -2677,11 +2682,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -2859,7 +2859,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -2896,7 +2896,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -2998,8 +2998,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -3319,7 +3319,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -4163,7 +4163,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -4265,8 +4265,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -4596,10 +4596,10 @@ "required": true }, { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -4634,7 +4634,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -4808,8 +4808,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -4840,14 +4840,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -4876,7 +4881,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -5025,17 +5030,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -5070,7 +5075,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -5172,7 +5177,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -5209,7 +5214,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -5311,8 +5316,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -5632,7 +5637,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -6731,11 +6736,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -6913,7 +6913,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -6950,7 +6950,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -7052,8 +7052,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -7373,7 +7373,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -8220,10 +8220,10 @@ "required": true }, { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -8258,7 +8258,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -8432,8 +8432,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -8464,14 +8464,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -8500,7 +8505,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -8649,17 +8654,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -8694,7 +8699,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -8796,7 +8801,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -8833,7 +8838,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -8935,8 +8940,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -9256,7 +9261,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -10355,11 +10360,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -10537,7 +10537,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -10574,7 +10574,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -10676,8 +10676,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -10997,7 +10997,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -11824,9 +11824,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -11861,7 +11861,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -12035,8 +12035,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -12067,14 +12067,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -12103,7 +12108,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -12252,17 +12257,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -12297,7 +12302,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -12399,7 +12404,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -12436,7 +12441,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -12538,8 +12543,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -12859,7 +12864,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -13958,11 +13963,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -14140,7 +14140,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -14177,7 +14177,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -14279,8 +14279,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -14600,7 +14600,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -15437,10 +15437,10 @@ "required": true }, { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -15475,7 +15475,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -15649,8 +15649,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -15681,14 +15681,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -15717,7 +15722,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -15866,17 +15871,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -15911,7 +15916,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -16013,7 +16018,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -16050,7 +16055,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -16152,8 +16157,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -16473,7 +16478,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -17572,11 +17577,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -17754,7 +17754,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -17791,7 +17791,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -17893,8 +17893,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -18214,7 +18214,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -19041,9 +19041,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -19078,7 +19078,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -19252,8 +19252,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -19284,14 +19284,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -19320,7 +19325,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -19469,17 +19474,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -19514,7 +19519,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -19616,7 +19621,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -19653,7 +19658,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -19755,8 +19760,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -20076,7 +20081,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -21175,11 +21180,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -21357,7 +21357,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -21394,7 +21394,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -21496,8 +21496,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -21817,7 +21817,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -22654,10 +22654,10 @@ "required": true }, { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -22692,7 +22692,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -22866,8 +22866,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -22898,14 +22898,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -22934,7 +22939,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -23083,17 +23088,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -23128,7 +23133,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -23230,7 +23235,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -23267,7 +23272,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -23369,8 +23374,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -23690,7 +23695,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -24789,11 +24794,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -24971,7 +24971,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -25008,7 +25008,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -25110,8 +25110,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -25431,7 +25431,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -26258,9 +26258,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -26295,7 +26295,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -26469,8 +26469,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -26501,14 +26501,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -26537,7 +26542,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -26686,17 +26691,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -26731,7 +26736,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -26833,7 +26838,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -26870,7 +26875,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -26972,8 +26977,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -27293,7 +27298,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -28392,11 +28397,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -28574,7 +28574,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -28611,7 +28611,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -28713,8 +28713,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -29034,7 +29034,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -29882,7 +29882,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -29984,8 +29984,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -30314,10 +30314,10 @@ "required": true }, { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -30352,7 +30352,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -30526,8 +30526,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -30558,14 +30558,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -30594,7 +30599,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -30743,17 +30748,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -30788,7 +30793,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -30890,7 +30895,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -30927,7 +30932,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -31029,8 +31034,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -31350,7 +31355,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -32449,11 +32454,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -32631,7 +32631,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -32668,7 +32668,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -32770,8 +32770,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -33091,7 +33091,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -33918,9 +33918,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -33955,7 +33955,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -34129,8 +34129,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -34161,14 +34161,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -34197,7 +34202,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -34346,17 +34351,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -34391,7 +34396,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -34493,7 +34498,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -34530,7 +34535,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -34632,8 +34637,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -34953,7 +34958,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -36052,11 +36057,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -36234,7 +36234,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -36271,7 +36271,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -36373,8 +36373,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -36694,7 +36694,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -37516,10 +37516,10 @@ "required": true }, { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -37554,7 +37554,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -37728,8 +37728,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -37760,14 +37760,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -37796,7 +37801,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -37945,17 +37950,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -37990,7 +37995,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -38092,7 +38097,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -38129,7 +38134,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -38231,8 +38236,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -38552,7 +38557,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -39651,11 +39656,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -39833,7 +39833,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -39870,7 +39870,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -39972,8 +39972,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -40293,7 +40293,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -41120,9 +41120,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -41157,7 +41157,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -41331,8 +41331,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -41363,14 +41363,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -41399,7 +41404,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -41548,17 +41553,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -41593,7 +41598,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -41695,7 +41700,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -41732,7 +41737,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -41834,8 +41839,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -42155,7 +42160,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -43254,11 +43259,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -43436,7 +43436,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -43473,7 +43473,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -43575,8 +43575,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -43896,7 +43896,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -44718,10 +44718,10 @@ "required": true }, { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -44756,7 +44756,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -44930,8 +44930,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -44962,14 +44962,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -44998,7 +45003,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -45147,17 +45152,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -45192,7 +45197,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -45294,7 +45299,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -45331,7 +45336,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -45433,8 +45438,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -45754,7 +45759,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -46853,11 +46858,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -47035,7 +47035,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -47072,7 +47072,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -47174,8 +47174,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -47495,7 +47495,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -48322,9 +48322,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -48359,7 +48359,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -48533,8 +48533,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -48565,14 +48565,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -48601,7 +48606,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -48750,17 +48755,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -48795,7 +48800,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -48897,7 +48902,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -48934,7 +48939,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -49036,8 +49041,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -49357,7 +49362,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -50456,11 +50461,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -50638,7 +50638,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -50675,7 +50675,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -50777,8 +50777,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -51098,7 +51098,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -51971,10 +51971,10 @@ "required": true }, { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -52009,7 +52009,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -52183,8 +52183,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -52215,14 +52215,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -52251,7 +52256,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -52400,17 +52405,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -52445,7 +52450,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -52547,7 +52552,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -52584,7 +52589,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -52686,8 +52691,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -53007,7 +53012,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -54106,11 +54111,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -54288,7 +54288,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -54325,7 +54325,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -54427,8 +54427,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -54748,7 +54748,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -55575,9 +55575,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -55612,7 +55612,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -55786,8 +55786,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -55818,14 +55818,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -55854,7 +55859,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -56003,17 +56008,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -56048,7 +56053,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -56150,7 +56155,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -56187,7 +56192,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -56289,8 +56294,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -56610,7 +56615,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -57709,11 +57714,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -57891,7 +57891,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -57928,7 +57928,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -58030,8 +58030,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -58351,7 +58351,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -59162,9 +59162,9 @@ }, { "name": "start", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -59199,7 +59199,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -59373,8 +59373,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -59405,14 +59405,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -59441,7 +59446,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -59590,17 +59595,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -59635,7 +59640,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -59737,7 +59742,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -59774,7 +59779,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -59876,8 +59881,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -60197,7 +60202,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -61296,11 +61301,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -61478,7 +61478,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -61515,7 +61515,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -61617,8 +61617,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -61938,7 +61938,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -62733,9 +62733,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -62770,7 +62770,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -62944,8 +62944,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -62976,14 +62976,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -63012,7 +63017,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -63161,17 +63166,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -63206,7 +63211,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -63308,7 +63313,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -63345,7 +63350,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -63447,8 +63452,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -63768,7 +63773,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -64867,11 +64872,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -65049,7 +65049,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -65086,7 +65086,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -65188,8 +65188,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -65509,7 +65509,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -66296,7 +66296,7 @@ "unpublished": false, "deprecated": false, "examples": [ - "fn decagon = (radius) => {\n let step = 1 / 10 * tau()\n let sketch = startSketchAt([cos(0) * radius, sin(0) * radius])\n return arrayReduce([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], sketch, (i, sg) => {\n let x = cos(step * i) * radius\n let y = sin(step * i) * radius\n return lineTo([x, y], sg)\n})\n}\ndecagon(5.0)\n |> close(%)" + "fn decagon = (radius) => {\n let step = 1 / 10 * tau()\n let sketch001 = startSketchAt([cos(0) * radius, sin(0) * radius])\n return arrayReduce([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], sketch001, (i, sg) => {\n let x = cos(step * i) * radius\n let y = sin(step * i) * radius\n return lineTo([x, y], sg)\n})\n}\ndecagon(5.0)\n |> close(%)" ] }, { @@ -66699,10 +66699,10 @@ "required": true }, { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -66737,7 +66737,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -66911,8 +66911,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -66943,14 +66943,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -66979,7 +66984,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -67128,17 +67133,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -67173,7 +67178,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -67275,7 +67280,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -67312,7 +67317,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -67414,8 +67419,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -67735,7 +67740,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -68834,11 +68839,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -69016,7 +69016,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -69053,7 +69053,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -69155,8 +69155,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -69476,7 +69476,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -70303,9 +70303,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -70340,7 +70340,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -70514,8 +70514,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -70546,14 +70546,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -70582,7 +70587,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -70731,17 +70736,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -70776,7 +70781,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -70878,7 +70883,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -70915,7 +70920,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -71017,8 +71022,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -71338,7 +71343,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -72437,11 +72442,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -72619,7 +72619,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -72656,7 +72656,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -72758,8 +72758,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -73079,7 +73079,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -73971,7 +73971,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -74073,8 +74073,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -74400,16 +74400,16 @@ "required": true }, { - "name": "extrude_group", - "type": "ExtrudeGroup", + "name": "solid", + "type": "Solid", "schema": { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -74438,7 +74438,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -74587,17 +74587,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -74632,7 +74632,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -74806,8 +74806,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -74838,14 +74838,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -74874,7 +74879,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -75023,18 +75028,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -75353,11 +75358,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -75535,7 +75535,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -75572,7 +75572,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -75674,8 +75674,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -75995,7 +75995,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -77139,15 +77139,15 @@ ], "returnValue": { "name": "", - "type": "ExtrudeGroup", + "type": "Solid", "schema": { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -77176,7 +77176,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -77325,17 +77325,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -77370,7 +77370,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -77544,8 +77544,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -77576,14 +77576,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -77612,7 +77617,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -77761,18 +77766,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -78091,11 +78096,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -78273,7 +78273,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -78310,7 +78310,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -78412,8 +78412,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -78733,7 +78733,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -79879,12 +79879,12 @@ }, { "name": "sketch_surface_or_group", - "type": "SketchSurfaceOrGroup", + "type": "SketchOrSurface", "schema": { - "description": "A sketch surface or a sketch group.", + "description": "A sketch surface or a sketch.", "anyOf": [ { - "description": "A sketch group type.", + "description": "A sketch type.", "oneOf": [ { "description": "A plane.", @@ -80053,8 +80053,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -80085,14 +80085,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -80121,7 +80126,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -80270,17 +80275,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -80315,7 +80320,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -80417,7 +80422,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -80454,7 +80459,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -80556,8 +80561,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -80877,7 +80882,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -81976,11 +81981,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -82065,7 +82065,7 @@ ] }, { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -82100,7 +82100,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -82274,8 +82274,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -82306,14 +82306,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -82342,7 +82347,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -82491,18 +82496,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -82821,11 +82826,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -83003,7 +83003,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -83040,7 +83040,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -83142,8 +83142,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -83463,7 +83463,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -84292,9 +84292,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -84329,7 +84329,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -84503,8 +84503,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -84535,14 +84535,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -84571,7 +84576,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -84720,17 +84725,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -84765,7 +84770,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -84867,7 +84872,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -84904,7 +84909,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -85006,8 +85011,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -85327,7 +85332,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -86426,11 +86431,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -86608,7 +86608,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -86645,7 +86645,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -86747,8 +86747,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -87068,7 +87068,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -87866,10 +87866,10 @@ "tags": [], "args": [ { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -87904,7 +87904,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -88078,8 +88078,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -88110,14 +88110,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -88146,7 +88151,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -88295,17 +88300,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -88340,7 +88345,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -88442,7 +88447,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -88479,7 +88484,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -88581,8 +88586,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -88902,7 +88907,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -90001,11 +90006,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -90183,7 +90183,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -90220,7 +90220,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -90322,8 +90322,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -90643,7 +90643,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -91470,9 +91470,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -91507,7 +91507,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -91681,8 +91681,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -91713,14 +91713,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -91749,7 +91754,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -91898,17 +91903,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -91943,7 +91948,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -92045,7 +92050,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -92082,7 +92087,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -92184,8 +92189,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -92505,7 +92510,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -93604,11 +93609,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -93786,7 +93786,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -93823,7 +93823,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -93925,8 +93925,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -94246,7 +94246,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -95132,13 +95132,13 @@ "required": true }, { - "name": "sketch_group_set", - "type": "SketchGroupSet", + "name": "sketch_set", + "type": "SketchSet", "schema": { - "description": "A sketch group or a group of sketch groups.", + "description": "A sketch or a group of sketches.", "oneOf": [ { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -95174,7 +95174,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -95348,8 +95348,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -95380,14 +95380,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -95416,7 +95421,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -95565,17 +95570,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -95610,7 +95615,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -95712,7 +95717,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -95749,7 +95754,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -95851,8 +95856,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -96172,7 +96177,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -97271,11 +97276,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -97453,7 +97453,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -97490,7 +97490,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -97592,8 +97592,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -97915,11 +97915,11 @@ "type": { "type": "string", "enum": [ - "sketchGroup" + "sketch" ] }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -98707,7 +98707,7 @@ "array" ], "items": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -98742,7 +98742,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -98916,8 +98916,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -98948,14 +98948,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -98984,7 +98989,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -99133,18 +99138,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -99463,11 +99468,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -99645,7 +99645,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -99682,7 +99682,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -99784,8 +99784,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -100105,7 +100105,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -100894,7 +100894,7 @@ "type": { "type": "string", "enum": [ - "sketchGroups" + "sketches" ] } } @@ -100906,18 +100906,18 @@ ], "returnValue": { "name": "", - "type": "ExtrudeGroupSet", + "type": "SolidSet", "schema": { - "description": "A extrude group or a group of extrude groups.", + "description": "A solid or a group of solids.", "oneOf": [ { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "type", "value" ], @@ -100947,7 +100947,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -101096,17 +101096,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -101141,7 +101141,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -101315,8 +101315,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -101347,14 +101347,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -101383,7 +101388,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -101532,18 +101537,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -101862,11 +101867,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -102044,7 +102044,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -102081,7 +102081,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -102183,8 +102183,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -102504,7 +102504,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -103295,7 +103295,7 @@ "type": { "type": "string", "enum": [ - "extrudeGroup" + "solid" ] }, "value": { @@ -103615,13 +103615,13 @@ "array" ], "items": { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -103650,7 +103650,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -103799,17 +103799,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -103844,7 +103844,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -104018,8 +104018,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -104050,15 +104050,15 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", - "$ref": "#/components/schemas/ExtrudeGroup" - }, "id": { "description": "The id of the face.", "type": "string", "format": "uuid" }, + "solid": { + "description": "The solid the face is on.", + "$ref": "#/components/schemas/Solid" + }, "type": { "type": "string", "enum": [ @@ -104236,7 +104236,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -104273,7 +104273,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -104375,8 +104375,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -104696,7 +104696,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -105802,7 +105802,7 @@ "type": { "type": "string", "enum": [ - "extrudeGroups" + "solids" ] } } @@ -105887,7 +105887,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -105989,8 +105989,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -106323,16 +106323,16 @@ "required": true }, { - "name": "extrude_group", - "type": "ExtrudeGroup", + "name": "solid", + "type": "Solid", "schema": { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -106361,7 +106361,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -106510,17 +106510,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -106555,7 +106555,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -106729,8 +106729,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -106761,14 +106761,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -106797,7 +106802,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -106946,18 +106951,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -107276,11 +107281,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -107458,7 +107458,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -107495,7 +107495,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -107597,8 +107597,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -107918,7 +107918,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -109062,15 +109062,15 @@ ], "returnValue": { "name": "", - "type": "ExtrudeGroup", + "type": "Solid", "schema": { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -109099,7 +109099,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -109248,17 +109248,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -109293,7 +109293,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -109467,8 +109467,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -109499,14 +109499,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -109535,7 +109540,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -109684,18 +109689,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -110014,11 +110019,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -110196,7 +110196,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -110233,7 +110233,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -110335,8 +110335,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -110656,7 +110656,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -111864,7 +111864,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -111966,8 +111966,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -112347,7 +112347,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -112449,8 +112449,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -112830,7 +112830,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -112932,8 +112932,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -113297,7 +113297,7 @@ "type": "boolean" }, "length": { - "description": "Length of the helix. If this argument is not provided, the height of the extrude group is used.", + "description": "Length of the helix. If this argument is not provided, the height of the solid is used.", "type": "number", "format": "double", "nullable": true @@ -113312,16 +113312,16 @@ "required": true }, { - "name": "extrude_group", - "type": "ExtrudeGroup", + "name": "solid", + "type": "Solid", "schema": { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -113350,7 +113350,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -113499,17 +113499,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -113544,7 +113544,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -113718,8 +113718,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -113750,14 +113750,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -113786,7 +113791,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -113935,18 +113940,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -114265,11 +114270,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -114447,7 +114447,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -114484,7 +114484,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -114586,8 +114586,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -114907,7 +114907,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -116011,15 +116011,15 @@ ], "returnValue": { "name": "", - "type": "ExtrudeGroup", + "type": "Solid", "schema": { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -116048,7 +116048,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -116197,17 +116197,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -116242,7 +116242,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -116416,8 +116416,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -116448,14 +116448,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -116484,7 +116489,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -116633,18 +116638,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -116963,11 +116968,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -117145,7 +117145,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -117182,7 +117182,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -117284,8 +117284,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -117605,7 +117605,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -118719,13 +118719,13 @@ "tags": [], "args": [ { - "name": "hole_sketch_group", - "type": "SketchGroupSet", + "name": "hole_sketch", + "type": "SketchSet", "schema": { - "description": "A sketch group or a group of sketch groups.", + "description": "A sketch or a group of sketches.", "oneOf": [ { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -118761,7 +118761,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -118935,8 +118935,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -118967,14 +118967,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -119003,7 +119008,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -119152,17 +119157,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -119197,7 +119202,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -119299,7 +119304,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -119336,7 +119341,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -119438,8 +119443,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -119759,7 +119764,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -120858,11 +120863,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -121040,7 +121040,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -121077,7 +121077,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -121179,8 +121179,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -121502,11 +121502,11 @@ "type": { "type": "string", "enum": [ - "sketchGroup" + "sketch" ] }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -122294,7 +122294,7 @@ "array" ], "items": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -122329,7 +122329,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -122503,8 +122503,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -122535,14 +122535,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -122571,7 +122576,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -122720,18 +122725,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -123050,11 +123055,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -123232,7 +123232,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -123269,7 +123269,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -123371,8 +123371,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -123692,7 +123692,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -124481,7 +124481,7 @@ "type": { "type": "string", "enum": [ - "sketchGroups" + "sketches" ] } } @@ -124491,10 +124491,10 @@ "required": true }, { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -124529,7 +124529,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -124703,8 +124703,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -124735,14 +124735,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -124771,7 +124776,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -124920,17 +124925,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -124965,7 +124970,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -125067,7 +125072,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -125104,7 +125109,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -125206,8 +125211,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -125527,7 +125532,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -126626,11 +126631,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -126808,7 +126808,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -126845,7 +126845,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -126947,8 +126947,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -127268,7 +127268,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -128055,9 +128055,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -128092,7 +128092,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -128266,8 +128266,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -128298,14 +128298,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -128334,7 +128339,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -128483,17 +128488,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -128528,7 +128533,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -128630,7 +128635,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -128667,7 +128672,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -128769,8 +128774,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -129090,7 +129095,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -130189,11 +130194,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -130371,7 +130371,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -130408,7 +130408,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -130510,8 +130510,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -130831,7 +130831,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -131638,16 +131638,16 @@ "required": true }, { - "name": "extrude_group", - "type": "ExtrudeGroup", + "name": "solid", + "type": "Solid", "schema": { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -131676,7 +131676,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -131825,17 +131825,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -131870,7 +131870,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -132044,8 +132044,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -132076,14 +132076,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -132112,7 +132117,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -132261,18 +132266,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -132591,11 +132596,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -132773,7 +132773,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -132810,7 +132810,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -132912,8 +132912,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -133233,7 +133233,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -134337,15 +134337,15 @@ ], "returnValue": { "name": "", - "type": "ExtrudeGroup", + "type": "Solid", "schema": { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -134374,7 +134374,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -134523,17 +134523,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -134568,7 +134568,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -134742,8 +134742,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -134774,14 +134774,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -134810,7 +134815,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -134959,18 +134964,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -135289,11 +135294,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -135471,7 +135471,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -135508,7 +135508,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -135610,8 +135610,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -135931,7 +135931,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -137760,10 +137760,10 @@ "tags": [], "args": [ { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -137798,7 +137798,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -137972,8 +137972,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -138004,14 +138004,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -138040,7 +138045,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -138189,17 +138194,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -138234,7 +138239,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -138336,7 +138341,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -138373,7 +138378,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -138475,8 +138480,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -138796,7 +138801,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -139895,11 +139900,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -140077,7 +140077,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -140114,7 +140114,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -140216,8 +140216,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -140537,7 +140537,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -141344,10 +141344,10 @@ "tags": [], "args": [ { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -141382,7 +141382,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -141556,8 +141556,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -141588,14 +141588,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -141624,7 +141629,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -141773,17 +141778,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -141818,7 +141823,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -141920,7 +141925,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -141957,7 +141962,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -142059,8 +142064,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -142380,7 +142385,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -143479,11 +143484,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -143661,7 +143661,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -143698,7 +143698,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -143800,8 +143800,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -144121,7 +144121,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -145068,10 +145068,10 @@ "required": true }, { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -145106,7 +145106,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -145280,8 +145280,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -145312,14 +145312,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -145348,7 +145353,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -145497,17 +145502,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -145542,7 +145547,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -145644,7 +145649,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -145681,7 +145686,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -145783,8 +145788,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -146104,7 +146109,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -147203,11 +147208,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -147385,7 +147385,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -147422,7 +147422,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -147524,8 +147524,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -147845,7 +147845,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -148672,9 +148672,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -148709,7 +148709,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -148883,8 +148883,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -148915,14 +148915,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -148951,7 +148956,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -149100,17 +149105,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -149145,7 +149150,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -149247,7 +149252,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -149284,7 +149289,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -149386,8 +149391,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -149707,7 +149712,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -150806,11 +150811,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -150988,7 +150988,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -151025,7 +151025,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -151127,8 +151127,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -151448,7 +151448,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -152260,10 +152260,10 @@ "required": true }, { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -152298,7 +152298,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -152472,8 +152472,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -152504,14 +152504,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -152540,7 +152545,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -152689,17 +152694,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -152734,7 +152739,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -152836,7 +152841,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -152873,7 +152878,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -152975,8 +152980,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -153296,7 +153301,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -154395,11 +154400,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -154577,7 +154577,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -154614,7 +154614,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -154716,8 +154716,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -155037,7 +155037,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -155864,9 +155864,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -155901,7 +155901,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -156075,8 +156075,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -156107,14 +156107,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -156143,7 +156148,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -156292,17 +156297,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -156337,7 +156342,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -156439,7 +156444,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -156476,7 +156481,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -156578,8 +156583,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -156899,7 +156904,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -157998,11 +158003,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -158180,7 +158180,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -158217,7 +158217,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -158319,8 +158319,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -158640,7 +158640,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -159470,12 +159470,12 @@ "tags": [], "args": [ { - "name": "sketch_groups", - "type": "[SketchGroup]", + "name": "sketches", + "type": "[Sketch]", "schema": { "type": "array", "items": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -159510,7 +159510,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -159684,8 +159684,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -159716,14 +159716,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -159752,7 +159757,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -159901,18 +159906,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -160231,11 +160236,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -160413,7 +160413,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -160450,7 +160450,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -160552,8 +160552,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -160873,7 +160873,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -161701,15 +161701,15 @@ ], "returnValue": { "name": "", - "type": "ExtrudeGroup", + "type": "Solid", "schema": { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -161738,7 +161738,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -161887,17 +161887,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -161932,7 +161932,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -162106,8 +162106,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -162138,14 +162138,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -162174,7 +162179,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -162323,18 +162328,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -162653,11 +162658,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -162835,7 +162835,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -162872,7 +162872,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -162974,8 +162974,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -163295,7 +163295,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -164741,7 +164741,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -164843,8 +164843,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -165171,13 +165171,13 @@ "required": true }, { - "name": "sketch_group_set", - "type": "SketchGroupSet", + "name": "sketch_set", + "type": "SketchSet", "schema": { - "description": "A sketch group or a group of sketch groups.", + "description": "A sketch or a group of sketches.", "oneOf": [ { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -165213,7 +165213,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -165387,8 +165387,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -165419,14 +165419,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -165455,7 +165460,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -165604,17 +165609,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -165649,7 +165654,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -165751,7 +165756,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -165788,7 +165793,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -165890,8 +165895,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -166211,7 +166216,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -167310,11 +167315,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -167492,7 +167492,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -167529,7 +167529,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -167631,8 +167631,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -167954,11 +167954,11 @@ "type": { "type": "string", "enum": [ - "sketchGroup" + "sketch" ] }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -168746,7 +168746,7 @@ "array" ], "items": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -168781,7 +168781,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -168955,8 +168955,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -168987,14 +168987,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -169023,7 +169028,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -169172,18 +169177,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -169502,11 +169507,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -169684,7 +169684,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -169721,7 +169721,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -169823,8 +169823,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -170144,7 +170144,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -170933,7 +170933,7 @@ "type": { "type": "string", "enum": [ - "sketchGroups" + "sketches" ] } } @@ -170945,11 +170945,11 @@ ], "returnValue": { "name": "", - "type": "[SketchGroup]", + "type": "[Sketch]", "schema": { "type": "array", "items": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -170984,7 +170984,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -171158,8 +171158,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -171190,14 +171190,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -171226,7 +171231,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -171375,18 +171380,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -171705,11 +171710,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -171887,7 +171887,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -171924,7 +171924,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -172026,8 +172026,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -172347,7 +172347,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -173455,13 +173455,13 @@ "required": true }, { - "name": "sketch_group_set", - "type": "SketchGroupSet", + "name": "sketch_set", + "type": "SketchSet", "schema": { - "description": "A sketch group or a group of sketch groups.", + "description": "A sketch or a group of sketches.", "oneOf": [ { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -173497,7 +173497,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -173671,8 +173671,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -173703,14 +173703,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -173739,7 +173744,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -173888,17 +173893,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -173933,7 +173938,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -174035,7 +174040,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -174072,7 +174077,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -174174,8 +174179,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -174495,7 +174500,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -175594,11 +175599,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -175776,7 +175776,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -175813,7 +175813,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -175915,8 +175915,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -176238,11 +176238,11 @@ "type": { "type": "string", "enum": [ - "sketchGroup" + "sketch" ] }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -177030,7 +177030,7 @@ "array" ], "items": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -177065,7 +177065,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -177239,8 +177239,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -177271,14 +177271,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -177307,7 +177312,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -177456,18 +177461,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -177786,11 +177791,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -177968,7 +177968,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -178005,7 +178005,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -178107,8 +178107,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -178428,7 +178428,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -179217,7 +179217,7 @@ "type": { "type": "string", "enum": [ - "sketchGroups" + "sketches" ] } } @@ -179229,11 +179229,11 @@ ], "returnValue": { "name": "", - "type": "[SketchGroup]", + "type": "[Sketch]", "schema": { "type": "array", "items": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -179268,7 +179268,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -179442,8 +179442,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -179474,14 +179474,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -179510,7 +179515,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -179659,18 +179664,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -179989,11 +179994,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -180171,7 +180171,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -180208,7 +180208,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -180310,8 +180310,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -180631,7 +180631,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -181482,19 +181482,19 @@ "required": true }, { - "name": "extrude_group_set", - "type": "ExtrudeGroupSet", + "name": "solid_set", + "type": "SolidSet", "schema": { - "description": "A extrude group or a group of extrude groups.", + "description": "A solid or a group of solids.", "oneOf": [ { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "type", "value" ], @@ -181524,7 +181524,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -181673,17 +181673,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -181718,7 +181718,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -181892,8 +181892,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -181924,14 +181924,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -181960,7 +181965,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -182109,18 +182114,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -182439,11 +182444,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -182621,7 +182621,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -182658,7 +182658,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -182760,8 +182760,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -183081,7 +183081,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -183872,7 +183872,7 @@ "type": { "type": "string", "enum": [ - "extrudeGroup" + "solid" ] }, "value": { @@ -184192,13 +184192,13 @@ "array" ], "items": { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -184227,7 +184227,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -184376,17 +184376,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -184421,7 +184421,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -184595,8 +184595,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -184627,15 +184627,15 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", - "$ref": "#/components/schemas/ExtrudeGroup" - }, "id": { "description": "The id of the face.", "type": "string", "format": "uuid" }, + "solid": { + "description": "The solid the face is on.", + "$ref": "#/components/schemas/Solid" + }, "type": { "type": "string", "enum": [ @@ -184813,7 +184813,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -184850,7 +184850,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -184952,8 +184952,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -185273,7 +185273,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -186379,7 +186379,7 @@ "type": { "type": "string", "enum": [ - "extrudeGroups" + "solids" ] } } @@ -186391,17 +186391,17 @@ ], "returnValue": { "name": "", - "type": "[ExtrudeGroup]", + "type": "[Solid]", "schema": { "type": "array", "items": { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -186430,7 +186430,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -186579,17 +186579,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -186624,7 +186624,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -186798,8 +186798,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -186830,15 +186830,15 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", - "$ref": "#/components/schemas/ExtrudeGroup" - }, "id": { "description": "The id of the face.", "type": "string", "format": "uuid" }, + "solid": { + "description": "The solid the face is on.", + "$ref": "#/components/schemas/Solid" + }, "type": { "type": "string", "enum": [ @@ -187016,7 +187016,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -187053,7 +187053,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -187155,8 +187155,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -187476,7 +187476,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -188628,13 +188628,13 @@ "required": true }, { - "name": "sketch_group_set", - "type": "SketchGroupSet", + "name": "sketch_set", + "type": "SketchSet", "schema": { - "description": "A sketch group or a group of sketch groups.", + "description": "A sketch or a group of sketches.", "oneOf": [ { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -188670,7 +188670,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -188844,8 +188844,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -188876,14 +188876,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -188912,7 +188917,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -189061,17 +189066,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -189106,7 +189111,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -189208,7 +189213,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -189245,7 +189250,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -189347,8 +189352,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -189668,7 +189673,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -190767,11 +190772,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -190949,7 +190949,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -190986,7 +190986,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -191088,8 +191088,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -191411,11 +191411,11 @@ "type": { "type": "string", "enum": [ - "sketchGroup" + "sketch" ] }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -192203,7 +192203,7 @@ "array" ], "items": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -192238,7 +192238,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -192412,8 +192412,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -192444,14 +192444,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -192480,7 +192485,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -192629,18 +192634,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -192959,11 +192964,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -193141,7 +193141,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -193178,7 +193178,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -193280,8 +193280,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -193601,7 +193601,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -194390,7 +194390,7 @@ "type": { "type": "string", "enum": [ - "sketchGroups" + "sketches" ] } } @@ -194402,11 +194402,11 @@ ], "returnValue": { "name": "", - "type": "[SketchGroup]", + "type": "[Sketch]", "schema": { "type": "array", "items": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -194441,7 +194441,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -194615,8 +194615,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -194647,14 +194647,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -194683,7 +194688,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -194832,18 +194837,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -195162,11 +195167,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -195344,7 +195344,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -195381,7 +195381,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -195483,8 +195483,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -195804,7 +195804,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -196639,19 +196639,19 @@ "required": true }, { - "name": "extrude_group_set", - "type": "ExtrudeGroupSet", + "name": "solid_set", + "type": "SolidSet", "schema": { - "description": "A extrude group or a group of extrude groups.", + "description": "A solid or a group of solids.", "oneOf": [ { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "type", "value" ], @@ -196681,7 +196681,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -196830,17 +196830,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -196875,7 +196875,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -197049,8 +197049,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -197081,14 +197081,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -197117,7 +197122,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -197266,18 +197271,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -197596,11 +197601,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -197778,7 +197778,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -197815,7 +197815,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -197917,8 +197917,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -198238,7 +198238,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -199029,7 +199029,7 @@ "type": { "type": "string", "enum": [ - "extrudeGroup" + "solid" ] }, "value": { @@ -199349,13 +199349,13 @@ "array" ], "items": { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -199384,7 +199384,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -199533,17 +199533,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -199578,7 +199578,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -199752,8 +199752,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -199784,15 +199784,15 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", - "$ref": "#/components/schemas/ExtrudeGroup" - }, "id": { "description": "The id of the face.", "type": "string", "format": "uuid" }, + "solid": { + "description": "The solid the face is on.", + "$ref": "#/components/schemas/Solid" + }, "type": { "type": "string", "enum": [ @@ -199970,7 +199970,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -200007,7 +200007,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -200109,8 +200109,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -200430,7 +200430,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -201536,7 +201536,7 @@ "type": { "type": "string", "enum": [ - "extrudeGroups" + "solids" ] } } @@ -201548,17 +201548,17 @@ ], "returnValue": { "name": "", - "type": "[ExtrudeGroup]", + "type": "[Solid]", "schema": { "type": "array", "items": { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -201587,7 +201587,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -201736,17 +201736,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -201781,7 +201781,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -201955,8 +201955,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -201987,15 +201987,15 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", - "$ref": "#/components/schemas/ExtrudeGroup" - }, "id": { "description": "The id of the face.", "type": "string", "format": "uuid" }, + "solid": { + "description": "The solid the face is on.", + "$ref": "#/components/schemas/Solid" + }, "type": { "type": "string", "enum": [ @@ -202173,7 +202173,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -202210,7 +202210,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -202312,8 +202312,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -202633,7 +202633,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -203766,19 +203766,19 @@ "required": true }, { - "name": "extrude_group_set", - "type": "ExtrudeGroupSet", + "name": "solid_set", + "type": "SolidSet", "schema": { - "description": "A extrude group or a group of extrude groups.", + "description": "A solid or a group of solids.", "oneOf": [ { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "type", "value" ], @@ -203808,7 +203808,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -203957,17 +203957,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -204002,7 +204002,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -204176,8 +204176,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -204208,14 +204208,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -204244,7 +204249,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -204393,18 +204398,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -204723,11 +204728,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -204905,7 +204905,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -204942,7 +204942,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -205044,8 +205044,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -205365,7 +205365,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -206156,7 +206156,7 @@ "type": { "type": "string", "enum": [ - "extrudeGroup" + "solid" ] }, "value": { @@ -206476,13 +206476,13 @@ "array" ], "items": { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -206511,7 +206511,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -206660,17 +206660,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -206705,7 +206705,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -206879,8 +206879,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -206911,15 +206911,15 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", - "$ref": "#/components/schemas/ExtrudeGroup" - }, "id": { "description": "The id of the face.", "type": "string", "format": "uuid" }, + "solid": { + "description": "The solid the face is on.", + "$ref": "#/components/schemas/Solid" + }, "type": { "type": "string", "enum": [ @@ -207097,7 +207097,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -207134,7 +207134,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -207236,8 +207236,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -207557,7 +207557,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -208663,7 +208663,7 @@ "type": { "type": "string", "enum": [ - "extrudeGroups" + "solids" ] } } @@ -208675,17 +208675,17 @@ ], "returnValue": { "name": "", - "type": "[ExtrudeGroup]", + "type": "[Solid]", "schema": { "type": "array", "items": { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -208714,7 +208714,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -208863,17 +208863,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -208908,7 +208908,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -209082,8 +209082,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -209114,15 +209114,15 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", - "$ref": "#/components/schemas/ExtrudeGroup" - }, "id": { "description": "The id of the face.", "type": "string", "format": "uuid" }, + "solid": { + "description": "The solid the face is on.", + "$ref": "#/components/schemas/Solid" + }, "type": { "type": "string", "enum": [ @@ -209300,7 +209300,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -209337,7 +209337,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -209439,8 +209439,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -209760,7 +209760,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -210991,15 +210991,15 @@ }, { "name": "profileStart", - "summary": "Extract the provided 2-dimensional sketch group's profile's origin", + "summary": "Extract the provided 2-dimensional sketch's profile's origin", "description": "value.", "tags": [], "args": [ { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -211034,7 +211034,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -211208,8 +211208,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -211240,14 +211240,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -211276,7 +211281,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -211425,17 +211430,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -211470,7 +211475,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -211572,7 +211577,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -211609,7 +211614,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -211711,8 +211716,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -212032,7 +212037,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -213131,11 +213136,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -213313,7 +213313,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -213350,7 +213350,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -213452,8 +213452,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -213773,7 +213773,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -214580,15 +214580,15 @@ }, { "name": "profileStartX", - "summary": "Extract the provided 2-dimensional sketch group's profile's origin's 'x'", + "summary": "Extract the provided 2-dimensional sketch's profile's origin's 'x'", "description": "value.", "tags": [], "args": [ { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -214623,7 +214623,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -214797,8 +214797,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -214829,14 +214829,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -214865,7 +214870,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -215014,17 +215019,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -215059,7 +215064,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -215161,7 +215166,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -215198,7 +215203,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -215300,8 +215305,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -215621,7 +215626,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -216720,11 +216725,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -216902,7 +216902,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -216939,7 +216939,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -217041,8 +217041,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -217362,7 +217362,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -218164,15 +218164,15 @@ }, { "name": "profileStartY", - "summary": "Extract the provided 2-dimensional sketch group's profile's origin's 'y'", + "summary": "Extract the provided 2-dimensional sketch's profile's origin's 'y'", "description": "value.", "tags": [], "args": [ { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -218207,7 +218207,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -218381,8 +218381,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -218413,14 +218413,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -218449,7 +218454,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -218598,17 +218603,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -218643,7 +218648,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -218745,7 +218750,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -218782,7 +218787,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -218884,8 +218889,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -219205,7 +219210,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -220304,11 +220309,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -220486,7 +220486,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -220523,7 +220523,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -220625,8 +220625,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -220946,7 +220946,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -221931,7 +221931,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -222033,8 +222033,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -222368,10 +222368,10 @@ "required": true }, { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -222406,7 +222406,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -222580,8 +222580,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -222612,14 +222612,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -222648,7 +222653,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -222797,17 +222802,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -222842,7 +222847,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -222944,7 +222949,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -222981,7 +222986,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -223083,8 +223088,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -223404,7 +223409,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -224503,11 +224508,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -224685,7 +224685,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -224722,7 +224722,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -224824,8 +224824,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -225145,7 +225145,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -225932,15 +225932,15 @@ ], "returnValue": { "name": "", - "type": "ExtrudeGroup", + "type": "Solid", "schema": { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -225969,7 +225969,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -226118,17 +226118,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -226163,7 +226163,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -226337,8 +226337,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -226369,14 +226369,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -226405,7 +226410,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -226554,18 +226559,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -226884,11 +226889,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -227066,7 +227066,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -227103,7 +227103,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -227205,8 +227205,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -227526,7 +227526,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -228684,7 +228684,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -228786,8 +228786,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -229167,7 +229167,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -229269,8 +229269,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -229650,7 +229650,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -229752,8 +229752,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -230133,7 +230133,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -230235,8 +230235,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -230649,7 +230649,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -230751,8 +230751,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -231083,19 +231083,19 @@ "required": true }, { - "name": "extrude_group_set", - "type": "ExtrudeGroupSet", + "name": "solid_set", + "type": "SolidSet", "schema": { - "description": "A extrude group or a group of extrude groups.", + "description": "A solid or a group of solids.", "oneOf": [ { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "type", "value" ], @@ -231125,7 +231125,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -231274,17 +231274,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -231319,7 +231319,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -231493,8 +231493,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -231525,14 +231525,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -231561,7 +231566,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -231710,18 +231715,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -232040,11 +232045,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -232222,7 +232222,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -232259,7 +232259,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -232361,8 +232361,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -232682,7 +232682,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -233473,7 +233473,7 @@ "type": { "type": "string", "enum": [ - "extrudeGroup" + "solid" ] }, "value": { @@ -233793,13 +233793,13 @@ "array" ], "items": { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -233828,7 +233828,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -233977,17 +233977,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -234022,7 +234022,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -234196,8 +234196,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -234228,15 +234228,15 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", - "$ref": "#/components/schemas/ExtrudeGroup" - }, "id": { "description": "The id of the face.", "type": "string", "format": "uuid" }, + "solid": { + "description": "The solid the face is on.", + "$ref": "#/components/schemas/Solid" + }, "type": { "type": "string", "enum": [ @@ -234414,7 +234414,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -234451,7 +234451,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -234553,8 +234553,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -234874,7 +234874,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -235980,7 +235980,7 @@ "type": { "type": "string", "enum": [ - "extrudeGroups" + "solids" ] } } @@ -235992,18 +235992,18 @@ ], "returnValue": { "name": "", - "type": "ExtrudeGroupSet", + "type": "SolidSet", "schema": { - "description": "A extrude group or a group of extrude groups.", + "description": "A solid or a group of solids.", "oneOf": [ { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "type", "value" ], @@ -236033,7 +236033,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -236182,17 +236182,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -236227,7 +236227,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -236401,8 +236401,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -236433,14 +236433,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -236469,7 +236474,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -236618,18 +236623,18 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", - "$ref": "#/components/schemas/SketchGroup" + "sketch": { + "description": "The sketch.", + "$ref": "#/components/schemas/Sketch" }, "startCapId": { "description": "The id of the extrusion start cap", @@ -236948,11 +236953,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -237130,7 +237130,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -237167,7 +237167,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -237269,8 +237269,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -237590,7 +237590,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -238381,7 +238381,7 @@ "type": { "type": "string", "enum": [ - "extrudeGroup" + "solid" ] }, "value": { @@ -238701,13 +238701,13 @@ "array" ], "items": { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -238736,7 +238736,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -238885,17 +238885,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -238930,7 +238930,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -239104,8 +239104,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -239136,15 +239136,15 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", - "$ref": "#/components/schemas/ExtrudeGroup" - }, "id": { "description": "The id of the face.", "type": "string", "format": "uuid" }, + "solid": { + "description": "The solid the face is on.", + "$ref": "#/components/schemas/Solid" + }, "type": { "type": "string", "enum": [ @@ -239322,7 +239322,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -239359,7 +239359,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -239461,8 +239461,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -239782,7 +239782,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -240888,7 +240888,7 @@ "type": { "type": "string", "enum": [ - "extrudeGroups" + "solids" ] } } @@ -240999,7 +240999,7 @@ "name": "sketch_surface", "type": "SketchSurface", "schema": { - "description": "A sketch group type.", + "description": "A sketch type.", "oneOf": [ { "description": "A plane.", @@ -241168,8 +241168,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -241200,14 +241200,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -241236,7 +241241,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -241385,17 +241390,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -241430,7 +241435,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -241604,8 +241609,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -241636,15 +241641,15 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", - "$ref": "#/components/schemas/ExtrudeGroup" - }, "id": { "description": "The id of the face.", "type": "string", "format": "uuid" }, + "solid": { + "description": "The solid the face is on.", + "$ref": "#/components/schemas/Solid" + }, "type": { "type": "string", "enum": [ @@ -241822,7 +241827,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -241859,7 +241864,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -241961,8 +241966,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -242282,7 +242287,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -243381,11 +243386,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -243514,9 +243514,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -243551,7 +243551,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -243725,8 +243725,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -243757,14 +243757,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -243793,7 +243798,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -243942,17 +243947,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -243987,7 +243992,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -244089,7 +244094,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -244126,7 +244131,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -244228,8 +244233,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -244549,7 +244554,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -245648,11 +245653,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -245830,7 +245830,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -245867,7 +245867,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -245969,8 +245969,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -246290,7 +246290,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -247105,9 +247105,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -247142,7 +247142,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -247316,8 +247316,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -247348,14 +247348,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -247384,7 +247389,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -247533,17 +247538,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -247578,7 +247583,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -247680,7 +247685,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -247717,7 +247722,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -247819,8 +247824,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -248140,7 +248145,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -249239,11 +249244,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -249421,7 +249421,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -249458,7 +249458,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -249560,8 +249560,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -249881,7 +249881,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -250683,7 +250683,7 @@ "name": "data", "type": "SketchData", "schema": { - "description": "Data for start sketch on. You can start a sketch on a plane or an extrude group.", + "description": "Data for start sketch on. You can start a sketch on a plane or an solid.", "anyOf": [ { "description": "Data for a plane.", @@ -250846,13 +250846,13 @@ ] }, { - "description": "An extrude group is a collection of extrude surfaces.", + "description": "An solid is a collection of extrude surfaces.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -250881,7 +250881,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -251030,17 +251030,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -251075,7 +251075,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -251249,8 +251249,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -251281,15 +251281,15 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", - "$ref": "#/components/schemas/ExtrudeGroup" - }, "id": { "description": "The id of the face.", "type": "string", "format": "uuid" }, + "solid": { + "description": "The solid the face is on.", + "$ref": "#/components/schemas/Solid" + }, "type": { "type": "string", "enum": [ @@ -251467,7 +251467,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -251504,7 +251504,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -251606,8 +251606,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -251927,7 +251927,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -253090,7 +253090,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -253192,8 +253192,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -253521,7 +253521,7 @@ "name": "", "type": "SketchSurface", "schema": { - "description": "A sketch group type.", + "description": "A sketch type.", "oneOf": [ { "description": "A plane.", @@ -253690,8 +253690,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -253722,14 +253722,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -253758,7 +253763,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -253907,17 +253912,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -253952,7 +253957,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -254126,8 +254131,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -254158,15 +254163,15 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", - "$ref": "#/components/schemas/ExtrudeGroup" - }, "id": { "description": "The id of the face.", "type": "string", "format": "uuid" }, + "solid": { + "description": "The solid the face is on.", + "$ref": "#/components/schemas/Solid" + }, "type": { "type": "string", "enum": [ @@ -254344,7 +254349,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -254381,7 +254386,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -254483,8 +254488,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -254804,7 +254809,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -255903,11 +255908,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -256071,10 +256071,10 @@ "required": true }, { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -256109,7 +256109,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -256283,8 +256283,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -256315,14 +256315,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -256351,7 +256356,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -256500,17 +256505,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -256545,7 +256550,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -256647,7 +256652,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -256684,7 +256689,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -256786,8 +256791,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -257107,7 +257112,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -258206,11 +258211,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -258388,7 +258388,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -258425,7 +258425,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -258527,8 +258527,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -258848,7 +258848,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -259675,9 +259675,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -259712,7 +259712,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -259886,8 +259886,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -259918,14 +259918,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -259954,7 +259959,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -260103,17 +260108,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -260148,7 +260153,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -260250,7 +260255,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -260287,7 +260292,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -260389,8 +260394,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -260710,7 +260715,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -261809,11 +261814,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -261991,7 +261991,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -262028,7 +262028,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -262130,8 +262130,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -262451,7 +262451,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -263262,10 +263262,10 @@ "required": true }, { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -263300,7 +263300,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -263474,8 +263474,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -263506,14 +263506,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -263542,7 +263547,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -263691,17 +263696,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -263736,7 +263741,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -263838,7 +263843,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -263875,7 +263880,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -263977,8 +263982,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -264298,7 +264303,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -265397,11 +265402,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -265579,7 +265579,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -265616,7 +265616,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -265718,8 +265718,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -266039,7 +266039,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -266866,9 +266866,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -266903,7 +266903,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -267077,8 +267077,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -267109,14 +267109,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -267145,7 +267150,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -267294,17 +267299,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -267339,7 +267344,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -267441,7 +267446,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -267478,7 +267483,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -267580,8 +267585,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -267901,7 +267906,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -269000,11 +269005,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -269182,7 +269182,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -269219,7 +269219,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -269321,8 +269321,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -269642,7 +269642,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -270453,10 +270453,10 @@ "required": true }, { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -270491,7 +270491,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -270665,8 +270665,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -270697,14 +270697,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -270733,7 +270738,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -270882,17 +270887,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -270927,7 +270932,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -271029,7 +271034,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -271066,7 +271071,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -271168,8 +271173,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -271489,7 +271494,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -272588,11 +272593,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -272770,7 +272770,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -272807,7 +272807,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -272909,8 +272909,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -273230,7 +273230,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -274057,9 +274057,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -274094,7 +274094,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -274268,8 +274268,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -274300,14 +274300,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -274336,7 +274341,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -274485,17 +274490,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -274530,7 +274535,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -274632,7 +274637,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -274669,7 +274674,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -274771,8 +274776,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -275092,7 +275097,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -276191,11 +276196,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -276373,7 +276373,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -276410,7 +276410,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -276512,8 +276512,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -276833,7 +276833,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -277728,10 +277728,10 @@ "required": true }, { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -277766,7 +277766,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -277940,8 +277940,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -277972,14 +277972,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -278008,7 +278013,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -278157,17 +278162,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -278202,7 +278207,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -278304,7 +278309,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -278341,7 +278346,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -278443,8 +278448,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -278764,7 +278769,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -279863,11 +279868,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -280045,7 +280045,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -280082,7 +280082,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -280184,8 +280184,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -280505,7 +280505,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -281332,9 +281332,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -281369,7 +281369,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -281543,8 +281543,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -281575,14 +281575,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -281611,7 +281616,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -281760,17 +281765,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -281805,7 +281810,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -281907,7 +281912,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -281944,7 +281949,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -282046,8 +282051,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -282367,7 +282372,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -283466,11 +283471,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -283648,7 +283648,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -283685,7 +283685,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -283787,8 +283787,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -284108,7 +284108,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -284914,10 +284914,10 @@ "required": true }, { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -284952,7 +284952,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -285126,8 +285126,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -285158,14 +285158,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -285194,7 +285199,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -285343,17 +285348,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -285388,7 +285393,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -285490,7 +285495,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -285527,7 +285532,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -285629,8 +285634,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -285950,7 +285955,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -287049,11 +287054,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -287231,7 +287231,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -287268,7 +287268,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -287370,8 +287370,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -287691,7 +287691,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -288518,9 +288518,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -288555,7 +288555,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -288729,8 +288729,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -288761,14 +288761,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -288797,7 +288802,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -288946,17 +288951,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -288991,7 +288996,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -289093,7 +289098,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -289130,7 +289135,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -289232,8 +289237,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -289553,7 +289558,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -290652,11 +290657,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -290834,7 +290834,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -290871,7 +290871,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -290973,8 +290973,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -291294,7 +291294,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -292100,10 +292100,10 @@ "required": true }, { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -292138,7 +292138,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -292312,8 +292312,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -292344,14 +292344,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -292380,7 +292385,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -292529,17 +292534,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -292574,7 +292579,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -292676,7 +292681,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -292713,7 +292718,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -292815,8 +292820,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -293136,7 +293141,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -294235,11 +294240,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -294417,7 +294417,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -294454,7 +294454,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -294556,8 +294556,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -294877,7 +294877,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -295704,9 +295704,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -295741,7 +295741,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -295915,8 +295915,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -295947,14 +295947,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -295983,7 +295988,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -296132,17 +296137,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -296177,7 +296182,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -296279,7 +296284,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -296316,7 +296321,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -296418,8 +296423,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -296739,7 +296744,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -297838,11 +297843,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -298020,7 +298020,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -298057,7 +298057,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -298159,8 +298159,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -298480,7 +298480,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -299286,10 +299286,10 @@ "required": true }, { - "name": "sketch_group", - "type": "SketchGroup", + "name": "sketch", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -299324,7 +299324,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -299498,8 +299498,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -299530,14 +299530,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -299566,7 +299571,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -299715,17 +299720,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -299760,7 +299765,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -299862,7 +299867,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -299899,7 +299904,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -300001,8 +300006,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -300322,7 +300327,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -301421,11 +301426,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -301603,7 +301603,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -301640,7 +301640,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -301742,8 +301742,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -302063,7 +302063,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -302890,9 +302890,9 @@ ], "returnValue": { "name": "", - "type": "SketchGroup", + "type": "Sketch", "schema": { - "description": "A sketch group is a collection of paths.", + "description": "A sketch is a collection of paths.", "type": "object", "required": [ "__meta", @@ -302927,7 +302927,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -303101,8 +303101,8 @@ "type": "object", "required": [ "__meta", - "extrudeGroup", "id", + "solid", "type", "value", "xAxis", @@ -303133,14 +303133,19 @@ } } }, - "extrudeGroup": { - "description": "The extrude group the face is on.", + "id": { + "description": "The id of the face.", + "type": "string", + "format": "uuid" + }, + "solid": { + "description": "The solid the face is on.", "type": "object", "required": [ "__meta", "height", "id", - "sketchGroup", + "sketch", "value" ], "properties": { @@ -303169,7 +303174,7 @@ } }, "edgeCuts": { - "description": "Chamfers or fillets on this extrude group.", + "description": "Chamfers or fillets on this solid.", "type": "array", "items": { "description": "A fillet or a chamfer.", @@ -303318,17 +303323,17 @@ "nullable": true }, "height": { - "description": "The height of the extrude group.", + "description": "The height of the solid.", "type": "number", "format": "double" }, "id": { - "description": "The id of the extrude group.", + "description": "The id of the solid.", "type": "string", "format": "uuid" }, - "sketchGroup": { - "description": "The sketch group.", + "sketch": { + "description": "The sketch.", "type": "object", "required": [ "__meta", @@ -303363,7 +303368,7 @@ } }, "id": { - "description": "The id of the sketch group (this will change when the engine's reference to it changes.", + "description": "The id of the sketch (this will change when the engine's reference to it changes.", "type": "string", "format": "uuid" }, @@ -303465,7 +303470,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -303502,7 +303507,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -303604,8 +303609,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -303925,7 +303930,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", @@ -305024,11 +305029,6 @@ } } }, - "id": { - "description": "The id of the face.", - "type": "string", - "format": "uuid" - }, "type": { "type": "string", "enum": [ @@ -305206,7 +305206,7 @@ } }, "tags": { - "description": "Tag identifiers that have been declared in this sketch group.", + "description": "Tag identifiers that have been declared in this sketch.", "type": "object", "additionalProperties": { "type": "object", @@ -305243,7 +305243,7 @@ "type": "object", "required": [ "id", - "sketchGroup" + "sketch" ], "properties": { "id": { @@ -305345,8 +305345,8 @@ }, "nullable": true }, - "sketchGroup": { - "description": "The sketch group the tag is on.", + "sketch": { + "description": "The sketch the tag is on.", "type": "string", "format": "uuid" }, @@ -305666,7 +305666,7 @@ } }, "value": { - "description": "The paths in the sketch group.", + "description": "The paths in the sketch.", "type": "array", "items": { "description": "A path.", diff --git a/docs/kcl/tangentialArc.md b/docs/kcl/tangentialArc.md index c3a64434c..cc62a13df 100644 --- a/docs/kcl/tangentialArc.md +++ b/docs/kcl/tangentialArc.md @@ -10,7 +10,7 @@ some part of an imaginary circle of the specified radius. The arc is constructed such that the last line segment is placed tangent to the imaginary circle of the specified radius. The resulting arc is the segment of the imaginary circle from that tangent point for 'offset' degrees along the imaginary circle. ```js -tangentialArc(data: TangentialArcData, sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGroup +tangentialArc(data: TangentialArcData, sketch: Sketch, tag?: TagDeclarator) -> Sketch ``` @@ -19,12 +19,12 @@ tangentialArc(data: TangentialArcData, sketch_group: SketchGroup, tag?: TagDecla | Name | Type | Description | Required | |----------|------|-------------|----------| | `data` | [`TangentialArcData`](/docs/kcl/types/TangentialArcData) | Data to draw a tangential arc. | Yes | -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | | `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No | ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples diff --git a/docs/kcl/tangentialArcTo.md b/docs/kcl/tangentialArcTo.md index 18ced4c67..ed7748c66 100644 --- a/docs/kcl/tangentialArcTo.md +++ b/docs/kcl/tangentialArcTo.md @@ -9,7 +9,7 @@ Starting at the current sketch's origin, draw a curved line segment along some part of an imaginary circle until it reaches the desired (x, y) coordinates. ```js -tangentialArcTo(to: [number], sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGroup +tangentialArcTo(to: [number], sketch: Sketch, tag?: TagDeclarator) -> Sketch ``` @@ -18,12 +18,12 @@ tangentialArcTo(to: [number], sketch_group: SketchGroup, tag?: TagDeclarator) -> | Name | Type | Description | Required | |----------|------|-------------|----------| | `to` | [`[number]`](/docs/kcl/types/[number]) | | Yes | -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | | `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No | ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples diff --git a/docs/kcl/tangentialArcToRelative.md b/docs/kcl/tangentialArcToRelative.md index 23e129072..d634e6694 100644 --- a/docs/kcl/tangentialArcToRelative.md +++ b/docs/kcl/tangentialArcToRelative.md @@ -9,7 +9,7 @@ Starting at the current sketch's origin, draw a curved line segment along some part of an imaginary circle until it reaches a point the given (x, y) distance away. ```js -tangentialArcToRelative(delta: [number], sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGroup +tangentialArcToRelative(delta: [number], sketch: Sketch, tag?: TagDeclarator) -> Sketch ``` @@ -18,12 +18,12 @@ tangentialArcToRelative(delta: [number], sketch_group: SketchGroup, tag?: TagDec | Name | Type | Description | Required | |----------|------|-------------|----------| | `delta` | [`[number]`](/docs/kcl/types/[number]) | | Yes | -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | | `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No | ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples diff --git a/docs/kcl/types/ExtrudeGroup.md b/docs/kcl/types/ExtrudeGroup.md deleted file mode 100644 index 67aa2b20e..000000000 --- a/docs/kcl/types/ExtrudeGroup.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: "ExtrudeGroup" -excerpt: "An extrude group is a collection of extrude surfaces." -layout: manual ---- - -An extrude group is a collection of extrude surfaces. - - -**Type:** `object` - - - - -## Properties - -| Property | Type | Description | Required | -|----------|------|-------------|----------| -| `__meta` |`array`| Metadata. | No | -| `edgeCuts` |`array`| Chamfers or fillets on this extrude group. | No | -| `endCapId` |`string` (`uuid`)| The id of the extrusion end cap | No | -| `height` |`number` (`double`)| The height of the extrude group. | No | -| `id` |`string` (`uuid`)| The id of the extrude group. | No | -| `sketchGroup` |`object`| The sketch group. | No | -| `startCapId` |`string` (`uuid`)| The id of the extrusion start cap | No | -| `value` |`array`| The extrude surfaces. | No | - - diff --git a/docs/kcl/types/HelixData.md b/docs/kcl/types/HelixData.md index 7e7b1990a..7bd3c1cf9 100644 --- a/docs/kcl/types/HelixData.md +++ b/docs/kcl/types/HelixData.md @@ -18,7 +18,7 @@ Data for helices. |----------|------|-------------|----------| | `angleStart` |`number` (`double`)| Start angle (in degrees). | No | | `ccw` |`boolean`| Is the helix rotation counter clockwise? The default is `false`. | No | -| `length` |`number` (`double`)| Length of the helix. If this argument is not provided, the height of the extrude group is used. | No | +| `length` |`number` (`double`)| Length of the helix. If this argument is not provided, the height of the solid is used. | No | | `revolutions` |`number` (`double`)| Number of revolutions. | No | diff --git a/docs/kcl/types/ImportFormat.md b/docs/kcl/types/ImportFormat.md index 1acb1e630..6eddf89b0 100644 --- a/docs/kcl/types/ImportFormat.md +++ b/docs/kcl/types/ImportFormat.md @@ -23,8 +23,7 @@ Autodesk Filmbox (FBX) format | Property | Type | Description | Required | |----------|------|-------------|----------| -| `type` |enum: `fbx` -| | No | +| `type` |enum: `fbx`| | No | ---- @@ -40,8 +39,7 @@ Binary glTF 2.0. We refer to this as glTF since that is how our customers refer | Property | Type | Description | Required | |----------|------|-------------|----------| -| `type` |enum: `gltf` -| | No | +| `type` |enum: `gltf`| | No | ---- @@ -58,10 +56,8 @@ Wavefront OBJ format. | Property | Type | Description | Required | |----------|------|-------------|----------| | `coords` |`object`| Co-ordinate system of input data. Defaults to the [KittyCAD co-ordinate system. | No | -| `type` |enum: `obj` -| | No | -| `units` |`oneOf` -| 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 | +| `type` |enum: `obj`| | No | +| `units` |`oneOf`| 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 | ---- @@ -78,10 +74,8 @@ The PLY Polygon File Format. | Property | Type | Description | Required | |----------|------|-------------|----------| | `coords` |`object`| Co-ordinate system of input data. Defaults to the [KittyCAD co-ordinate system. | No | -| `type` |enum: `ply` -| | No | -| `units` |`oneOf` -| 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 | +| `type` |enum: `ply`| | No | +| `units` |`oneOf`| 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 | ---- @@ -97,8 +91,7 @@ SolidWorks part (SLDPRT) format. | Property | Type | Description | Required | |----------|------|-------------|----------| -| `type` |enum: `sldprt` -| | No | +| `type` |enum: `sldprt`| | No | ---- @@ -114,8 +107,7 @@ ISO 10303-21 (STEP) format. | Property | Type | Description | Required | |----------|------|-------------|----------| -| `type` |enum: `step` -| | No | +| `type` |enum: `step`| | No | ---- @@ -132,10 +124,8 @@ ST**ereo**L**ithography format. | Property | Type | Description | Required | |----------|------|-------------|----------| | `coords` |`object`| Co-ordinate system of input data. Defaults to the [KittyCAD co-ordinate system. | No | -| `type` |enum: `stl` -| | No | -| `units` |`oneOf` -| 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 | +| `type` |enum: `stl`| | No | +| `units` |`oneOf`| 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 | ---- diff --git a/docs/kcl/types/Mirror2dData.md b/docs/kcl/types/Mirror2dData.md index c596abdce..3e3ce3d73 100644 --- a/docs/kcl/types/Mirror2dData.md +++ b/docs/kcl/types/Mirror2dData.md @@ -16,7 +16,6 @@ Data for a mirror. | Property | Type | Description | Required | |----------|------|-------------|----------| -| `axis` |`anyOf` -| Axis to use as mirror. | No | +| `axis` |`anyOf`| Axis to use as mirror. | No | diff --git a/docs/kcl/types/RevolveData.md b/docs/kcl/types/RevolveData.md index c39edf8a8..a2ab43759 100644 --- a/docs/kcl/types/RevolveData.md +++ b/docs/kcl/types/RevolveData.md @@ -17,8 +17,7 @@ Data for revolution surfaces. | Property | Type | Description | Required | |----------|------|-------------|----------| | `angle` |`number` (`double`)| Angle to revolve (in degrees). Default is 360. | No | -| `axis` |`anyOf` -| Axis of revolution. | No | +| `axis` |`anyOf`| Axis of revolution. | No | | `tolerance` |`number` (`double`)| Tolerance for the revolve operation. | No | diff --git a/docs/kcl/types/Sketch.md b/docs/kcl/types/Sketch.md new file mode 100644 index 000000000..02df9417e --- /dev/null +++ b/docs/kcl/types/Sketch.md @@ -0,0 +1,26 @@ +--- +title: "Sketch" +excerpt: "A sketch is a collection of paths." +layout: manual +--- + +A sketch is a collection of paths. + + +**Type:** `object` + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `__meta` |`array`| Metadata. | No | +| `id` |`string` (`uuid`)| The id of the sketch (this will change when the engine's reference to it changes. | No | +| `on` |`oneOf`| 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 | +| `value` |`array`| The paths in the sketch. | No | + + diff --git a/docs/kcl/types/SketchData.md b/docs/kcl/types/SketchData.md index 13cf55478..61b9b304f 100644 --- a/docs/kcl/types/SketchData.md +++ b/docs/kcl/types/SketchData.md @@ -1,10 +1,10 @@ --- title: "SketchData" -excerpt: "Data for start sketch on. You can start a sketch on a plane or an extrude group." +excerpt: "Data for start sketch on. You can start a sketch on a plane or an solid." layout: manual --- -Data for start sketch on. You can start a sketch on a plane or an extrude group. +Data for start sketch on. You can start a sketch on a plane or an solid. @@ -104,7 +104,7 @@ A defined plane. ---- -An extrude group is a collection of extrude surfaces. +An solid is a collection of extrude surfaces. **Type:** `object` @@ -117,11 +117,11 @@ An extrude group is a collection of extrude surfaces. | Property | Type | Description | Required | |----------|------|-------------|----------| | `__meta` |`array`| Metadata. | No | -| `edgeCuts` |`array`| Chamfers or fillets on this extrude group. | No | +| `edgeCuts` |`array`| Chamfers or fillets on this solid. | No | | `endCapId` |`string` (`uuid`)| The id of the extrusion end cap | No | -| `height` |`number` (`double`)| The height of the extrude group. | No | -| `id` |`string` (`uuid`)| The id of the extrude group. | No | -| `sketchGroup` |`object`| The sketch group. | No | +| `height` |`number` (`double`)| The height of the solid. | No | +| `id` |`string` (`uuid`)| The id of the solid. | No | +| `sketch` |`object`| The sketch. | No | | `startCapId` |`string` (`uuid`)| The id of the extrusion start cap | No | | `value` |`array`| The extrude surfaces. | No | diff --git a/docs/kcl/types/SketchGroup.md b/docs/kcl/types/SketchGroup.md deleted file mode 100644 index 2758f42b0..000000000 --- a/docs/kcl/types/SketchGroup.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: "SketchGroup" -excerpt: "A sketch group is a collection of paths." -layout: manual ---- - -A sketch group is a collection of paths. - - -**Type:** `object` - - - - -## Properties - -| Property | Type | Description | Required | -|----------|------|-------------|----------| -| `__meta` |`array`| Metadata. | No | -| `id` |`string` (`uuid`)| The id of the sketch group (this will change when the engine's reference to it changes. | No | -| `on` |`oneOf` -| 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 group. | No | -| `value` |`array`| The paths in the sketch group. | No | - - diff --git a/docs/kcl/types/SketchGroupSet.md b/docs/kcl/types/SketchGroupSet.md deleted file mode 100644 index 4ae4aede6..000000000 --- a/docs/kcl/types/SketchGroupSet.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: "SketchGroupSet" -excerpt: "A sketch group or a group of sketch groups." -layout: manual ---- - -A sketch group or a group of sketch groups. - - - - -**This schema accepts exactly one of the following:** - -A sketch group is a collection of paths. - - -**Type:** `object` - - - - -## Properties - -| Property | Type | Description | Required | -|----------|------|-------------|----------| -| `__meta` |`array`| Metadata. | No | -| `id` |`string` (`uuid`)| The id of the sketch group (this will change when the engine's reference to it changes. | No | -| `on` |`oneOf` -| 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 group. | No | -| `type` |enum: `sketchGroup` -| | No | -| `value` |`array`| The paths in the sketch group. | No | - - ----- - - -**Type:** `[object, array]` - - - - -## Properties - -| Property | Type | Description | Required | -|----------|------|-------------|----------| -| `type` |enum: `sketchGroups` -| | No | - - ----- - - - - diff --git a/docs/kcl/types/SketchSurfaceOrGroup.md b/docs/kcl/types/SketchOrSurface.md similarity index 67% rename from docs/kcl/types/SketchSurfaceOrGroup.md rename to docs/kcl/types/SketchOrSurface.md index a2180288f..0d3338b51 100644 --- a/docs/kcl/types/SketchSurfaceOrGroup.md +++ b/docs/kcl/types/SketchOrSurface.md @@ -1,16 +1,16 @@ --- -title: "SketchSurfaceOrGroup" -excerpt: "A sketch surface or a sketch group." +title: "SketchOrSurface" +excerpt: "A sketch surface or a sketch." layout: manual --- -A sketch surface or a sketch group. +A sketch surface or a sketch. **This schema accepts any of the following:** -A sketch group type. +A sketch type. @@ -32,10 +32,8 @@ A plane. | `__meta` |`array`| | No | | `id` |`string` (`uuid`)| The id of the plane. | No | | `origin` |`object`| Origin of the plane. | No | -| `type` |enum: `plane` -| | No | -| `value` |`oneOf` -| Type for a plane. | No | +| `type` |enum: `plane`| | No | +| `value` |`oneOf`| Type for a plane. | No | | `xAxis` |`object`| What should the plane’s X axis be? | No | | `yAxis` |`object`| What should the plane’s Y axis be? | No | | `zAxis` |`object`| The z-axis (normal). | No | @@ -55,10 +53,9 @@ A face. | Property | Type | Description | Required | |----------|------|-------------|----------| | `__meta` |`array`| | No | -| `extrudeGroup` |`object`| The extrude group the face is on. | No | | `id` |`string` (`uuid`)| The id of the face. | No | -| `type` |enum: `face` -| | No | +| `solid` |`object`| The solid the face is on. | No | +| `type` |enum: `face`| | No | | `value` |`string`| The tag of the face. | No | | `xAxis` |`object`| What should the face’s X axis be? | No | | `yAxis` |`object`| What should the face’s Y axis be? | No | @@ -71,7 +68,7 @@ A face. ---- -A sketch group is a collection of paths. +A sketch is a collection of paths. **Type:** `object` @@ -84,12 +81,11 @@ A sketch group is a collection of paths. | Property | Type | Description | Required | |----------|------|-------------|----------| | `__meta` |`array`| Metadata. | No | -| `id` |`string` (`uuid`)| The id of the sketch group (this will change when the engine's reference to it changes. | No | -| `on` |`oneOf` -| What the sketch is on (can be a plane or a face). | No | +| `id` |`string` (`uuid`)| The id of the sketch (this will change when the engine's reference to it changes. | No | +| `on` |`oneOf`| 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 group. | No | -| `value` |`array`| The paths in the sketch group. | No | +| `tags` |`object`| Tag identifiers that have been declared in this sketch. | No | +| `value` |`array`| The paths in the sketch. | No | ---- diff --git a/docs/kcl/types/SketchSet.md b/docs/kcl/types/SketchSet.md new file mode 100644 index 000000000..33275db84 --- /dev/null +++ b/docs/kcl/types/SketchSet.md @@ -0,0 +1,54 @@ +--- +title: "SketchSet" +excerpt: "A sketch or a group of sketches." +layout: manual +--- + +A sketch or a group of sketches. + + + + +**This schema accepts exactly one of the following:** + +A sketch is a collection of paths. + + +**Type:** `object` + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `__meta` |`array`| Metadata. | No | +| `id` |`string` (`uuid`)| The id of the sketch (this will change when the engine's reference to it changes. | No | +| `on` |`oneOf`| 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 | +| `type` |enum: `sketch`| | No | +| `value` |`array`| The paths in the sketch. | No | + + +---- + + +**Type:** `[object, array]` + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `type` |enum: `sketches`| | No | + + +---- + + + + diff --git a/docs/kcl/types/SketchSurface.md b/docs/kcl/types/SketchSurface.md index 7502c00f7..876ea228d 100644 --- a/docs/kcl/types/SketchSurface.md +++ b/docs/kcl/types/SketchSurface.md @@ -1,10 +1,10 @@ --- title: "SketchSurface" -excerpt: "A sketch group type." +excerpt: "A sketch type." layout: manual --- -A sketch group type. +A sketch type. @@ -26,10 +26,8 @@ A plane. | `__meta` |`array`| | No | | `id` |`string` (`uuid`)| The id of the plane. | No | | `origin` |`object`| Origin of the plane. | No | -| `type` |enum: `plane` -| | No | -| `value` |`oneOf` -| Type for a plane. | No | +| `type` |enum: `plane`| | No | +| `value` |`oneOf`| Type for a plane. | No | | `xAxis` |`object`| What should the plane’s X axis be? | No | | `yAxis` |`object`| What should the plane’s Y axis be? | No | | `zAxis` |`object`| The z-axis (normal). | No | @@ -49,10 +47,9 @@ A face. | Property | Type | Description | Required | |----------|------|-------------|----------| | `__meta` |`array`| | No | -| `extrudeGroup` |`object`| The extrude group the face is on. | No | | `id` |`string` (`uuid`)| The id of the face. | No | -| `type` |enum: `face` -| | No | +| `solid` |`object`| The solid the face is on. | No | +| `type` |enum: `face`| | No | | `value` |`string`| The tag of the face. | No | | `xAxis` |`object`| What should the face’s X axis be? | No | | `yAxis` |`object`| What should the face’s Y axis be? | No | diff --git a/docs/kcl/types/Solid.md b/docs/kcl/types/Solid.md new file mode 100644 index 000000000..f50064fa0 --- /dev/null +++ b/docs/kcl/types/Solid.md @@ -0,0 +1,28 @@ +--- +title: "Solid" +excerpt: "An solid is a collection of extrude surfaces." +layout: manual +--- + +An solid is a collection of extrude surfaces. + + +**Type:** `object` + + + + +## Properties + +| Property | Type | Description | Required | +|----------|------|-------------|----------| +| `__meta` |`array`| Metadata. | No | +| `edgeCuts` |`array`| Chamfers or fillets on this solid. | No | +| `endCapId` |`string` (`uuid`)| The id of the extrusion end cap | No | +| `height` |`number` (`double`)| The height of the solid. | No | +| `id` |`string` (`uuid`)| The id of the solid. | No | +| `sketch` |`object`| The sketch. | No | +| `startCapId` |`string` (`uuid`)| The id of the extrusion start cap | No | +| `value` |`array`| The extrude surfaces. | No | + + diff --git a/docs/kcl/types/ExtrudeGroupSet.md b/docs/kcl/types/SolidSet.md similarity index 53% rename from docs/kcl/types/ExtrudeGroupSet.md rename to docs/kcl/types/SolidSet.md index c9ba46fa2..799945c65 100644 --- a/docs/kcl/types/ExtrudeGroupSet.md +++ b/docs/kcl/types/SolidSet.md @@ -1,17 +1,17 @@ --- -title: "ExtrudeGroupSet" -excerpt: "A extrude group or a group of extrude groups." +title: "SolidSet" +excerpt: "A solid or a group of solids." layout: manual --- -A extrude group or a group of extrude groups. +A solid or a group of solids. **This schema accepts exactly one of the following:** -An extrude group is a collection of extrude surfaces. +An solid is a collection of extrude surfaces. **Type:** `object` @@ -24,14 +24,13 @@ An extrude group is a collection of extrude surfaces. | Property | Type | Description | Required | |----------|------|-------------|----------| | `__meta` |`array`| Metadata. | No | -| `edgeCuts` |`array`| Chamfers or fillets on this extrude group. | No | +| `edgeCuts` |`array`| Chamfers or fillets on this solid. | No | | `endCapId` |`string` (`uuid`)| The id of the extrusion end cap | No | -| `height` |`number` (`double`)| The height of the extrude group. | No | -| `id` |`string` (`uuid`)| The id of the extrude group. | No | -| `sketchGroup` |`object`| The sketch group. | No | +| `height` |`number` (`double`)| The height of the solid. | No | +| `id` |`string` (`uuid`)| The id of the solid. | No | +| `sketch` |`object`| The sketch. | No | | `startCapId` |`string` (`uuid`)| The id of the extrusion start cap | No | -| `type` |enum: `extrudeGroup` -| | No | +| `type` |enum: `solid`| | No | | `value` |`array`| The extrude surfaces. | No | @@ -47,8 +46,7 @@ An extrude group is a collection of extrude surfaces. | Property | Type | Description | Required | |----------|------|-------------|----------| -| `type` |enum: `extrudeGroups` -| | No | +| `type` |enum: `solids`| | No | ---- diff --git a/docs/kcl/xLine.md b/docs/kcl/xLine.md index 49bb75a28..b92996ce2 100644 --- a/docs/kcl/xLine.md +++ b/docs/kcl/xLine.md @@ -9,7 +9,7 @@ Draw a line relative to the current origin to a specified distance away from the current position along the 'x' axis. ```js -xLine(length: number, sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGroup +xLine(length: number, sketch: Sketch, tag?: TagDeclarator) -> Sketch ``` @@ -18,12 +18,12 @@ xLine(length: number, sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchG | Name | Type | Description | Required | |----------|------|-------------|----------| | `length` | `number` | | Yes | -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | | `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No | ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples diff --git a/docs/kcl/xLineTo.md b/docs/kcl/xLineTo.md index 61fcc7ac3..be4e1dd4e 100644 --- a/docs/kcl/xLineTo.md +++ b/docs/kcl/xLineTo.md @@ -9,7 +9,7 @@ Draw a line parallel to the X axis, that ends at the given X. E.g. if the previous line ended at (1, 1), then xLineTo(4) draws a line from (1, 1) to (4, 1) ```js -xLineTo(to: number, sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGroup +xLineTo(to: number, sketch: Sketch, tag?: TagDeclarator) -> Sketch ``` @@ -18,12 +18,12 @@ xLineTo(to: number, sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGro | Name | Type | Description | Required | |----------|------|-------------|----------| | `to` | `number` | | Yes | -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | | `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No | ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples diff --git a/docs/kcl/yLine.md b/docs/kcl/yLine.md index e9b90f420..d267b12a6 100644 --- a/docs/kcl/yLine.md +++ b/docs/kcl/yLine.md @@ -9,7 +9,7 @@ Draw a line relative to the current origin to a specified distance away from the current position along the 'y' axis. ```js -yLine(length: number, sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGroup +yLine(length: number, sketch: Sketch, tag?: TagDeclarator) -> Sketch ``` @@ -18,12 +18,12 @@ yLine(length: number, sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchG | Name | Type | Description | Required | |----------|------|-------------|----------| | `length` | `number` | | Yes | -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | | `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No | ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples diff --git a/docs/kcl/yLineTo.md b/docs/kcl/yLineTo.md index a167cc625..2de2dbb47 100644 --- a/docs/kcl/yLineTo.md +++ b/docs/kcl/yLineTo.md @@ -9,7 +9,7 @@ Draw a line parallel to the Y axis, that ends at the given Y. E.g. if the previous line ended at (1, 1), then yLineTo(4) draws a line from (1, 1) to (1, 4) ```js -yLineTo(to: number, sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGroup +yLineTo(to: number, sketch: Sketch, tag?: TagDeclarator) -> Sketch ``` @@ -18,12 +18,12 @@ yLineTo(to: number, sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGro | Name | Type | Description | Required | |----------|------|-------------|----------| | `to` | `number` | | Yes | -| `sketch_group` | [`SketchGroup`](/docs/kcl/types/SketchGroup) | A sketch group is a collection of paths. | Yes | +| `sketch` | [`Sketch`](/docs/kcl/types/Sketch) | A sketch is a collection of paths. | Yes | | `tag` | [`TagDeclarator`](/docs/kcl/types#tag-declaration) | | No | ### Returns -[`SketchGroup`](/docs/kcl/types/SketchGroup) - A sketch group is a collection of paths. +[`Sketch`](/docs/kcl/types/Sketch) - A sketch is a collection of paths. ### Examples diff --git a/e2e/playwright/lib/console-error-whitelist.ts b/e2e/playwright/lib/console-error-whitelist.ts index 653dff0be..721f1683a 100644 --- a/e2e/playwright/lib/console-error-whitelist.ts +++ b/e2e/playwright/lib/console-error-whitelist.ts @@ -40,7 +40,7 @@ export const isErrorWhitelisted = (exception: Error) => { }, { name: '', - message: 'sketchGroup not found', + message: 'sketch not found', stack: '', foundInSpec: 'e2e/playwright/testing-selections.spec.ts Deselecting line tool should mean nothing happens on click', @@ -206,8 +206,8 @@ export const isErrorWhitelisted = (exception: Error) => { }, { name: 'Unhandled Promise Rejection', - message: 'sketchGroup not found', - stack: `Unhandled Promise Rejection: sketchGroup not found + message: 'sketch not found', + stack: `Unhandled Promise Rejection: sketch not found at unknown (http://localhost:3000/src/machines/modelingMachine.ts:911:49)`, foundInSpec: 'e2e/playwright/testing-selections.spec.ts Deselecting line tool should mean nothing happens on click', diff --git a/e2e/playwright/projects.spec.ts b/e2e/playwright/projects.spec.ts index 19c3022c3..650773a07 100644 --- a/e2e/playwright/projects.spec.ts +++ b/e2e/playwright/projects.spec.ts @@ -1199,7 +1199,7 @@ test( 'kittycad_svg.kcl', 'lego.kcl', 'math.kcl', - 'member_expression_sketch_group.kcl', + 'member_expression_sketch.kcl', 'mike_stress_test.kcl', 'negative_args.kcl', 'order-sketch-extrude-in-order.kcl', diff --git a/src/clientSideScene/sceneEntities.ts b/src/clientSideScene/sceneEntities.ts index d9427e536..18596d8ad 100644 --- a/src/clientSideScene/sceneEntities.ts +++ b/src/clientSideScene/sceneEntities.ts @@ -39,11 +39,11 @@ import { Program, ProgramMemory, recast, - SketchGroup, - ExtrudeGroup, + Sketch, + Solid, VariableDeclaration, VariableDeclarator, - sketchGroupFromKclValue, + sketchFromKclValue, } from 'lang/wasm' import { engineCommandManager, @@ -378,7 +378,7 @@ export class SceneEntities { }): Promise<{ truncatedAst: Program programMemoryOverride: ProgramMemory - sketchGroup: SketchGroup + sketch: Sketch variableDeclarationName: string }> { this.createIntersectionPlane() @@ -397,19 +397,19 @@ export class SceneEntities { engineCommandManager: this.engineCommandManager, programMemoryOverride, }) - const sketchGroup = sketchGroupFromPathToNode({ + const sketch = sketchFromPathToNode({ pathToNode: sketchPathToNode, ast: maybeModdedAst, programMemory, }) - if (err(sketchGroup)) return Promise.reject(sketchGroup) - if (!sketchGroup) return Promise.reject('sketchGroup not found') + if (err(sketch)) return Promise.reject(sketch) + if (!sketch) return Promise.reject('sketch not found') - if (!isArray(sketchGroup?.value)) + if (!isArray(sketch?.value)) return { truncatedAst, programMemoryOverride, - sketchGroup, + sketch, variableDeclarationName, } this.sceneProgramMemory = programMemory @@ -431,12 +431,12 @@ export class SceneEntities { const segPathToNode = getNodePathFromSourceRange( maybeModdedAst, - sketchGroup.start.__geoMeta.sourceRange + sketch.start.__geoMeta.sourceRange ) - if (sketchGroup?.value?.[0]?.type !== 'Circle') { + if (sketch?.value?.[0]?.type !== 'Circle') { const _profileStart = createProfileStartHandle({ - from: sketchGroup.start.from, - id: sketchGroup.start.__geoMeta.id, + from: sketch.start.from, + id: sketch.start.__geoMeta.id, pathToNode: segPathToNode, scale: factor, theme: sceneInfra._theme, @@ -449,17 +449,16 @@ export class SceneEntities { this.activeSegments[JSON.stringify(segPathToNode)] = _profileStart } const callbacks: (() => SegmentOverlayPayload | null)[] = [] - sketchGroup.value.forEach((segment, index) => { + sketch.value.forEach((segment, index) => { let segPathToNode = getNodePathFromSourceRange( maybeModdedAst, segment.__geoMeta.sourceRange ) if ( draftExpressionsIndices && - (sketchGroup.value[index - 1] || sketchGroup.start) + (sketch.value[index - 1] || sketch.start) ) { - const previousSegment = - sketchGroup.value[index - 1] || sketchGroup.start + const previousSegment = sketch.value[index - 1] || sketch.start const previousSegmentPathToNode = getNodePathFromSourceRange( maybeModdedAst, previousSegment.__geoMeta.sourceRange @@ -510,7 +509,7 @@ export class SceneEntities { to: segment.to, } const result = initSegment({ - prevSegment: sketchGroup.value[index - 1], + prevSegment: sketch.value[index - 1], callExpName, input, id: segment.__geoMeta.id, @@ -554,7 +553,7 @@ export class SceneEntities { return { truncatedAst, programMemoryOverride, - sketchGroup, + sketch, variableDeclarationName, } } @@ -604,7 +603,7 @@ export class SceneEntities { const variableDeclarationName = _node1.node?.declarations?.[0]?.id?.name || '' - const sg = sketchGroupFromKclValue( + const sg = sketchFromKclValue( kclManager.programMemory.get(variableDeclarationName), variableDeclarationName ) @@ -632,7 +631,7 @@ export class SceneEntities { if (shouldTearDown) await this.tearDownSketch({ removeAxis: false }) sceneInfra.resetMouseListeners() - const { truncatedAst, programMemoryOverride, sketchGroup } = + const { truncatedAst, programMemoryOverride, sketch } = await this.setupSketch({ sketchPathToNode, forward, @@ -653,7 +652,7 @@ export class SceneEntities { let modifiedAst if (profileStart) { - const lastSegment = sketchGroup.value.slice(-1)[0] + const lastSegment = sketch.value.slice(-1)[0] modifiedAst = addCallExpressionsToPipe({ node: kclManager.ast, programMemory: kclManager.programMemory, @@ -685,7 +684,7 @@ export class SceneEntities { }) if (trap(modifiedAst)) return Promise.reject(modifiedAst) } else if (intersection2d) { - const lastSegment = sketchGroup.value.slice(-1)[0] + const lastSegment = sketch.value.slice(-1)[0] const tmp = addNewSketchLn({ node: kclManager.ast, programMemory: kclManager.programMemory, @@ -809,24 +808,17 @@ export class SceneEntities { programMemoryOverride, }) this.sceneProgramMemory = programMemory - const sketchGroup = sketchGroupFromKclValue( + const sketch = sketchFromKclValue( programMemory.get(variableDeclarationName), variableDeclarationName ) - if (err(sketchGroup)) return Promise.reject(sketchGroup) - const sgPaths = sketchGroup.value + if (err(sketch)) return Promise.reject(sketch) + const sgPaths = sketch.value const orthoFactor = orthoScale(sceneInfra.camControls.camera) - this.updateSegment( - sketchGroup.start, - 0, - 0, - _ast, - orthoFactor, - sketchGroup - ) + this.updateSegment(sketch.start, 0, 0, _ast, orthoFactor, sketch) sgPaths.forEach((seg, index) => - this.updateSegment(seg, index, 0, _ast, orthoFactor, sketchGroup) + this.updateSegment(seg, index, 0, _ast, orthoFactor, sketch) ) }, onClick: async (args) => { @@ -865,26 +857,19 @@ export class SceneEntities { // Prepare to update the THREEjs scene this.sceneProgramMemory = programMemory - const sketchGroup = sketchGroupFromKclValue( + const sketch = sketchFromKclValue( programMemory.get(variableDeclarationName), variableDeclarationName ) - if (err(sketchGroup)) return - const sgPaths = sketchGroup.value + if (err(sketch)) return + const sgPaths = sketch.value const orthoFactor = orthoScale(sceneInfra.camControls.camera) // Update the starting segment of the THREEjs scene - this.updateSegment( - sketchGroup.start, - 0, - 0, - _ast, - orthoFactor, - sketchGroup - ) + this.updateSegment(sketch.start, 0, 0, _ast, orthoFactor, sketch) // Update the rest of the segments of the THREEjs scene sgPaths.forEach((seg, index) => - this.updateSegment(seg, index, 0, _ast, orthoFactor, sketchGroup) + this.updateSegment(seg, index, 0, _ast, orthoFactor, sketch) ) } }, @@ -987,24 +972,17 @@ export class SceneEntities { programMemoryOverride, }) this.sceneProgramMemory = programMemory - const sketchGroup = sketchGroupFromKclValue( + const sketch = sketchFromKclValue( programMemory.get(variableDeclarationName), variableDeclarationName ) - if (err(sketchGroup)) return - const sgPaths = sketchGroup.value + if (err(sketch)) return + const sgPaths = sketch.value const orthoFactor = orthoScale(sceneInfra.camControls.camera) - this.updateSegment( - sketchGroup.start, - 0, - 0, - _ast, - orthoFactor, - sketchGroup - ) + this.updateSegment(sketch.start, 0, 0, _ast, orthoFactor, sketch) sgPaths.forEach((seg, index) => - this.updateSegment(seg, index, 0, _ast, orthoFactor, sketchGroup) + this.updateSegment(seg, index, 0, _ast, orthoFactor, sketch) ) }, onClick: async (args) => { @@ -1106,20 +1084,20 @@ export class SceneEntities { (x) => x[1] === 'PipeExpression' ) - const sketchGroup = sketchGroupFromPathToNode({ + const sketch = sketchFromPathToNode({ pathToNode, ast: kclManager.ast, programMemory: kclManager.programMemory, }) - if (trap(sketchGroup)) return - if (!sketchGroup) { - trap(new Error('sketchGroup not found')) + if (trap(sketch)) return + if (!sketch) { + trap(new Error('sketch not found')) return } const pipeIndex = pathToNode[pathToNodeIndex + 1][0] as number if (addingNewSegmentStatus === 'nothing') { - const prevSegment = sketchGroup.value[pipeIndex - 2] + const prevSegment = sketch.value[pipeIndex - 2] const mod = addNewSketchLn({ node: kclManager.ast, programMemory: kclManager.programMemory, @@ -1347,29 +1325,26 @@ export class SceneEntities { }) this.sceneProgramMemory = programMemory - const maybeSketchGroup = programMemory.get(variableDeclarationName) - let sketchGroup = undefined - const sg = sketchGroupFromKclValue( - maybeSketchGroup, - variableDeclarationName - ) + const maybeSketch = programMemory.get(variableDeclarationName) + let sketch = undefined + const sg = sketchFromKclValue(maybeSketch, variableDeclarationName) if (!err(sg)) { - sketchGroup = sg - } else if ((maybeSketchGroup as ExtrudeGroup).sketchGroup) { - sketchGroup = (maybeSketchGroup as ExtrudeGroup).sketchGroup + sketch = sg + } else if ((maybeSketch as Solid).sketch) { + sketch = (maybeSketch as Solid).sketch } - if (!sketchGroup) return + if (!sketch) return - const sgPaths = sketchGroup.value + const sgPaths = sketch.value const orthoFactor = orthoScale(sceneInfra.camControls.camera) this.updateSegment( - sketchGroup.start, + sketch.start, 0, varDecIndex, modifiedAst, orthoFactor, - sketchGroup + sketch ) const callBacks = sgPaths.map((group, index) => @@ -1379,7 +1354,7 @@ export class SceneEntities { varDecIndex, modifiedAst, orthoFactor, - sketchGroup + sketch ) ) sceneInfra.overlayCallbacks(callBacks) @@ -1394,29 +1369,29 @@ export class SceneEntities { * @param varDecIndex * @param modifiedAst * @param orthoFactor - * @param sketchGroup + * @param sketch */ updateSegment = ( - segment: Path | SketchGroup['start'], + segment: Path | Sketch['start'], index: number, varDecIndex: number, modifiedAst: Program, orthoFactor: number, - sketchGroup: SketchGroup + sketch: Sketch ): (() => SegmentOverlayPayload | null) => { const segPathToNode = getNodePathFromSourceRange( modifiedAst, segment.__geoMeta.sourceRange ) - const sgPaths = sketchGroup.value + const sgPaths = sketch.value const originalPathToNodeStr = JSON.stringify(segPathToNode) segPathToNode[1][0] = varDecIndex const pathToNodeStr = JSON.stringify(segPathToNode) - // more hacks to hopefully be solved by proper pathToNode info in memory/sketchGroup segments + // more hacks to hopefully be solved by proper pathToNode info in memory/sketch segments const group = this.activeSegments[pathToNodeStr] || this.activeSegments[originalPathToNodeStr] - // const prevSegment = sketchGroup.slice(index - 1)[0] + // const prevSegment = sketch.slice(index - 1)[0] const type = group?.userData?.type const factor = (sceneInfra.camControls.camera instanceof OrthographicCamera @@ -1711,7 +1686,7 @@ function prepareTruncatedMemoryAndAst( ) if (err(_node)) return _node const variableDeclarationName = _node.node?.declarations?.[0]?.id?.name || '' - const sg = sketchGroupFromKclValue( + const sg = sketchFromKclValue( programMemory.get(variableDeclarationName), variableDeclarationName ) @@ -1739,7 +1714,7 @@ function prepareTruncatedMemoryAndAst( .init as PipeExpression ).body.push(newSegment) // update source ranges to section we just added. - // hacks like this wouldn't be needed if the AST put pathToNode info in memory/sketchGroup segments + // hacks like this wouldn't be needed if the AST put pathToNode info in memory/sketch segments const updatedSrcRangeAst = parse(recast(_ast)) // get source ranges correct since unfortunately we still rely on them if (err(updatedSrcRangeAst)) return updatedSrcRangeAst @@ -1820,7 +1795,7 @@ export function getParentGroup( return null } -export function sketchGroupFromPathToNode({ +export function sketchFromPathToNode({ pathToNode, ast, programMemory, @@ -1828,7 +1803,7 @@ export function sketchGroupFromPathToNode({ pathToNode: PathToNode ast: Program programMemory: ProgramMemory -}): SketchGroup | null | Error { +}): Sketch | null | Error { const _varDec = getNodeFromPath( kclManager.ast, pathToNode, @@ -1837,10 +1812,10 @@ export function sketchGroupFromPathToNode({ if (err(_varDec)) return _varDec const varDec = _varDec.node const result = programMemory.get(varDec?.id?.name || '') - if (result?.type === 'ExtrudeGroup') { - return result.sketchGroup + if (result?.type === 'Solid') { + return result.sketch } - const sg = sketchGroupFromKclValue(result, varDec?.id?.name) + const sg = sketchFromKclValue(result, varDec?.id?.name) if (err(sg)) { return null } @@ -1872,14 +1847,14 @@ export function getSketchQuaternion( sketchPathToNode: PathToNode, sketchNormalBackUp: [number, number, number] | null ): Quaternion | Error { - const sketchGroup = sketchGroupFromPathToNode({ + const sketch = sketchFromPathToNode({ pathToNode: sketchPathToNode, ast: kclManager.ast, programMemory: kclManager.programMemory, }) - if (err(sketchGroup)) return sketchGroup - const zAxis = sketchGroup?.on.zAxis || sketchNormalBackUp - if (!zAxis) return Error('SketchGroup zAxis not found') + if (err(sketch)) return sketch + const zAxis = sketch?.on.zAxis || sketchNormalBackUp + if (!zAxis) return Error('Sketch zAxis not found') return getQuaternionFromZAxis(massageFormats(zAxis)) } @@ -1889,34 +1864,30 @@ export async function getSketchOrientationDetails( quat: Quaternion sketchDetails: SketchDetails & { faceId?: string } }> { - const sketchGroup = sketchGroupFromPathToNode({ + const sketch = sketchFromPathToNode({ pathToNode: sketchPathToNode, ast: kclManager.ast, programMemory: kclManager.programMemory, }) - if (err(sketchGroup)) return Promise.reject(sketchGroup) - if (!sketchGroup) return Promise.reject('sketchGroup not found') + if (err(sketch)) return Promise.reject(sketch) + if (!sketch) return Promise.reject('sketch not found') - if (sketchGroup.on.type === 'plane') { - const zAxis = sketchGroup?.on.zAxis + if (sketch.on.type === 'plane') { + const zAxis = sketch?.on.zAxis return { quat: getQuaternionFromZAxis(massageFormats(zAxis)), sketchDetails: { sketchPathToNode, zAxis: [zAxis.x, zAxis.y, zAxis.z], - yAxis: [ - sketchGroup.on.yAxis.x, - sketchGroup.on.yAxis.y, - sketchGroup.on.yAxis.z, - ], + yAxis: [sketch.on.yAxis.x, sketch.on.yAxis.y, sketch.on.yAxis.z], origin: [0, 0, 0], - faceId: sketchGroup.on.id, + faceId: sketch.on.id, }, } } - if (sketchGroup.on.type === 'face') { - const faceInfo = await getFaceDetails(sketchGroup.on.id) + if (sketch.on.type === 'face') { + const faceInfo = await getFaceDetails(sketch.on.id) if (!faceInfo?.origin || !faceInfo?.z_axis || !faceInfo?.y_axis) return Promise.reject('face info') @@ -1932,12 +1903,12 @@ export async function getSketchOrientationDetails( zAxis: [z_axis.x, z_axis.y, z_axis.z], yAxis: [y_axis.x, y_axis.y, y_axis.z], origin: [origin.x, origin.y, origin.z], - faceId: sketchGroup.on.id, + faceId: sketch.on.id, }, } } return Promise.reject( - 'sketchGroup.on.type not recognized, has a new type been added?' + 'sketch.on.type not recognized, has a new type been added?' ) } diff --git a/src/clientSideScene/segments.ts b/src/clientSideScene/segments.ts index 735a01704..4630e5966 100644 --- a/src/clientSideScene/segments.ts +++ b/src/clientSideScene/segments.ts @@ -22,7 +22,7 @@ import { } from 'three' import { mergeGeometries } from 'three/examples/jsm/utils/BufferGeometryUtils.js' import { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer' -import { PathToNode, SketchGroup, getTangentialArcToInfo } from 'lang/wasm' +import { PathToNode, Sketch, getTangentialArcToInfo } from 'lang/wasm' import { CIRCLE_CENTER_HANDLE, CIRCLE_SEGMENT, @@ -58,7 +58,7 @@ import { err } from 'lib/trap' interface CreateSegmentArgs { input: SegmentInputs - prevSegment: SketchGroup['value'][number] + prevSegment: Sketch['value'][number] id: string pathToNode: PathToNode isDraftSegment?: boolean @@ -72,7 +72,7 @@ interface CreateSegmentArgs { interface UpdateSegmentArgs { input: SegmentInputs - prevSegment: SketchGroup['value'][number] + prevSegment: Sketch['value'][number] group: Group sceneInfra: SceneInfra scale?: number diff --git a/src/components/ModelingSidebar/ModelingPanes/MemoryPane.tsx b/src/components/ModelingSidebar/ModelingPanes/MemoryPane.tsx index df1d8071b..c945265aa 100644 --- a/src/components/ModelingSidebar/ModelingPanes/MemoryPane.tsx +++ b/src/components/ModelingSidebar/ModelingPanes/MemoryPane.tsx @@ -5,7 +5,7 @@ import { ProgramMemory, Path, ExtrudeSurface, - sketchGroupFromKclValue, + sketchFromKclValue, } from 'lang/wasm' import { useKclContext } from 'lang/KclProvider' import { useResolvedTheme } from 'hooks/useResolvedTheme' @@ -89,8 +89,8 @@ export const processMemory = (programMemory: ProgramMemory) => { const processedMemory: any = {} for (const [key, val] of programMemory?.visibleEntries()) { if (typeof val.value !== 'function') { - const sg = sketchGroupFromKclValue(val, null) - if (val.type === 'ExtrudeGroup') { + const sg = sketchFromKclValue(val, null) + if (val.type === 'Solid') { processedMemory[key] = val.value.map(({ ...rest }: ExtrudeSurface) => { return rest }) diff --git a/src/editor/plugins/lsp/kcl/kcl.grammar b/src/editor/plugins/lsp/kcl/kcl.grammar index 3e23dc0bb..149aab231 100644 --- a/src/editor/plugins/lsp/kcl/kcl.grammar +++ b/src/editor/plugins/lsp/kcl/kcl.grammar @@ -57,7 +57,7 @@ ArgumentList { "(" commaSep ")" } type[@isGroup=Type] { @specialize[@name=PrimitiveType]< identifier, - "string" | "number" | "bool" | "sketch_group" | "sketch_surface" | "extrude_group" + "string" | "number" | "bool" | "sketch" | "sketch_surface" | "solid" > | ArrayType { type !member "[" "]" } | ObjectType { "{" commaSep "}" } diff --git a/src/lang/KclSingleton.ts b/src/lang/KclSingleton.ts index 57c7ee613..ec4590592 100644 --- a/src/lang/KclSingleton.ts +++ b/src/lang/KclSingleton.ts @@ -552,7 +552,7 @@ function defaultSelectionFilter( engineCommandManager: EngineCommandManager ) { // eslint-disable-next-line @typescript-eslint/no-floating-promises - programMemory.hasSketchOrExtrudeGroup() && + programMemory.hasSketchOrSolid() && engineCommandManager.sendSceneCommand({ type: 'modeling_cmd_req', cmd_id: uuidv4(), diff --git a/src/lang/artifact.test.ts b/src/lang/artifact.test.ts index e10498323..bb20262b6 100644 --- a/src/lang/artifact.test.ts +++ b/src/lang/artifact.test.ts @@ -21,7 +21,7 @@ const mySketch001 = startSketchOn('XY') type: 'UserVal', __meta: [{ sourceRange: [46, 71] }], value: { - type: 'SketchGroup', + type: 'Sketch', on: expect.any(Object), start: { to: [0, 0], @@ -72,7 +72,7 @@ const mySketch001 = startSketchOn('XY') // @ts-ignore const sketch001 = programMemory?.get('mySketch001') expect(sketch001).toEqual({ - type: 'ExtrudeGroup', + type: 'Solid', id: expect.any(String), value: [ { @@ -90,12 +90,12 @@ const mySketch001 = startSketchOn('XY') sourceRange: [108, 132], }, ], - sketchGroup: { + sketch: { id: expect.any(String), __meta: expect.any(Array), on: expect.any(Object), start: expect.any(Object), - type: 'SketchGroup', + type: 'Sketch', value: [ { type: 'ToPoint', @@ -153,7 +153,7 @@ const sk2 = startSketchOn('XY') const geos = [programMemory?.get('theExtrude'), programMemory?.get('sk2')] expect(geos).toEqual([ { - type: 'ExtrudeGroup', + type: 'Solid', id: expect.any(String), value: [ { @@ -184,12 +184,12 @@ const sk2 = startSketchOn('XY') sourceRange: [123, 142], }, ], - sketchGroup: { + sketch: { id: expect.any(String), __meta: expect.any(Array), on: expect.any(Object), start: expect.any(Object), - type: 'SketchGroup', + type: 'Sketch', tags: { p: { __meta: [ @@ -247,7 +247,7 @@ const sk2 = startSketchOn('XY') __meta: [{ sourceRange: [38, 63] }], }, { - type: 'ExtrudeGroup', + type: 'Solid', id: expect.any(String), value: [ { @@ -278,12 +278,12 @@ const sk2 = startSketchOn('XY') sourceRange: [426, 445], }, ], - sketchGroup: { + sketch: { id: expect.any(String), __meta: expect.any(Array), on: expect.any(Object), start: expect.any(Object), - type: 'SketchGroup', + type: 'Sketch', tags: { o: { __meta: [ diff --git a/src/lang/executor.test.ts b/src/lang/executor.test.ts index adf2baf5a..cb29934ea 100644 --- a/src/lang/executor.test.ts +++ b/src/lang/executor.test.ts @@ -3,9 +3,9 @@ import fs from 'node:fs' import { parse, ProgramMemory, - SketchGroup, + Sketch, initPromise, - sketchGroupFromKclValue, + sketchFromKclValue, } from './wasm' import { enginelessExecutor } from '../lib/testHelpers' import { KCLError } from './errors' @@ -125,12 +125,12 @@ const newVar = myVar + 1` // ].join('\n') // const mem = await exe(code) // expect(mem.get('mySk1')?.value).toHaveLength(3) - // expect(mem.get('rotated')?.type).toBe('SketchGroup') + // expect(mem.get('rotated')?.type).toBe('Sketch') // if ( - // mem.get('mySk1')?.type !== 'SketchGroup' || - // mem.get('rotated')?.type !== 'SketchGroup' + // mem.get('mySk1')?.type !== 'Sketch' || + // mem.get('rotated')?.type !== 'Sketch' // ) - // throw new Error('not a sketch group') + // throw new Error('not a sketch') // expect(mem.get('mySk1')?.rotation).toEqual([0, 0, 0, 1]) // expect(mem.get('rotated')?.rotation.map((a) => a.toFixed(4))).toEqual([ // '0.7071', @@ -154,7 +154,7 @@ const newVar = myVar + 1` expect(mem.get('mySk1')).toEqual({ type: 'UserVal', value: { - type: 'SketchGroup', + type: 'Sketch', on: expect.any(Object), start: { to: [0, 0], @@ -368,9 +368,9 @@ describe('testing math operators', () => { '|> line([-2.21, -legLen(5, min(3, 999))], %)', ].join('\n') const mem = await exe(code) - const sketch = sketchGroupFromKclValue(mem.get('part001'), 'part001') + const sketch = sketchFromKclValue(mem.get('part001'), 'part001') // result of `-legLen(5, min(3, 999))` should be -4 - const yVal = (sketch as SketchGroup).value?.[0]?.to?.[1] + const yVal = (sketch as Sketch).value?.[0]?.to?.[1] expect(yVal).toBe(-4) }) it('test that % substitution feeds down CallExp->ArrExp->UnaryExp->CallExp', async () => { @@ -386,24 +386,22 @@ describe('testing math operators', () => { ``, ].join('\n') const mem = await exe(code) - const sketch = sketchGroupFromKclValue(mem.get('part001'), 'part001') + const sketch = sketchFromKclValue(mem.get('part001'), 'part001') // expect -legLen(segLen('seg01'), myVar) to equal -4 setting the y value back to 0 - expect((sketch as SketchGroup).value?.[1]?.from).toEqual([3, 4]) - expect((sketch as SketchGroup).value?.[1]?.to).toEqual([6, 0]) + expect((sketch as Sketch).value?.[1]?.from).toEqual([3, 4]) + expect((sketch as Sketch).value?.[1]?.to).toEqual([6, 0]) const removedUnaryExp = code.replace( `-legLen(segLen(seg01), myVar)`, `legLen(segLen(seg01), myVar)` ) const removedUnaryExpMem = await exe(removedUnaryExp) - const removedUnaryExpMemSketch = sketchGroupFromKclValue( + const removedUnaryExpMemSketch = sketchFromKclValue( removedUnaryExpMem.get('part001'), 'part001' ) // without the minus sign, the y value should be 8 - expect((removedUnaryExpMemSketch as SketchGroup).value?.[1]?.to).toEqual([ - 6, 8, - ]) + expect((removedUnaryExpMemSketch as Sketch).value?.[1]?.to).toEqual([6, 8]) }) it('with nested callExpression and binaryExpression', async () => { const code = 'const myVar = 2 + min(100, -1 + legLen(5, 3))' diff --git a/src/lang/modifyAst.ts b/src/lang/modifyAst.ts index e856ad213..9ad67056b 100644 --- a/src/lang/modifyAst.ts +++ b/src/lang/modifyAst.ts @@ -17,7 +17,7 @@ import { PathToNode, ProgramMemory, SourceRange, - sketchGroupFromKclValue, + sketchFromKclValue, } from './wasm' import { isNodeSafeToReplacePath, @@ -1049,7 +1049,7 @@ export async function deleteFromSelection( if (err(parent)) { return } - const sketchToPreserve = sketchGroupFromKclValue( + const sketchToPreserve = sketchFromKclValue( programMemory.get(sketchName), sketchName ) diff --git a/src/lang/modifyAst/addFillet.ts b/src/lang/modifyAst/addFillet.ts index a2495c319..cd6eccad0 100644 --- a/src/lang/modifyAst/addFillet.ts +++ b/src/lang/modifyAst/addFillet.ts @@ -8,7 +8,7 @@ import { Expr, VariableDeclaration, VariableDeclarator, - sketchGroupFromKclValue, + sketchFromKclValue, } from '../wasm' import { createCallExpressionStdLib, @@ -147,13 +147,13 @@ export function getPathToExtrudeForSegmentSelection( if (err(varDecNode)) return varDecNode const sketchVar = varDecNode.node.declarations[0].id.name - const sketchGroup = sketchGroupFromKclValue( + const sketch = sketchFromKclValue( kclManager.programMemory.get(sketchVar), sketchVar ) - if (trap(sketchGroup)) return sketchGroup + if (trap(sketch)) return sketch - const extrusion = getSweepFromSuspectedPath(sketchGroup.id, artifactGraph) + const extrusion = getSweepFromSuspectedPath(sketch.id, artifactGraph) if (err(extrusion)) return extrusion const pathToExtrudeNode = getNodePathFromSourceRange( diff --git a/src/lang/queryAst.test.ts b/src/lang/queryAst.test.ts index 9c91a1476..76ad68d96 100644 --- a/src/lang/queryAst.test.ts +++ b/src/lang/queryAst.test.ts @@ -5,7 +5,7 @@ import { isTypeInValue, getNodePathFromSourceRange, doesPipeHaveCallExp, - hasExtrudeSketchGroup, + hasExtrudeSketch, findUsesOfTagInPipe, hasSketchPipeBeenExtruded, doesSceneHaveSweepableSketch, @@ -340,8 +340,8 @@ const part001 = startSketchAt([-1.41, 3.46]) }) }) -describe('testing hasExtrudeSketchGroup', () => { - it('find sketch group', async () => { +describe('testing hasExtrudeSketch', () => { + it('find sketch', async () => { const exampleCode = `const length001 = 2 const part001 = startSketchAt([-1.41, 3.46]) |> line([19.49, 1.16], %, $seg01) @@ -352,14 +352,14 @@ const part001 = startSketchAt([-1.41, 3.46]) if (err(ast)) throw ast const programMemory = await enginelessExecutor(ast) - const result = hasExtrudeSketchGroup({ + const result = hasExtrudeSketch({ ast, selection: { type: 'default', range: [100, 101] }, programMemory, }) expect(result).toEqual(true) }) - it('find extrude group', async () => { + it('find solid', async () => { const exampleCode = `const length001 = 2 const part001 = startSketchAt([-1.41, 3.46]) |> line([19.49, 1.16], %, $seg01) @@ -371,7 +371,7 @@ const part001 = startSketchAt([-1.41, 3.46]) if (err(ast)) throw ast const programMemory = await enginelessExecutor(ast) - const result = hasExtrudeSketchGroup({ + const result = hasExtrudeSketch({ ast, selection: { type: 'default', range: [100, 101] }, programMemory, @@ -384,7 +384,7 @@ const part001 = startSketchAt([-1.41, 3.46]) if (err(ast)) throw ast const programMemory = await enginelessExecutor(ast) - const result = hasExtrudeSketchGroup({ + const result = hasExtrudeSketch({ ast, selection: { type: 'default', range: [10, 11] }, programMemory, diff --git a/src/lang/queryAst.ts b/src/lang/queryAst.ts index 31881485b..6783e4c63 100644 --- a/src/lang/queryAst.ts +++ b/src/lang/queryAst.ts @@ -13,7 +13,7 @@ import { Program, ProgramMemory, ReturnStatement, - sketchGroupFromKclValue, + sketchFromKclValue, SourceRange, SyntaxType, VariableDeclaration, @@ -663,7 +663,7 @@ export function isLinesParallelAndConstrained( if (err(_varDec)) return _varDec const varDec = _varDec.node const varName = (varDec as VariableDeclaration)?.declarations[0]?.id?.name - const sg = sketchGroupFromKclValue(programMemory?.get(varName), varName) + const sg = sketchFromKclValue(programMemory?.get(varName), varName) if (err(sg)) return sg const _primarySegment = getSketchSegmentFromSourceRange( sg, @@ -757,7 +757,7 @@ export function doesPipeHaveCallExp({ ) } -export function hasExtrudeSketchGroup({ +export function hasExtrudeSketch({ ast, selection, programMemory, @@ -781,8 +781,7 @@ export function hasExtrudeSketchGroup({ const varName = varDec.declarations[0].id.name const varValue = programMemory?.get(varName) return ( - varValue?.type === 'ExtrudeGroup' || - !err(sketchGroupFromKclValue(varValue, varName)) + varValue?.type === 'Solid' || !err(sketchFromKclValue(varValue, varName)) ) } diff --git a/src/lang/std/artifactMapGraphs/exampleCode1.png b/src/lang/std/artifactMapGraphs/exampleCode1.png index c56d2030f..41e2948a6 100644 Binary files a/src/lang/std/artifactMapGraphs/exampleCode1.png and b/src/lang/std/artifactMapGraphs/exampleCode1.png differ diff --git a/src/lang/std/artifactMapGraphs/sketchOnFaceOnFaceEtc.png b/src/lang/std/artifactMapGraphs/sketchOnFaceOnFaceEtc.png index 4a18696a8..7863043f6 100644 Binary files a/src/lang/std/artifactMapGraphs/sketchOnFaceOnFaceEtc.png and b/src/lang/std/artifactMapGraphs/sketchOnFaceOnFaceEtc.png differ diff --git a/src/lang/std/sketch.ts b/src/lang/std/sketch.ts index 9dbfdc585..f3d8f1a39 100644 --- a/src/lang/std/sketch.ts +++ b/src/lang/std/sketch.ts @@ -1,7 +1,7 @@ import { ProgramMemory, Path, - SketchGroup, + Sketch, SourceRange, PathToNode, Program, @@ -11,7 +11,7 @@ import { Expr, VariableDeclaration, Identifier, - sketchGroupFromKclValue, + sketchFromKclValue, } from 'lang/wasm' import { getNodeFromPath, @@ -63,7 +63,7 @@ const ARC_SEGMENT_ERR = new Error('Invalid input, expected "arc-segment"') export type Coords2d = [number, number] -export function getCoordsFromPaths(skGroup: SketchGroup, index = 0): Coords2d { +export function getCoordsFromPaths(skGroup: Sketch, index = 0): Coords2d { const currentPath = skGroup?.value?.[index] if (!currentPath && skGroup?.start) { return skGroup.start.to @@ -1216,7 +1216,7 @@ export const angledLineOfXLength: SketchLineHelper = { const { node: varDec } = nodeMeta2 const variableName = varDec.id.name - const sketch = sketchGroupFromKclValue( + const sketch = sketchFromKclValue( previousProgramMemory?.get(variableName), variableName ) @@ -1331,7 +1331,7 @@ export const angledLineOfYLength: SketchLineHelper = { if (err(nodeMeta2)) return nodeMeta2 const { node: varDec } = nodeMeta2 const variableName = varDec.id.name - const sketch = sketchGroupFromKclValue( + const sketch = sketchFromKclValue( previousProgramMemory?.get(variableName), variableName ) @@ -1699,12 +1699,12 @@ export const angledLineThatIntersects: SketchLineHelper = { const { node: varDec } = nodeMeta2 const varName = varDec.declarations[0].id.name - const sketchGroup = sketchGroupFromKclValue( + const sketch = sketchFromKclValue( previousProgramMemory.get(varName), varName ) - if (err(sketchGroup)) return sketchGroup - const intersectPath = sketchGroup.value.find( + if (err(sketch)) return sketch + const intersectPath = sketch.value.find( ({ tag }: Path) => tag && tag.value === intersectTagName ) let offset = 0 diff --git a/src/lang/std/sketchConstraints.test.ts b/src/lang/std/sketchConstraints.test.ts index d5694d1f4..f98f8b207 100644 --- a/src/lang/std/sketchConstraints.test.ts +++ b/src/lang/std/sketchConstraints.test.ts @@ -1,10 +1,4 @@ -import { - parse, - SketchGroup, - recast, - initPromise, - sketchGroupFromKclValue, -} from '../wasm' +import { parse, Sketch, recast, initPromise, sketchFromKclValue } from '../wasm' import { ConstraintType, getTransformInfos, @@ -368,10 +362,10 @@ const part001 = startSketchOn('XY') it('normal case works', async () => { const programMemory = await enginelessExecutor(parse(code)) const index = code.indexOf('// normal-segment') - 7 - const sg = sketchGroupFromKclValue( + const sg = sketchFromKclValue( programMemory.get('part001'), 'part001' - ) as SketchGroup + ) as Sketch const _segment = getSketchSegmentFromSourceRange(sg, [index, index]) if (err(_segment)) throw _segment const { __geoMeta, ...segment } = _segment.segment @@ -386,10 +380,7 @@ const part001 = startSketchOn('XY') const programMemory = await enginelessExecutor(parse(code)) const index = code.indexOf('// segment-in-start') - 7 const _segment = getSketchSegmentFromSourceRange( - sketchGroupFromKclValue( - programMemory.get('part001'), - 'part001' - ) as SketchGroup, + sketchFromKclValue(programMemory.get('part001'), 'part001') as Sketch, [index, index] ) if (err(_segment)) throw _segment diff --git a/src/lang/std/sketchConstraints.ts b/src/lang/std/sketchConstraints.ts index c26e188e1..565e12cf1 100644 --- a/src/lang/std/sketchConstraints.ts +++ b/src/lang/std/sketchConstraints.ts @@ -4,7 +4,7 @@ import { Program, VariableDeclarator, CallExpression, - SketchGroup, + Sketch, SourceRange, Path, PathToNode, @@ -13,17 +13,17 @@ import { import { err } from 'lib/trap' export function getSketchSegmentFromPathToNode( - sketchGroup: SketchGroup, + sketch: Sketch, ast: Program, pathToNode: PathToNode ): | { - segment: SketchGroup['value'][number] + segment: Sketch['value'][number] index: number } | Error { // TODO: once pathTodNode is stored on program memory as part of execution, - // we can check if the pathToNode matches the pathToNode of the sketchGroup. + // we can check if the pathToNode matches the pathToNode of the sketch. // For now we fall back to the sourceRange const nodeMeta = getNodeFromPath(ast, pathToNode) if (err(nodeMeta)) return nodeMeta @@ -32,36 +32,36 @@ export function getSketchSegmentFromPathToNode( if (!node || typeof node.start !== 'number' || !node.end) return new Error('no node found') const sourceRange: SourceRange = [node.start, node.end] - return getSketchSegmentFromSourceRange(sketchGroup, sourceRange) + return getSketchSegmentFromSourceRange(sketch, sourceRange) } export function getSketchSegmentFromSourceRange( - sketchGroup: SketchGroup, + sketch: Sketch, [rangeStart, rangeEnd]: SourceRange ): | { - segment: SketchGroup['value'][number] + segment: Sketch['value'][number] index: number } | Error { - const lineIndex = sketchGroup.value.findIndex( + const lineIndex = sketch.value.findIndex( ({ __geoMeta: { sourceRange } }: Path) => sourceRange[0] <= rangeStart && sourceRange[1] >= rangeEnd ) - const line = sketchGroup.value[lineIndex] + const line = sketch.value[lineIndex] if (line) { return { segment: line, index: lineIndex, } } - const startSourceRange = sketchGroup.start?.__geoMeta.sourceRange + const startSourceRange = sketch.start?.__geoMeta.sourceRange if ( startSourceRange && startSourceRange[0] <= rangeStart && startSourceRange[1] >= rangeEnd && - sketchGroup.start + sketch.start ) - return { segment: { ...sketchGroup.start, type: 'Base' }, index: -1 } + return { segment: { ...sketch.start, type: 'Base' }, index: -1 } return new Error('could not find matching segment') } @@ -103,7 +103,7 @@ export function isSketchVariablesLinked( !toolTips.includes(firstCallExp?.callee?.name as ToolTip) ) return false - // convention for sketch fns is that the second argument is the sketch group + // convention for sketch fns is that the second argument is the sketch const secondArg = firstCallExp?.arguments[1] if (!secondArg || secondArg?.type !== 'Identifier') return false if (secondArg.name === primaryVarDec?.id?.name) return true diff --git a/src/lang/std/sketchcombos.ts b/src/lang/std/sketchcombos.ts index e4c5247b6..d2ae1e413 100644 --- a/src/lang/std/sketchcombos.ts +++ b/src/lang/std/sketchcombos.ts @@ -17,7 +17,7 @@ import { VariableDeclarator, PathToNode, ProgramMemory, - sketchGroupFromKclValue, + sketchFromKclValue, Literal, } from '../wasm' import { @@ -1702,33 +1702,29 @@ export function transformAstSketchLines({ const varName = varDec.node.id.name let kclVal = programMemory.get(varName) - let sketchGroup - if (kclVal?.type === 'ExtrudeGroup') { - sketchGroup = kclVal.sketchGroup + let sketch + if (kclVal?.type === 'Solid') { + sketch = kclVal.sketch } else { - sketchGroup = sketchGroupFromKclValue(kclVal, varName) - if (err(sketchGroup)) { + sketch = sketchFromKclValue(kclVal, varName) + if (err(sketch)) { return } } - const segMeta = getSketchSegmentFromPathToNode( - sketchGroup, - ast, - _pathToNode - ) + const segMeta = getSketchSegmentFromPathToNode(sketch, ast, _pathToNode) if (err(segMeta)) return segMeta const seg = segMeta.segment let referencedSegment if (referencedSegmentRange) { const _segment = getSketchSegmentFromSourceRange( - sketchGroup, + sketch, referencedSegmentRange ) if (err(_segment)) return _segment referencedSegment = _segment.segment } else { - referencedSegment = sketchGroup.value.find( + referencedSegment = sketch.value.find( (path) => path.tag?.value === _referencedSegmentName ) } diff --git a/src/lang/tokeniser.test.ts b/src/lang/tokeniser.test.ts index d37f7df6d..7a6998a6c 100644 --- a/src/lang/tokeniser.test.ts +++ b/src/lang/tokeniser.test.ts @@ -179,7 +179,7 @@ const yi=45` lineTo(2, 3) } |> rx(45, %)`) expect(result).toEqual([ - "word 'sketch' from 0 to 6", + "type 'sketch' from 0 to 6", "whitespace ' ' from 6 to 7", "word 'mySketch' from 7 to 15", "whitespace ' ' from 15 to 16", diff --git a/src/lang/wasm.ts b/src/lang/wasm.ts index 68b799270..59e397d90 100644 --- a/src/lang/wasm.ts +++ b/src/lang/wasm.ts @@ -36,7 +36,7 @@ import { err } from 'lib/trap' import { Configuration } from 'wasm-lib/kcl/bindings/Configuration' import { DeepPartial } from 'lib/types' import { ProjectConfiguration } from 'wasm-lib/kcl/bindings/ProjectConfiguration' -import { SketchGroup } from '../wasm-lib/kcl/bindings/SketchGroup' +import { Sketch } from '../wasm-lib/kcl/bindings/Sketch' export type { Program } from '../wasm-lib/kcl/bindings/Program' export type { Expr } from '../wasm-lib/kcl/bindings/Expr' @@ -80,8 +80,8 @@ export type SyntaxType = export type { SourceRange } from '../wasm-lib/kcl/bindings/SourceRange' export type { Path } from '../wasm-lib/kcl/bindings/Path' -export type { SketchGroup } from '../wasm-lib/kcl/bindings/SketchGroup' -export type { ExtrudeGroup } from '../wasm-lib/kcl/bindings/ExtrudeGroup' +export type { Sketch } from '../wasm-lib/kcl/bindings/Sketch' +export type { Solid } from '../wasm-lib/kcl/bindings/Solid' export type { KclValue } from '../wasm-lib/kcl/bindings/KclValue' export type { ExtrudeSurface } from '../wasm-lib/kcl/bindings/ExtrudeSurface' @@ -307,11 +307,11 @@ export class ProgramMemory { } /** - * Returns true if any visible variables are a SketchGroup or ExtrudeGroup. + * Returns true if any visible variables are a Sketch or Solid. */ - hasSketchOrExtrudeGroup(): boolean { + hasSketchOrSolid(): boolean { for (const node of this.visibleEntries().values()) { - if (node.type === 'ExtrudeGroup' || node.value?.type === 'SketchGroup') { + if (node.type === 'Solid' || node.value?.type === 'Sketch') { return true } } @@ -332,13 +332,13 @@ export class ProgramMemory { } // TODO: In the future, make the parameter be a KclValue. -export function sketchGroupFromKclValue( +export function sketchFromKclValue( obj: any, varName: string | null -): SketchGroup | Error { - if (obj?.value?.type === 'SketchGroup') return obj.value - if (obj?.value?.type === 'ExtrudeGroup') return obj.value.sketchGroup - if (obj?.type === 'ExtrudeGroup') return obj.sketchGroup +): Sketch | Error { + if (obj?.value?.type === 'Sketch') return obj.value + if (obj?.value?.type === 'Solid') return obj.value.sketch + if (obj?.type === 'Solid') return obj.sketch if (!varName) { varName = 'a KCL value' } @@ -346,10 +346,10 @@ export function sketchGroupFromKclValue( if (actualType) { console.log(obj) return new Error( - `Expected ${varName} to be a sketchGroup or extrudeGroup, but it was ${actualType} instead.` + `Expected ${varName} to be a sketch or solid, but it was ${actualType} instead.` ) } else { - return new Error(`Expected ${varName} to be a sketchGroup, but it wasn't.`) + return new Error(`Expected ${varName} to be a sketch, but it wasn't.`) } } diff --git a/src/wasm-lib/Cargo.lock b/src/wasm-lib/Cargo.lock index f5844cf7d..c84d30a8a 100644 --- a/src/wasm-lib/Cargo.lock +++ b/src/wasm-lib/Cargo.lock @@ -690,7 +690,7 @@ dependencies = [ [[package]] name = "derive-docs" -version = "0.1.28" +version = "0.1.29" dependencies = [ "Inflector", "anyhow", @@ -1414,7 +1414,7 @@ dependencies = [ [[package]] name = "kcl-lib" -version = "0.2.19" +version = "0.2.20" dependencies = [ "anyhow", "approx 0.5.1", @@ -1489,7 +1489,7 @@ dependencies = [ [[package]] name = "kcl-test-server" -version = "0.1.11" +version = "0.1.12" dependencies = [ "anyhow", "hyper", diff --git a/src/wasm-lib/derive-docs/Cargo.toml b/src/wasm-lib/derive-docs/Cargo.toml index 30236f5aa..447787822 100644 --- a/src/wasm-lib/derive-docs/Cargo.toml +++ b/src/wasm-lib/derive-docs/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "derive-docs" description = "A tool for generating documentation from Rust derive macros" -version = "0.1.28" +version = "0.1.29" edition = "2021" license = "MIT" repository = "https://github.com/KittyCAD/modeling-app" diff --git a/src/wasm-lib/derive-docs/src/tests.rs b/src/wasm-lib/derive-docs/src/tests.rs index 71cf081e6..a0485b2b6 100644 --- a/src/wasm-lib/derive-docs/src/tests.rs +++ b/src/wasm-lib/derive-docs/src/tests.rs @@ -132,9 +132,9 @@ fn test_stdlib_line_to() { /// ``` fn inner_line_to( data: LineToData, - sketch_group: SketchGroup, + sketch: Sketch, args: &Args, - ) -> Result { + ) -> Result { Ok(()) } }, @@ -329,7 +329,7 @@ fn test_stdlib_option_input_format() { } #[test] -fn test_stdlib_return_vec_sketch_group() { +fn test_stdlib_return_vec_sketch() { let (item, errors) = do_stdlib( quote! { name = "import", @@ -344,7 +344,7 @@ fn test_stdlib_return_vec_sketch_group() { fn inner_import( /// The args to do shit to. args: Option - ) -> Result> { + ) -> Result> { args } }, @@ -352,11 +352,11 @@ fn test_stdlib_return_vec_sketch_group() { .unwrap(); assert!(errors.is_empty()); - expectorate::assert_contents("tests/return_vec_sketch_group.gen", &get_text_fmt(&item).unwrap()); + expectorate::assert_contents("tests/return_vec_sketch.gen", &get_text_fmt(&item).unwrap()); } #[test] -fn test_stdlib_return_vec_box_sketch_group() { +fn test_stdlib_return_vec_box_sketch() { let (item, errors) = do_stdlib( quote! { name = "import", @@ -371,7 +371,7 @@ fn test_stdlib_return_vec_box_sketch_group() { fn inner_import( /// The args to do shit to. args: Option - ) -> Result>> { + ) -> Result>> { args } }, @@ -379,7 +379,7 @@ fn test_stdlib_return_vec_box_sketch_group() { .unwrap(); assert!(errors.is_empty()); - expectorate::assert_contents("tests/return_vec_box_sketch_group.gen", &get_text_fmt(&item).unwrap()); + expectorate::assert_contents("tests/return_vec_box_sketch.gen", &get_text_fmt(&item).unwrap()); } #[test] @@ -404,7 +404,7 @@ fn test_stdlib_doc_comment_with_code() { fn inner_my_func( /// The args to do shit to. args: Option - ) -> Result>> { + ) -> Result>> { args } }, @@ -435,7 +435,7 @@ fn test_stdlib_fail_non_camel_case() { fn inner_import_thing( /// The args to do shit to. args: Option - ) -> Result>> { + ) -> Result>> { args } }, @@ -459,7 +459,7 @@ fn test_stdlib_fail_no_code_block() { fn inner_import( /// The args to do shit to. args: Option - ) -> Result>> { + ) -> Result>> { args } }, @@ -493,7 +493,7 @@ fn test_stdlib_fail_name_not_in_code_block() { fn inner_import( /// The args to do shit to. args: Option - ) -> Result>> { + ) -> Result>> { args } }, diff --git a/src/wasm-lib/derive-docs/tests/doc_comment_with_code.gen b/src/wasm-lib/derive-docs/tests/doc_comment_with_code.gen index 9f4166161..2af1e49f2 100644 --- a/src/wasm-lib/derive-docs/tests/doc_comment_with_code.gen +++ b/src/wasm-lib/derive-docs/tests/doc_comment_with_code.gen @@ -126,8 +126,8 @@ impl crate::docs::StdLibFn for MyFunc { let mut generator = schemars::gen::SchemaGenerator::new(settings); Some(crate::docs::StdLibFnArg { name: "".to_string(), - type_: "[SketchGroup]".to_string(), - schema: >::json_schema(&mut generator), + type_: "[Sketch]".to_string(), + schema: >::json_schema(&mut generator), required: true, }) } @@ -181,6 +181,6 @@ impl crate::docs::StdLibFn for MyFunc { #[doc = r" ```"] fn inner_my_func( #[doc = r" The args to do shit to."] args: Option, -) -> Result>> { +) -> Result>> { args } diff --git a/src/wasm-lib/derive-docs/tests/lineTo.gen b/src/wasm-lib/derive-docs/tests/lineTo.gen index 0cd79c088..77d3a3172 100644 --- a/src/wasm-lib/derive-docs/tests/lineTo.gen +++ b/src/wasm-lib/derive-docs/tests/lineTo.gen @@ -120,9 +120,9 @@ impl crate::docs::StdLibFn for LineTo { required: true, }, crate::docs::StdLibFnArg { - name: "sketch_group".to_string(), - type_: "SketchGroup".to_string(), - schema: SketchGroup::json_schema(&mut generator), + name: "sketch".to_string(), + type_: "Sketch".to_string(), + schema: Sketch::json_schema(&mut generator), required: true, }, ] @@ -134,8 +134,8 @@ impl crate::docs::StdLibFn for LineTo { let mut generator = schemars::gen::SchemaGenerator::new(settings); Some(crate::docs::StdLibFnArg { name: "".to_string(), - type_: "SketchGroup".to_string(), - schema: ::json_schema(&mut generator), + type_: "Sketch".to_string(), + schema: ::json_schema(&mut generator), required: true, }) } @@ -187,10 +187,6 @@ impl crate::docs::StdLibFn for LineTo { #[doc = r" yes sirrr."] #[doc = r" lineTo"] #[doc = r" ```"] -fn inner_line_to( - data: LineToData, - sketch_group: SketchGroup, - args: &Args, -) -> Result { +fn inner_line_to(data: LineToData, sketch: Sketch, args: &Args) -> Result { Ok(()) } diff --git a/src/wasm-lib/derive-docs/tests/return_vec_sketch_group.gen b/src/wasm-lib/derive-docs/tests/return_vec_box_sketch.gen similarity index 96% rename from src/wasm-lib/derive-docs/tests/return_vec_sketch_group.gen rename to src/wasm-lib/derive-docs/tests/return_vec_box_sketch.gen index dbfd8fdbd..95d5bdf63 100644 --- a/src/wasm-lib/derive-docs/tests/return_vec_sketch_group.gen +++ b/src/wasm-lib/derive-docs/tests/return_vec_box_sketch.gen @@ -92,8 +92,8 @@ impl crate::docs::StdLibFn for Import { let mut generator = schemars::gen::SchemaGenerator::new(settings); Some(crate::docs::StdLibFnArg { name: "".to_string(), - type_: "[SketchGroup]".to_string(), - schema: >::json_schema(&mut generator), + type_: "[Sketch]".to_string(), + schema: >::json_schema(&mut generator), required: true, }) } @@ -138,6 +138,6 @@ impl crate::docs::StdLibFn for Import { #[doc = r" import"] fn inner_import( #[doc = r" The args to do shit to."] args: Option, -) -> Result> { +) -> Result>> { args } diff --git a/src/wasm-lib/derive-docs/tests/return_vec_box_sketch_group.gen b/src/wasm-lib/derive-docs/tests/return_vec_sketch.gen similarity index 96% rename from src/wasm-lib/derive-docs/tests/return_vec_box_sketch_group.gen rename to src/wasm-lib/derive-docs/tests/return_vec_sketch.gen index 6aab24172..74fbf52a8 100644 --- a/src/wasm-lib/derive-docs/tests/return_vec_box_sketch_group.gen +++ b/src/wasm-lib/derive-docs/tests/return_vec_sketch.gen @@ -92,8 +92,8 @@ impl crate::docs::StdLibFn for Import { let mut generator = schemars::gen::SchemaGenerator::new(settings); Some(crate::docs::StdLibFnArg { name: "".to_string(), - type_: "[SketchGroup]".to_string(), - schema: >::json_schema(&mut generator), + type_: "[Sketch]".to_string(), + schema: >::json_schema(&mut generator), required: true, }) } @@ -138,6 +138,6 @@ impl crate::docs::StdLibFn for Import { #[doc = r" import"] fn inner_import( #[doc = r" The args to do shit to."] args: Option, -) -> Result>> { +) -> Result> { args } diff --git a/src/wasm-lib/kcl-test-server/Cargo.toml b/src/wasm-lib/kcl-test-server/Cargo.toml index d05a74484..3a9007d70 100644 --- a/src/wasm-lib/kcl-test-server/Cargo.toml +++ b/src/wasm-lib/kcl-test-server/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "kcl-test-server" description = "A test server for KCL" -version = "0.1.11" +version = "0.1.12" edition = "2021" license = "MIT" diff --git a/src/wasm-lib/kcl/Cargo.toml b/src/wasm-lib/kcl/Cargo.toml index bcc30737e..77f893365 100644 --- a/src/wasm-lib/kcl/Cargo.toml +++ b/src/wasm-lib/kcl/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "kcl-lib" description = "KittyCAD Language implementation and tools" -version = "0.2.19" +version = "0.2.20" edition = "2021" license = "MIT" repository = "https://github.com/KittyCAD/modeling-app" @@ -20,7 +20,7 @@ clap = { version = "4.5.18", default-features = false, optional = true, features convert_case = "0.6.0" dashmap = "6.1.0" databake = { version = "0.1.8", features = ["derive"] } -derive-docs = { version = "0.1.28", path = "../derive-docs" } +derive-docs = { version = "0.1.29", path = "../derive-docs" } form_urlencoded = "1.2.1" futures = { version = "0.3.30" } git_rev = "0.1.0" diff --git a/src/wasm-lib/kcl/src/ast/types.rs b/src/wasm-lib/kcl/src/ast/types.rs index 4e2ebc213..13d0a022b 100644 --- a/src/wasm-lib/kcl/src/ast/types.rs +++ b/src/wasm-lib/kcl/src/ast/types.rs @@ -23,8 +23,8 @@ use crate::{ docs::StdLibFn, errors::{KclError, KclErrorDetails}, executor::{ - BodyType, ExecState, ExecutorContext, KclValue, Metadata, SketchGroup, SourceRange, StatementKind, - TagEngineInfo, TagIdentifier, UserVal, + BodyType, ExecState, ExecutorContext, KclValue, Metadata, Sketch, SourceRange, StatementKind, TagEngineInfo, + TagIdentifier, UserVal, }, parser::PIPE_OPERATOR, std::{kcl_stdlib::KclStdLibFn, FunctionKind}, @@ -1200,24 +1200,24 @@ impl CallExpression { let args = crate::std::Args::new(fn_args, self.into(), ctx.clone()); let mut result = func.std_lib_fn()(exec_state, args).await?; - // If the return result is a sketch group or extrude group, we want to update the + // If the return result is a sketch or solid, we want to update the // memory for the tags of the group. // TODO: This could probably be done in a better way, but as of now this was my only idea // and it works. match result { KclValue::UserVal(ref mut uval) => { - uval.mutate(|sketch_group: &mut SketchGroup| { - for (_, tag) in sketch_group.tags.iter() { + uval.mutate(|sketch: &mut Sketch| { + for (_, tag) in sketch.tags.iter() { exec_state.memory.update_tag(&tag.value, tag.clone())?; } Ok::<_, KclError>(()) })?; } - KclValue::ExtrudeGroup(ref mut extrude_group) => { - for value in &extrude_group.value { + KclValue::Solid(ref mut solid) => { + for value in &solid.value { if let Some(tag) = value.get_tag() { // Get the past tag and update it. - let mut t = if let Some(t) = extrude_group.sketch_group.tags.get(&tag.name) { + let mut t = if let Some(t) = solid.sketch.tags.get(&tag.name) { t.clone() } else { // It's probably a fillet or a chamfer. @@ -1228,7 +1228,7 @@ impl CallExpression { id: value.get_id(), surface: Some(value.clone()), path: None, - sketch_group: extrude_group.id, + sketch: solid.id, }), meta: vec![Metadata { source_range: tag.clone().into(), @@ -1245,23 +1245,23 @@ impl CallExpression { let mut info = info.clone(); info.surface = Some(value.clone()); - info.sketch_group = extrude_group.id; + info.sketch = solid.id; t.info = Some(info); exec_state.memory.update_tag(&tag.name, t.clone())?; - // update the sketch group tags. - extrude_group.sketch_group.tags.insert(tag.name.clone(), t); + // update the sketch tags. + solid.sketch.tags.insert(tag.name.clone(), t); } } - // Find the stale sketch group in memory and update it. + // Find the stale sketch in memory and update it. if let Some(current_env) = exec_state .memory .environments .get_mut(exec_state.memory.current_env.index()) { - current_env.update_sketch_group_tags(&extrude_group.sketch_group); + current_env.update_sketch_tags(&solid.sketch); } } _ => {} @@ -3179,12 +3179,12 @@ pub enum FnArgPrimitive { Boolean, /// A tag. Tag, - /// A sketch group type. - SketchGroup, + /// A sketch type. + Sketch, /// A sketch surface type. SketchSurface, - /// An extrude group type. - ExtrudeGroup, + /// An solid type. + Solid, } impl FnArgPrimitive { @@ -3194,9 +3194,9 @@ impl FnArgPrimitive { FnArgPrimitive::Number => b"number", FnArgPrimitive::Boolean => b"boolean", FnArgPrimitive::Tag => b"tag", - FnArgPrimitive::SketchGroup => b"sketchgroup", - FnArgPrimitive::SketchSurface => b"sketchsurface", - FnArgPrimitive::ExtrudeGroup => b"extrudegroup", + FnArgPrimitive::Sketch => b"sketch", + FnArgPrimitive::SketchSurface => b"sketch_surface", + FnArgPrimitive::Solid => b"solid", } } } diff --git a/src/wasm-lib/kcl/src/docs/gen_std_tests.rs b/src/wasm-lib/kcl/src/docs/gen_std_tests.rs index d799495c8..161ba6b86 100644 --- a/src/wasm-lib/kcl/src/docs/gen_std_tests.rs +++ b/src/wasm-lib/kcl/src/docs/gen_std_tests.rs @@ -334,7 +334,7 @@ fn generate_type(name: &str, schema: &schemars::schema::Schema) -> Result<()> { let data = json!(schemars::schema::Schema::Object(object)); let output = hbs.render("type", &data)?; - expectorate::assert_contents(format!("{}/{}.md", TYPES_DIR, name), &output); + std::fs::write(format!("{}/{}.md", TYPES_DIR, name), output)?; Ok(()) } diff --git a/src/wasm-lib/kcl/src/docs/mod.rs b/src/wasm-lib/kcl/src/docs/mod.rs index eeb92804b..661aaa9bf 100644 --- a/src/wasm-lib/kcl/src/docs/mod.rs +++ b/src/wasm-lib/kcl/src/docs/mod.rs @@ -68,12 +68,12 @@ impl StdLibFnArg { } pub fn get_autocomplete_snippet(&self, index: usize) -> Result> { - if self.type_ == "SketchGroup" - || self.type_ == "SketchGroupSet" - || self.type_ == "ExtrudeGroup" - || self.type_ == "ExtrudeGroupSet" + if self.type_ == "Sketch" + || self.type_ == "SketchSet" + || self.type_ == "Solid" + || self.type_ == "SolidSet" || self.type_ == "SketchSurface" - || self.type_ == "SketchSurfaceOrGroup" + || self.type_ == "SketchOrSurface" { return Ok(Some((index, format!("${{{}:{}}}", index, "%")))); } else if self.type_ == "TagDeclarator" && self.required { diff --git a/src/wasm-lib/kcl/src/docs/templates/propertyType.hbs b/src/wasm-lib/kcl/src/docs/templates/propertyType.hbs index 75ea7c388..08b8a8bf5 100644 --- a/src/wasm-lib/kcl/src/docs/templates/propertyType.hbs +++ b/src/wasm-lib/kcl/src/docs/templates/propertyType.hbs @@ -1,13 +1,7 @@ {{~ #if $ref ~}} -[{{basename $ref}}](#{{lowercase (basename $ref)}}) -{{else if anyOf ~}} -`anyOf` -{{else if oneOf ~}} -`oneOf` -{{else if allOf ~}} -`allOf` -{{else if enum ~}} -enum: {{pretty_enum enum}} -{{else ~}} -`{{type}}`{{#if format}} (`{{format}}`){{/if}} -{{~/if~}} +[{{basename $ref}}](#{{lowercase (basename $ref)}}){{else if anyOf ~}} +`anyOf`{{else if oneOf ~}} +`oneOf`{{else if allOf ~}} +`allOf`{{else if enum ~}} +enum: {{pretty_enum enum}}{{else ~}} +`{{type}}`{{#if format}} (`{{format}}`){{/if}}{{~/if~}} diff --git a/src/wasm-lib/kcl/src/executor.rs b/src/wasm-lib/kcl/src/executor.rs index 321342805..f457b064b 100644 --- a/src/wasm-lib/kcl/src/executor.rs +++ b/src/wasm-lib/kcl/src/executor.rs @@ -115,17 +115,17 @@ impl ProgramMemory { })) } - /// Find all extrude groups in the memory that are on a specific sketch group id. + /// Find all solids in the memory that are on a specific sketch id. /// This does not look inside closures. But as long as we do not allow /// mutation of variables in KCL, closure memory should be a subset of this. - pub fn find_extrude_groups_on_sketch_group(&self, sketch_group_id: uuid::Uuid) -> Vec> { + pub fn find_solids_on_sketch(&self, sketch_id: uuid::Uuid) -> Vec> { self.environments .iter() .flat_map(|env| { env.bindings .values() .filter_map(|item| match item { - KclValue::ExtrudeGroup(eg) if eg.sketch_group.id == sketch_group_id => Some(eg.clone()), + KclValue::Solid(eg) if eg.sketch.id == sketch_id => Some(eg.clone()), _ => None, }) .collect::>() @@ -222,7 +222,7 @@ impl Environment { self.bindings.contains_key(key) } - pub fn update_sketch_group_tags(&mut self, sg: &SketchGroup) { + pub fn update_sketch_tags(&mut self, sg: &Sketch) { if sg.tags.is_empty() { return; } @@ -230,19 +230,19 @@ impl Environment { for (_, val) in self.bindings.iter_mut() { let KclValue::UserVal(v) = val else { continue }; let meta = v.meta.clone(); - let maybe_sg: Result = serde_json::from_value(v.value.clone()); - let Ok(mut sketch_group) = maybe_sg else { + let maybe_sg: Result = serde_json::from_value(v.value.clone()); + let Ok(mut sketch) = maybe_sg else { continue; }; - if sketch_group.original_id == sg.original_id { + if sketch.original_id == sg.original_id { for tag in sg.tags.iter() { - sketch_group.tags.insert(tag.0.clone(), tag.1.clone()); + sketch.tags.insert(tag.0.clone(), tag.1.clone()); } } *val = KclValue::UserVal(UserVal { meta, - value: serde_json::to_value(sketch_group).expect("can always turn SketchGroup into JSON"), + value: serde_json::to_value(sketch).expect("can always turn Sketch into JSON"), }); } } @@ -253,7 +253,7 @@ impl Environment { /// stack of exception handlers here. #[derive(Debug, Default, Clone, PartialEq, Eq, Deserialize, Serialize, ts_rs::TS, JsonSchema)] pub struct DynamicState { - pub extrude_group_ids: Vec, + pub solid_ids: Vec, } impl DynamicState { @@ -271,18 +271,18 @@ impl DynamicState { pub fn append(&mut self, memory: &ProgramMemory) { for env in &memory.environments { for item in env.bindings.values() { - if let KclValue::ExtrudeGroup(eg) = item { - self.extrude_group_ids.push(ExtrudeGroupLazyIds::from(eg.as_ref())); + if let KclValue::Solid(eg) = item { + self.solid_ids.push(SolidLazyIds::from(eg.as_ref())); } } } } - pub fn edge_cut_ids_on_sketch_group(&self, sketch_group_id: uuid::Uuid) -> Vec { - self.extrude_group_ids + pub fn edge_cut_ids_on_sketch(&self, sketch_id: uuid::Uuid) -> Vec { + self.solid_ids .iter() .flat_map(|eg| { - if eg.sketch_group_id == sketch_group_id { + if eg.sketch_id == sketch_id { eg.edge_cuts.clone() } else { Vec::new() @@ -303,9 +303,9 @@ pub enum KclValue { Plane(Box), Face(Box), - ExtrudeGroup(Box), - ExtrudeGroups { - value: Vec>, + Solid(Box), + Solids { + value: Vec>, }, ImportedGeometry(ImportedGeometry), #[ts(skip)] @@ -324,26 +324,26 @@ impl KclValue { Self::UserVal(UserVal::new(meta, val)) } - pub(crate) fn get_extrude_group_set(&self) -> Result { + pub(crate) fn get_solid_set(&self) -> Result { match self { - KclValue::ExtrudeGroup(e) => Ok(ExtrudeGroupSet::ExtrudeGroup(e.clone())), - KclValue::ExtrudeGroups { value } => Ok(ExtrudeGroupSet::ExtrudeGroups(value.clone())), + KclValue::Solid(e) => Ok(SolidSet::Solid(e.clone())), + KclValue::Solids { value } => Ok(SolidSet::Solids(value.clone())), KclValue::UserVal(value) => { let value = value.value.clone(); match value { JValue::Null | JValue::Bool(_) | JValue::Number(_) | JValue::String(_) => Err(anyhow::anyhow!( - "Failed to deserialize extrude group set from JSON {}", + "Failed to deserialize solid set from JSON {}", human_friendly_type(&value) )), - JValue::Array(_) => serde_json::from_value::>>(value) - .map(ExtrudeGroupSet::from) - .map_err(|e| anyhow::anyhow!("Failed to deserialize array of extrude groups from JSON: {}", e)), - JValue::Object(_) => serde_json::from_value::>(value) - .map(ExtrudeGroupSet::from) - .map_err(|e| anyhow::anyhow!("Failed to deserialize extrude group from JSON: {}", e)), + JValue::Array(_) => serde_json::from_value::>>(value) + .map(SolidSet::from) + .map_err(|e| anyhow::anyhow!("Failed to deserialize array of solids from JSON: {}", e)), + JValue::Object(_) => serde_json::from_value::>(value) + .map(SolidSet::from) + .map_err(|e| anyhow::anyhow!("Failed to deserialize solid from JSON: {}", e)), } } - _ => anyhow::bail!("Not a extrude group or extrude groups: {:?}", self), + _ => anyhow::bail!("Not a solid or solids: {:?}", self), } } @@ -354,8 +354,8 @@ impl KclValue { KclValue::UserVal(u) => human_friendly_type(&u.value), KclValue::TagDeclarator(_) => "TagDeclarator", KclValue::TagIdentifier(_) => "TagIdentifier", - KclValue::ExtrudeGroup(_) => "ExtrudeGroup", - KclValue::ExtrudeGroups { .. } => "ExtrudeGroups", + KclValue::Solid(_) => "Solid", + KclValue::Solids { .. } => "Solids", KclValue::ImportedGeometry(_) => "ImportedGeometry", KclValue::Function { .. } => "Function", KclValue::Plane(_) => "Plane", @@ -364,34 +364,34 @@ impl KclValue { } } -impl From for KclValue { - fn from(sg: SketchGroupSet) -> Self { +impl From for KclValue { + fn from(sg: SketchSet) -> Self { KclValue::UserVal(UserVal::new(sg.meta(), sg)) } } -impl From>> for KclValue { - fn from(sg: Vec>) -> Self { +impl From>> for KclValue { + fn from(sg: Vec>) -> Self { let meta = sg.iter().flat_map(|sg| sg.meta.clone()).collect(); KclValue::UserVal(UserVal::new(meta, sg)) } } -impl From for KclValue { - fn from(eg: ExtrudeGroupSet) -> Self { +impl From for KclValue { + fn from(eg: SolidSet) -> Self { match eg { - ExtrudeGroupSet::ExtrudeGroup(eg) => KclValue::ExtrudeGroup(eg), - ExtrudeGroupSet::ExtrudeGroups(egs) => KclValue::ExtrudeGroups { value: egs }, + SolidSet::Solid(eg) => KclValue::Solid(eg), + SolidSet::Solids(egs) => KclValue::Solids { value: egs }, } } } -impl From>> for KclValue { - fn from(eg: Vec>) -> Self { +impl From>> for KclValue { + fn from(eg: Vec>) -> Self { if eg.len() == 1 { - KclValue::ExtrudeGroup(eg[0].clone()) + KclValue::Solid(eg[0].clone()) } else { - KclValue::ExtrudeGroups { value: eg } + KclValue::Solids { value: eg } } } } @@ -401,15 +401,15 @@ impl From>> for KclValue { #[ts(export)] #[serde(tag = "type")] pub enum Geometry { - SketchGroup(Box), - ExtrudeGroup(Box), + Sketch(Box), + Solid(Box), } impl Geometry { pub fn id(&self) -> uuid::Uuid { match self { - Geometry::SketchGroup(s) => s.id, - Geometry::ExtrudeGroup(e) => e.id, + Geometry::Sketch(s) => s.id, + Geometry::Solid(e) => e.id, } } } @@ -419,148 +419,148 @@ impl Geometry { #[ts(export)] #[serde(tag = "type")] pub enum Geometries { - SketchGroups(Vec>), - ExtrudeGroups(Vec>), + Sketches(Vec>), + Solids(Vec>), } -/// A sketch group or a group of sketch groups. +/// A sketch or a group of sketches. #[derive(Debug, Clone, Deserialize, Serialize, PartialEq, ts_rs::TS, JsonSchema)] #[ts(export)] #[serde(tag = "type", rename_all = "camelCase")] -pub enum SketchGroupSet { - SketchGroup(Box), - SketchGroups(Vec>), +pub enum SketchSet { + Sketch(Box), + Sketches(Vec>), } -impl SketchGroupSet { +impl SketchSet { pub fn meta(&self) -> Vec { match self { - SketchGroupSet::SketchGroup(sg) => sg.meta.clone(), - SketchGroupSet::SketchGroups(sg) => sg.iter().flat_map(|sg| sg.meta.clone()).collect(), + SketchSet::Sketch(sg) => sg.meta.clone(), + SketchSet::Sketches(sg) => sg.iter().flat_map(|sg| sg.meta.clone()).collect(), } } } -impl From for Vec { - fn from(value: SketchGroupSet) -> Self { +impl From for Vec { + fn from(value: SketchSet) -> Self { match value { - SketchGroupSet::SketchGroup(sg) => vec![*sg], - SketchGroupSet::SketchGroups(sgs) => sgs.into_iter().map(|sg| *sg).collect(), + SketchSet::Sketch(sg) => vec![*sg], + SketchSet::Sketches(sgs) => sgs.into_iter().map(|sg| *sg).collect(), } } } -impl From for SketchGroupSet { - fn from(sg: SketchGroup) -> Self { - SketchGroupSet::SketchGroup(Box::new(sg)) +impl From for SketchSet { + fn from(sg: Sketch) -> Self { + SketchSet::Sketch(Box::new(sg)) } } -impl From> for SketchGroupSet { - fn from(sg: Box) -> Self { - SketchGroupSet::SketchGroup(sg) +impl From> for SketchSet { + fn from(sg: Box) -> Self { + SketchSet::Sketch(sg) } } -impl From> for SketchGroupSet { - fn from(sg: Vec) -> Self { +impl From> for SketchSet { + fn from(sg: Vec) -> Self { if sg.len() == 1 { - SketchGroupSet::SketchGroup(Box::new(sg[0].clone())) + SketchSet::Sketch(Box::new(sg[0].clone())) } else { - SketchGroupSet::SketchGroups(sg.into_iter().map(Box::new).collect()) + SketchSet::Sketches(sg.into_iter().map(Box::new).collect()) } } } -impl From>> for SketchGroupSet { - fn from(sg: Vec>) -> Self { +impl From>> for SketchSet { + fn from(sg: Vec>) -> Self { if sg.len() == 1 { - SketchGroupSet::SketchGroup(sg[0].clone()) + SketchSet::Sketch(sg[0].clone()) } else { - SketchGroupSet::SketchGroups(sg) + SketchSet::Sketches(sg) } } } -impl From for Vec> { - fn from(sg: SketchGroupSet) -> Self { +impl From for Vec> { + fn from(sg: SketchSet) -> Self { match sg { - SketchGroupSet::SketchGroup(sg) => vec![sg], - SketchGroupSet::SketchGroups(sgs) => sgs, + SketchSet::Sketch(sg) => vec![sg], + SketchSet::Sketches(sgs) => sgs, } } } -impl From<&SketchGroup> for Vec> { - fn from(sg: &SketchGroup) -> Self { +impl From<&Sketch> for Vec> { + fn from(sg: &Sketch) -> Self { vec![Box::new(sg.clone())] } } -impl From> for Vec> { - fn from(sg: Box) -> Self { +impl From> for Vec> { + fn from(sg: Box) -> Self { vec![sg] } } -/// A extrude group or a group of extrude groups. +/// A solid or a group of solids. #[derive(Debug, Clone, Deserialize, Serialize, PartialEq, ts_rs::TS, JsonSchema)] #[ts(export)] #[serde(tag = "type", rename_all = "camelCase")] -pub enum ExtrudeGroupSet { - ExtrudeGroup(Box), - ExtrudeGroups(Vec>), +pub enum SolidSet { + Solid(Box), + Solids(Vec>), } -impl From for ExtrudeGroupSet { - fn from(eg: ExtrudeGroup) -> Self { - ExtrudeGroupSet::ExtrudeGroup(Box::new(eg)) +impl From for SolidSet { + fn from(eg: Solid) -> Self { + SolidSet::Solid(Box::new(eg)) } } -impl From> for ExtrudeGroupSet { - fn from(eg: Box) -> Self { - ExtrudeGroupSet::ExtrudeGroup(eg) +impl From> for SolidSet { + fn from(eg: Box) -> Self { + SolidSet::Solid(eg) } } -impl From> for ExtrudeGroupSet { - fn from(eg: Vec) -> Self { +impl From> for SolidSet { + fn from(eg: Vec) -> Self { if eg.len() == 1 { - ExtrudeGroupSet::ExtrudeGroup(Box::new(eg[0].clone())) + SolidSet::Solid(Box::new(eg[0].clone())) } else { - ExtrudeGroupSet::ExtrudeGroups(eg.into_iter().map(Box::new).collect()) + SolidSet::Solids(eg.into_iter().map(Box::new).collect()) } } } -impl From>> for ExtrudeGroupSet { - fn from(eg: Vec>) -> Self { +impl From>> for SolidSet { + fn from(eg: Vec>) -> Self { if eg.len() == 1 { - ExtrudeGroupSet::ExtrudeGroup(eg[0].clone()) + SolidSet::Solid(eg[0].clone()) } else { - ExtrudeGroupSet::ExtrudeGroups(eg) + SolidSet::Solids(eg) } } } -impl From for Vec> { - fn from(eg: ExtrudeGroupSet) -> Self { +impl From for Vec> { + fn from(eg: SolidSet) -> Self { match eg { - ExtrudeGroupSet::ExtrudeGroup(eg) => vec![eg], - ExtrudeGroupSet::ExtrudeGroups(egs) => egs, + SolidSet::Solid(eg) => vec![eg], + SolidSet::Solids(egs) => egs, } } } -impl From<&ExtrudeGroup> for Vec> { - fn from(eg: &ExtrudeGroup) -> Self { +impl From<&Solid> for Vec> { + fn from(eg: &Solid) -> Self { vec![Box::new(eg.clone())] } } -impl From> for Vec> { - fn from(eg: Box) -> Self { +impl From> for Vec> { + fn from(eg: Box) -> Self { vec![eg] } } @@ -626,8 +626,8 @@ pub struct Face { pub y_axis: Point3d, /// The z-axis (normal). pub z_axis: Point3d, - /// The extrude group the face is on. - pub extrude_group: Box, + /// The solid the face is on. + pub solid: Box, #[serde(rename = "__meta")] pub meta: Vec, } @@ -763,8 +763,8 @@ impl From for Vec { KclValue::UserVal(u) => u.meta.iter().map(|m| m.source_range).collect(), KclValue::TagDeclarator(t) => t.into(), KclValue::TagIdentifier(t) => t.meta.iter().map(|m| m.source_range).collect(), - KclValue::ExtrudeGroup(e) => e.meta.iter().map(|m| m.source_range).collect(), - KclValue::ExtrudeGroups { value } => value + KclValue::Solid(e) => e.meta.iter().map(|m| m.source_range).collect(), + KclValue::Solids { value } => value .iter() .flat_map(|eg| eg.meta.iter().map(|m| m.source_range)) .collect(), @@ -949,31 +949,31 @@ impl KclValue { pub struct TagEngineInfo { /// The id of the tagged object. pub id: uuid::Uuid, - /// The sketch group the tag is on. - pub sketch_group: uuid::Uuid, + /// The sketch the tag is on. + pub sketch: uuid::Uuid, /// The path the tag is on. pub path: Option, /// The surface information for the tag. pub surface: Option, } -/// A sketch group is a collection of paths. +/// A sketch is a collection of paths. #[derive(Debug, Clone, Deserialize, Serialize, PartialEq, ts_rs::TS, JsonSchema)] #[ts(export)] #[serde(tag = "type", rename_all = "camelCase")] -pub struct SketchGroup { - /// The id of the sketch group (this will change when the engine's reference to it changes. +pub struct Sketch { + /// The id of the sketch (this will change when the engine's reference to it changes. pub id: uuid::Uuid, - /// The paths in the sketch group. + /// The paths in the sketch. pub value: Vec, /// What the sketch is on (can be a plane or a face). pub on: SketchSurface, /// The starting path. pub start: BasePath, - /// Tag identifiers that have been declared in this sketch group. + /// Tag identifiers that have been declared in this sketch. #[serde(default, skip_serializing_if = "HashMap::is_empty")] pub tags: HashMap, - /// The original id of the sketch group. This stays the same even if the sketch group is + /// The original id of the sketch. This stays the same even if the sketch is /// is sketched on face etc. #[serde(skip)] pub original_id: uuid::Uuid, @@ -982,7 +982,7 @@ pub struct SketchGroup { pub meta: Vec, } -/// A sketch group type. +/// A sketch type. #[derive(Debug, Clone, Deserialize, Serialize, PartialEq, ts_rs::TS, JsonSchema)] #[ts(export)] #[serde(tag = "type", rename_all = "camelCase")] @@ -1024,13 +1024,13 @@ pub struct GetTangentialInfoFromPathsResult { pub ccw: bool, } -impl SketchGroup { +impl Sketch { pub(crate) fn add_tag(&mut self, tag: &TagDeclarator, current_path: &Path) { let mut tag_identifier: TagIdentifier = tag.into(); let base = current_path.get_base(); tag_identifier.info = Some(TagEngineInfo { id: base.geo_meta.id, - sketch_group: self.id, + sketch: self.id, path: Some(base.clone()), surface: None, }); @@ -1086,24 +1086,24 @@ impl SketchGroup { } } -/// An extrude group is a collection of extrude surfaces. +/// An solid is a collection of extrude surfaces. #[derive(Debug, Clone, Deserialize, Serialize, PartialEq, ts_rs::TS, JsonSchema)] #[ts(export)] #[serde(tag = "type", rename_all = "camelCase")] -pub struct ExtrudeGroup { - /// The id of the extrude group. +pub struct Solid { + /// The id of the solid. pub id: uuid::Uuid, /// The extrude surfaces. pub value: Vec, - /// The sketch group. - pub sketch_group: SketchGroup, - /// The height of the extrude group. + /// The sketch. + pub sketch: Sketch, + /// The height of the solid. pub height: f64, /// The id of the extrusion start cap pub start_cap_id: Option, /// The id of the extrusion end cap pub end_cap_id: Option, - /// Chamfers or fillets on this extrude group. + /// Chamfers or fillets on this solid. #[serde(default, skip_serializing_if = "Vec::is_empty")] pub edge_cuts: Vec, /// Metadata. @@ -1111,28 +1111,28 @@ pub struct ExtrudeGroup { pub meta: Vec, } -impl ExtrudeGroup { +impl Solid { pub(crate) fn get_all_edge_cut_ids(&self) -> Vec { self.edge_cuts.iter().map(|foc| foc.id()).collect() } } -/// An extrude group ID and its fillet and chamfer IDs. This is needed for lazy +/// An solid ID and its fillet and chamfer IDs. This is needed for lazy /// fillet evaluation. #[derive(Debug, Clone, PartialEq, Eq, Deserialize, Serialize, ts_rs::TS, JsonSchema)] -pub struct ExtrudeGroupLazyIds { - pub extrude_group_id: uuid::Uuid, - pub sketch_group_id: uuid::Uuid, - /// Chamfers or fillets on this extrude group. +pub struct SolidLazyIds { + pub solid_id: uuid::Uuid, + pub sketch_id: uuid::Uuid, + /// Chamfers or fillets on this solid. #[serde(default, skip_serializing_if = "Vec::is_empty")] pub edge_cuts: Vec, } -impl From<&ExtrudeGroup> for ExtrudeGroupLazyIds { - fn from(eg: &ExtrudeGroup) -> Self { +impl From<&Solid> for SolidLazyIds { + fn from(eg: &Solid) -> Self { Self { - extrude_group_id: eg.id, - sketch_group_id: eg.sketch_group.id, + solid_id: eg.id, + sketch_id: eg.sketch.id, edge_cuts: eg.edge_cuts.iter().map(|foc| foc.id()).collect(), } } @@ -3197,10 +3197,10 @@ let w = f() + f() #[test] fn test_serialize_memory_item() { - let mem = KclValue::ExtrudeGroups { + let mem = KclValue::Solids { value: Default::default(), }; let json = serde_json::to_string(&mem).unwrap(); - assert_eq!(json, r#"{"type":"ExtrudeGroups","value":[]}"#); + assert_eq!(json, r#"{"type":"Solids","value":[]}"#); } } diff --git a/src/wasm-lib/kcl/src/parser/parser_impl.rs b/src/wasm-lib/kcl/src/parser/parser_impl.rs index 52be4c480..93018cea3 100644 --- a/src/wasm-lib/kcl/src/parser/parser_impl.rs +++ b/src/wasm-lib/kcl/src/parser/parser_impl.rs @@ -701,19 +701,25 @@ fn function_expression(i: TokenSlice) -> PResult { /// E.g. `person.name` fn member_expression_dot(i: TokenSlice) -> PResult<(LiteralIdentifier, usize, bool)> { period.parse_next(i)?; - let property = identifier.parse_next(i)?; - let end = property.end; - Ok((LiteralIdentifier::Identifier(Box::new(property)), end, false)) + let property = alt(( + sketch_keyword.map(Box::new).map(LiteralIdentifier::Identifier), + identifier.map(Box::new).map(LiteralIdentifier::Identifier), + )) + .parse_next(i)?; + let end = property.end(); + Ok((property, end, false)) } /// E.g. `people[0]` or `people[i]` or `people['adam']` fn member_expression_subscript(i: TokenSlice) -> PResult<(LiteralIdentifier, usize, bool)> { let _ = open_bracket.parse_next(i)?; let property = alt(( + sketch_keyword.map(Box::new).map(LiteralIdentifier::Identifier), literal.map(Box::new).map(LiteralIdentifier::Literal), identifier.map(Box::new).map(LiteralIdentifier::Identifier), )) .parse_next(i)?; + let end = close_bracket.parse_next(i)?.end; let computed = matches!(property, LiteralIdentifier::Identifier(_)); Ok((property, end, computed)) @@ -1193,6 +1199,26 @@ fn identifier(i: TokenSlice) -> PResult { .parse_next(i) } +fn sketch_keyword(i: TokenSlice) -> PResult { + any.try_map(|token: Token| { + if token.token_type == TokenType::Type && token.value == "sketch" { + Ok(Identifier { + start: token.start, + end: token.end, + name: token.value, + digest: None, + }) + } else { + Err(KclError::Syntax(KclErrorDetails { + source_ranges: token.as_source_ranges(), + message: format!("Expected 'sketch' keyword, but found {}", token.value.as_str()), + })) + } + }) + .context(expected("the 'sketch' keyword")) + .parse_next(i) +} + impl TryFrom for TagDeclarator { type Error = KclError; @@ -2567,6 +2593,18 @@ const height = 1 - obj.a"#, parser.ast().unwrap(); } + #[test] + fn test_parse_member_expression_allowed_type_in_expression() { + let tokens = crate::token::lexer( + r#"const obj = { thing: 1 } +startSketchOn(obj.sketch)"#, + ) + .unwrap(); + + let parser = crate::parser::Parser::new(tokens); + parser.ast().unwrap(); + } + #[test] fn test_parse_member_expression_binary_expression_brace_number_first() { let tokens = crate::token::lexer( @@ -3182,7 +3220,7 @@ thing(false) } #[test] - fn test_member_expression_sketch_group() { + fn test_member_expression_sketch() { let some_program_string = r#"fn cube = (pos, scale) => { const sg = startSketchOn('XY') |> startProfileAt(pos, %) diff --git a/src/wasm-lib/kcl/src/std/args.rs b/src/wasm-lib/kcl/src/std/args.rs index 02fe8c63f..a93010ba9 100644 --- a/src/wasm-lib/kcl/src/std/args.rs +++ b/src/wasm-lib/kcl/src/std/args.rs @@ -9,10 +9,10 @@ use crate::{ ast::types::{parse_json_number_as_f64, TagDeclarator}, errors::{KclError, KclErrorDetails}, executor::{ - ExecState, ExecutorContext, ExtrudeGroup, ExtrudeGroupSet, ExtrudeSurface, KclValue, Metadata, SketchGroup, - SketchGroupSet, SketchSurface, SourceRange, TagIdentifier, + ExecState, ExecutorContext, ExtrudeSurface, KclValue, Metadata, Sketch, SketchSet, SketchSurface, Solid, + SolidSet, SourceRange, TagIdentifier, }, - std::{shapes::SketchSurfaceOrGroup, sketch::FaceTag, FnAsArg}, + std::{shapes::SketchOrSurface, sketch::FaceTag, FnAsArg}, }; #[derive(Debug, Clone)] @@ -125,35 +125,35 @@ impl Args { self.get_tag_info_from_memory(exec_state, tag) } - /// Flush just the fillets and chamfers for this specific ExtrudeGroupSet. + /// Flush just the fillets and chamfers for this specific SolidSet. #[allow(clippy::vec_box)] - pub(crate) async fn flush_batch_for_extrude_group_set( + pub(crate) async fn flush_batch_for_solid_set( &self, exec_state: &mut ExecState, - extrude_groups: Vec>, + solids: Vec>, ) -> Result<(), KclError> { - // Make sure we don't traverse sketch_groups more than once. - let mut traversed_sketch_groups = Vec::new(); + // Make sure we don't traverse sketches more than once. + let mut traversed_sketches = Vec::new(); - // Collect all the fillet/chamfer ids for the extrude groups. + // Collect all the fillet/chamfer ids for the solids. let mut ids = Vec::new(); - for extrude_group in extrude_groups { - // We need to traverse the extrude groups that share the same sketch group. - let sketch_group_id = extrude_group.sketch_group.id; - if !traversed_sketch_groups.contains(&sketch_group_id) { - // Find all the extrude groups on the same shared sketch group. + for solid in solids { + // We need to traverse the solids that share the same sketch. + let sketch_id = solid.sketch.id; + if !traversed_sketches.contains(&sketch_id) { + // Find all the solids on the same shared sketch. ids.extend( exec_state .memory - .find_extrude_groups_on_sketch_group(extrude_group.sketch_group.id) + .find_solids_on_sketch(solid.sketch.id) .iter() .flat_map(|eg| eg.get_all_edge_cut_ids()), ); - ids.extend(exec_state.dynamic_state.edge_cut_ids_on_sketch_group(sketch_group_id)); - traversed_sketch_groups.push(sketch_group_id); + ids.extend(exec_state.dynamic_state.edge_cut_ids_on_sketch(sketch_id)); + traversed_sketches.push(sketch_id); } - ids.extend(extrude_group.get_all_edge_cut_ids()); + ids.extend(solid.get_all_edge_cut_ids()); } // We can return early if there are no fillets or chamfers. @@ -236,7 +236,7 @@ impl Args { Ok(numbers) } - pub(crate) fn get_pattern_transform_args(&self) -> Result<(u32, FnAsArg<'_>, ExtrudeGroupSet), KclError> { + pub(crate) fn get_pattern_transform_args(&self) -> Result<(u32, FnAsArg<'_>, SolidSet), KclError> { FromArgs::from_args(self, 0) } @@ -258,7 +258,7 @@ impl Args { ) -> Result< ( crate::std::shapes::CircleData, - crate::std::shapes::SketchSurfaceOrGroup, + crate::std::shapes::SketchOrSurface, Option, ), KclError, @@ -266,11 +266,11 @@ impl Args { FromArgs::from_args(self, 0) } - pub(crate) fn get_sketch_groups(&self) -> Result<(SketchGroupSet, SketchGroup), KclError> { + pub(crate) fn get_sketches(&self) -> Result<(SketchSet, Sketch), KclError> { FromArgs::from_args(self, 0) } - pub(crate) fn get_sketch_group(&self) -> Result { + pub(crate) fn get_sketch(&self) -> Result { FromArgs::from_args(self, 0) } @@ -285,11 +285,11 @@ impl Args { FromArgs::from_args(self, 0) } - pub(crate) fn get_sketch_group_and_optional_tag(&self) -> Result<(SketchGroup, Option), KclError> { + pub(crate) fn get_sketch_and_optional_tag(&self) -> Result<(Sketch, Option), KclError> { FromArgs::from_args(self, 0) } - pub(crate) fn get_sketch_groups_and_data<'a, T>(&'a self) -> Result<(Vec, Option), KclError> + pub(crate) fn get_sketches_and_data<'a, T>(&'a self) -> Result<(Vec, Option), KclError> where T: FromArgs<'a> + serde::de::DeserializeOwned + FromKclValue<'a> + Sized, { @@ -303,23 +303,21 @@ impl Args { FromArgs::from_args(self, 0) } - pub(crate) fn get_data_and_sketch_group<'a, T>(&'a self) -> Result<(T, SketchGroup), KclError> + pub(crate) fn get_data_and_sketch<'a, T>(&'a self) -> Result<(T, Sketch), KclError> where T: serde::de::DeserializeOwned + FromArgs<'a>, { FromArgs::from_args(self, 0) } - pub(crate) fn get_data_and_sketch_group_set<'a, T>(&'a self) -> Result<(T, SketchGroupSet), KclError> + pub(crate) fn get_data_and_sketch_set<'a, T>(&'a self) -> Result<(T, SketchSet), KclError> where T: serde::de::DeserializeOwned + FromArgs<'a>, { FromArgs::from_args(self, 0) } - pub(crate) fn get_data_and_sketch_group_and_tag<'a, T>( - &'a self, - ) -> Result<(T, SketchGroup, Option), KclError> + pub(crate) fn get_data_and_sketch_and_tag<'a, T>(&'a self) -> Result<(T, Sketch, Option), KclError> where T: serde::de::DeserializeOwned + FromKclValue<'a> + Sized, { @@ -335,30 +333,30 @@ impl Args { FromArgs::from_args(self, 0) } - pub(crate) fn get_data_and_extrude_group_set<'a, T>(&'a self) -> Result<(T, ExtrudeGroupSet), KclError> + pub(crate) fn get_data_and_solid_set<'a, T>(&'a self) -> Result<(T, SolidSet), KclError> where T: serde::de::DeserializeOwned + FromKclValue<'a> + Sized, { FromArgs::from_args(self, 0) } - pub(crate) fn get_data_and_extrude_group<'a, T>(&'a self) -> Result<(T, Box), KclError> + pub(crate) fn get_data_and_solid<'a, T>(&'a self) -> Result<(T, Box), KclError> where T: serde::de::DeserializeOwned + FromKclValue<'a> + Sized, { FromArgs::from_args(self, 0) } - pub(crate) fn get_data_and_extrude_group_and_tag<'a, T>( + pub(crate) fn get_data_and_solid_and_tag<'a, T>( &'a self, - ) -> Result<(T, Box, Option), KclError> + ) -> Result<(T, Box, Option), KclError> where T: serde::de::DeserializeOwned + FromKclValue<'a> + Sized, { FromArgs::from_args(self, 0) } - pub(crate) fn get_tag_to_number_sketch_group(&self) -> Result<(TagIdentifier, f64, SketchGroup), KclError> { + pub(crate) fn get_tag_to_number_sketch(&self) -> Result<(TagIdentifier, f64, Sketch), KclError> { FromArgs::from_args(self, 0) } @@ -369,7 +367,7 @@ impl Args { FromArgs::from_args(self, 0) } - pub(crate) fn get_number_sketch_group_set(&self) -> Result<(f64, SketchGroupSet), KclError> { + pub(crate) fn get_number_sketch_set(&self) -> Result<(f64, SketchSet), KclError> { FromArgs::from_args(self, 0) } @@ -654,7 +652,7 @@ impl_from_arg_via_json!(crate::std::polar::PolarCoordsData); impl_from_arg_via_json!(crate::std::loft::LoftData); impl_from_arg_via_json!(crate::std::planes::StandardPlane); impl_from_arg_via_json!(crate::std::mirror::Mirror2dData); -impl_from_arg_via_json!(SketchGroup); +impl_from_arg_via_json!(Sketch); impl_from_arg_via_json!(FaceTag); impl_from_arg_via_json!(String); impl_from_arg_via_json!(crate::ast::types::KclNone); @@ -666,22 +664,22 @@ impl_from_arg_via_json!(bool); impl_from_arg_for_array!(2); impl_from_arg_for_array!(3); -impl<'a> FromKclValue<'a> for SketchGroupSet { +impl<'a> FromKclValue<'a> for SketchSet { fn from_mem_item(arg: &'a KclValue) -> Option { let KclValue::UserVal(uv) = arg else { return None; }; - if let Some((x, _meta)) = uv.get::() { - Some(SketchGroupSet::from(x)) + if let Some((x, _meta)) = uv.get::() { + Some(SketchSet::from(x)) } else { - uv.get::>().map(|x| x.0).map(SketchGroupSet::from) + uv.get::>().map(|x| x.0).map(SketchSet::from) } } } -impl<'a> FromKclValue<'a> for Box { +impl<'a> FromKclValue<'a> for Box { fn from_mem_item(arg: &'a KclValue) -> Option { - let KclValue::ExtrudeGroup(s) = arg else { + let KclValue::Solid(s) = arg else { return None; }; Some(s.to_owned()) @@ -694,17 +692,17 @@ impl<'a> FromKclValue<'a> for FnAsArg<'a> { } } -impl<'a> FromKclValue<'a> for ExtrudeGroupSet { +impl<'a> FromKclValue<'a> for SolidSet { fn from_mem_item(arg: &'a KclValue) -> Option { - arg.get_extrude_group_set().ok() + arg.get_solid_set().ok() } } -impl<'a> FromKclValue<'a> for SketchSurfaceOrGroup { +impl<'a> FromKclValue<'a> for SketchOrSurface { fn from_mem_item(arg: &'a KclValue) -> Option { match arg { KclValue::UserVal(uv) => { if let Some((sg, _meta)) = uv.get() { - Some(Self::SketchGroup(sg)) + Some(Self::Sketch(sg)) } else { None } @@ -725,13 +723,13 @@ impl<'a> FromKclValue<'a> for SketchSurface { } } -impl<'a> FromKclValue<'a> for Vec { +impl<'a> FromKclValue<'a> for Vec { fn from_mem_item(arg: &'a KclValue) -> Option { let KclValue::UserVal(uv) = arg else { return None; }; - uv.get::>().map(|x| x.0) + uv.get::>().map(|x| x.0) } } diff --git a/src/wasm-lib/kcl/src/std/array.rs b/src/wasm-lib/kcl/src/std/array.rs index 2517d1064..647e18c60 100644 --- a/src/wasm-lib/kcl/src/std/array.rs +++ b/src/wasm-lib/kcl/src/std/array.rs @@ -4,13 +4,13 @@ use schemars::JsonSchema; use super::{args::FromArgs, Args, FnAsArg}; use crate::{ errors::{KclError, KclErrorDetails}, - executor::{ExecState, KclValue, SketchGroup, SourceRange, UserVal}, + executor::{ExecState, KclValue, Sketch, SourceRange, UserVal}, function_param::FunctionParam, }; /// For each item in an array, update a value. pub async fn array_reduce(exec_state: &mut ExecState, args: Args) -> Result { - let (array, start, f): (Vec, SketchGroup, FnAsArg<'_>) = FromArgs::from_args(&args, 0)?; + let (array, start, f): (Vec, Sketch, FnAsArg<'_>) = FromArgs::from_args(&args, 0)?; let reduce_fn = FunctionParam { inner: f.func, fn_expr: f.expr, @@ -28,8 +28,8 @@ pub async fn array_reduce(exec_state: &mut ExecState, args: Args) -> Result { /// let step = (1/10) * tau() -/// let sketch = startSketchAt([(cos(0)*radius), (sin(0) * radius)]) -/// return arrayReduce([1..10], sketch, (i, sg) => { +/// let sketch001 = startSketchAt([(cos(0)*radius), (sin(0) * radius)]) +/// return arrayReduce([1..10], sketch001, (i, sg) => { /// let x = cos(step * i) * radius /// let y = sin(step * i) * radius /// return lineTo([x, y], sg) @@ -42,11 +42,11 @@ pub async fn array_reduce(exec_state: &mut ExecState, args: Args) -> Result( array: Vec, - start: SketchGroup, + start: Sketch, reduce_fn: FunctionParam<'a>, exec_state: &mut ExecState, args: &'a Args, -) -> Result { +) -> Result { let mut reduced = start; for i in array { reduced = call_reduce_closure(i, reduced, &reduce_fn, args.source_range, exec_state).await?; @@ -57,11 +57,11 @@ async fn inner_array_reduce<'a>( async fn call_reduce_closure<'a>( i: u64, - start: SketchGroup, + start: Sketch, reduce_fn: &FunctionParam<'a>, source_range: SourceRange, exec_state: &mut ExecState, -) -> Result { +) -> Result { // Call the reduce fn for this repetition. let reduce_fn_args = vec![ KclValue::UserVal(UserVal { @@ -88,7 +88,7 @@ async fn call_reduce_closure<'a>( }; let Some((out, _meta)) = out.get() else { return Err(KclError::Semantic(KclErrorDetails { - message: "Reducer function must return a SketchGroup".to_string(), + message: "Reducer function must return a Sketch".to_string(), source_ranges: source_ranges.clone(), })); }; diff --git a/src/wasm-lib/kcl/src/std/chamfer.rs b/src/wasm-lib/kcl/src/std/chamfer.rs index e49e792b0..b58c08d8e 100644 --- a/src/wasm-lib/kcl/src/std/chamfer.rs +++ b/src/wasm-lib/kcl/src/std/chamfer.rs @@ -10,7 +10,7 @@ use serde::{Deserialize, Serialize}; use crate::{ ast::types::TagDeclarator, errors::{KclError, KclErrorDetails}, - executor::{ChamferSurface, EdgeCut, ExecState, ExtrudeGroup, ExtrudeSurface, GeoMeta, KclValue}, + executor::{ChamferSurface, EdgeCut, ExecState, ExtrudeSurface, GeoMeta, KclValue, Solid}, std::{fillet::EdgeReference, Args}, }; @@ -29,11 +29,10 @@ pub struct ChamferData { /// Create chamfers on tagged paths. pub async fn chamfer(exec_state: &mut ExecState, args: Args) -> Result { - let (data, extrude_group, tag): (ChamferData, Box, Option) = - args.get_data_and_extrude_group_and_tag()?; + let (data, solid, tag): (ChamferData, Box, Option) = args.get_data_and_solid_and_tag()?; - let extrude_group = inner_chamfer(data, extrude_group, tag, exec_state, args).await?; - Ok(KclValue::ExtrudeGroup(extrude_group)) + let solid = inner_chamfer(data, solid, tag, exec_state, args).await?; + Ok(KclValue::Solid(solid)) } /// Cut a straight transitional edge along a tagged path. @@ -102,11 +101,11 @@ pub async fn chamfer(exec_state: &mut ExecState, args: Args) -> Result, + solid: Box, tag: Option, exec_state: &mut ExecState, args: Args, -) -> Result, KclError> { +) -> Result, KclError> { // Check if tags contains any duplicate values. let mut tags = data.tags.clone(); tags.sort(); @@ -127,7 +126,7 @@ async fn inner_chamfer( })); } - let mut extrude_group = extrude_group.clone(); + let mut solid = solid.clone(); for edge_tag in data.tags { let edge_id = match edge_tag { EdgeReference::Uuid(uuid) => uuid, @@ -139,7 +138,7 @@ async fn inner_chamfer( id, ModelingCmd::from(mcmd::Solid3dFilletEdge { edge_id, - object_id: extrude_group.id, + object_id: solid.id, radius: LengthUnit(data.length), tolerance: LengthUnit(DEFAULT_TOLERANCE), // We can let the user set this in the future. cut_type: CutType::Chamfer, @@ -151,7 +150,7 @@ async fn inner_chamfer( ) .await?; - extrude_group.edge_cuts.push(EdgeCut::Chamfer { + solid.edge_cuts.push(EdgeCut::Chamfer { id, edge_id, length: data.length, @@ -159,7 +158,7 @@ async fn inner_chamfer( }); if let Some(ref tag) = tag { - extrude_group.value.push(ExtrudeSurface::Chamfer(ChamferSurface { + solid.value.push(ExtrudeSurface::Chamfer(ChamferSurface { face_id: id, tag: Some(tag.clone()), geo_meta: GeoMeta { @@ -170,5 +169,5 @@ async fn inner_chamfer( } } - Ok(extrude_group) + Ok(solid) } diff --git a/src/wasm-lib/kcl/src/std/extrude.rs b/src/wasm-lib/kcl/src/std/extrude.rs index ef897383f..373ce7f86 100644 --- a/src/wasm-lib/kcl/src/std/extrude.rs +++ b/src/wasm-lib/kcl/src/std/extrude.rs @@ -14,18 +14,15 @@ use uuid::Uuid; use crate::{ errors::{KclError, KclErrorDetails}, - executor::{ - ExecState, ExtrudeGroup, ExtrudeGroupSet, ExtrudeSurface, GeoMeta, KclValue, Path, SketchGroup, SketchGroupSet, - SketchSurface, - }, + executor::{ExecState, ExtrudeSurface, GeoMeta, KclValue, Path, Sketch, SketchSet, SketchSurface, Solid, SolidSet}, std::Args, }; /// Extrudes by a given amount. pub async fn extrude(_exec_state: &mut ExecState, args: Args) -> Result { - let (length, sketch_group_set) = args.get_number_sketch_group_set()?; + let (length, sketch_set) = args.get_number_sketch_set()?; - let result = inner_extrude(length, sketch_group_set, args).await?; + let result = inner_extrude(length, sketch_set, args).await?; Ok(result.into()) } @@ -79,13 +76,13 @@ pub async fn extrude(_exec_state: &mut ExecState, args: Args) -> Result Result { +async fn inner_extrude(length: f64, sketch_set: SketchSet, args: Args) -> Result { let id = uuid::Uuid::new_v4(); // Extrude the element(s). - let sketch_groups: Vec = sketch_group_set.into(); - let mut extrude_groups = Vec::new(); - for sketch_group in &sketch_groups { + let sketches: Vec = sketch_set.into(); + let mut solids = Vec::new(); + for sketch in &sketches { // Before we extrude, we need to enable the sketch mode. // We do this here in case extrude is called out of order. args.batch_modeling_cmd( @@ -93,9 +90,9 @@ async fn inner_extrude(length: f64, sketch_group_set: SketchGroupSet, args: Args ModelingCmd::from(mcmd::EnableSketchMode { animated: false, ortho: false, - entity_id: sketch_group.on.id(), + entity_id: sketch.on.id(), adjust_camera: false, - planar_normal: if let SketchSurface::Plane(plane) = &sketch_group.on { + planar_normal: if let SketchSurface::Plane(plane) = &sketch.on { // We pass in the normal for the plane here. Some(plane.z_axis.into()) } else { @@ -108,7 +105,7 @@ async fn inner_extrude(length: f64, sketch_group_set: SketchGroupSet, args: Args args.batch_modeling_cmd( id, ModelingCmd::from(mcmd::Extrude { - target: sketch_group.id.into(), + target: sketch.id.into(), distance: LengthUnit(length), }), ) @@ -120,35 +117,29 @@ async fn inner_extrude(length: f64, sketch_group_set: SketchGroupSet, args: Args ModelingCmd::SketchModeDisable(mcmd::SketchModeDisable {}), ) .await?; - extrude_groups.push(do_post_extrude(sketch_group.clone(), length, args.clone()).await?); + solids.push(do_post_extrude(sketch.clone(), length, args.clone()).await?); } - Ok(extrude_groups.into()) + Ok(solids.into()) } -pub(crate) async fn do_post_extrude( - sketch_group: SketchGroup, - length: f64, - args: Args, -) -> Result, KclError> { +pub(crate) async fn do_post_extrude(sketch: Sketch, length: f64, args: Args) -> Result, KclError> { // Bring the object to the front of the scene. // See: https://github.com/KittyCAD/modeling-app/issues/806 args.batch_modeling_cmd( uuid::Uuid::new_v4(), - ModelingCmd::from(mcmd::ObjectBringToFront { - object_id: sketch_group.id, - }), + ModelingCmd::from(mcmd::ObjectBringToFront { object_id: sketch.id }), ) .await?; - if sketch_group.value.is_empty() { + if sketch.value.is_empty() { return Err(KclError::Type(KclErrorDetails { - message: "Expected a non-empty sketch group".to_string(), + message: "Expected a non-empty sketch".to_string(), source_ranges: vec![args.source_range], })); } - let edge_id = sketch_group.value.iter().find_map(|segment| match segment { + let edge_id = sketch.value.iter().find_map(|segment| match segment { Path::ToPoint { base } | Path::Circle { base, .. } => Some(base.geo_meta.id), _ => None, }); @@ -160,11 +151,11 @@ pub(crate) async fn do_post_extrude( })); }; - let mut sketch_group = sketch_group.clone(); + let mut sketch = sketch.clone(); // If we were sketching on a face, we need the original face id. - if let SketchSurface::Face(ref face) = sketch_group.on { - sketch_group.id = face.extrude_group.sketch_group.id; + if let SketchSurface::Face(ref face) = sketch.on { + sketch.id = face.solid.sketch.id; } let solid3d_info = args @@ -172,7 +163,7 @@ pub(crate) async fn do_post_extrude( uuid::Uuid::new_v4(), ModelingCmd::from(mcmd::Solid3dGetExtrusionFaceInfo { edge_id, - object_id: sketch_group.id, + object_id: sketch.id, }), ) .await?; @@ -205,7 +196,7 @@ pub(crate) async fn do_post_extrude( uuid::Uuid::new_v4(), ModelingCmd::from(mcmd::Solid3dGetOppositeEdge { edge_id: curve_id, - object_id: sketch_group.id, + object_id: sketch.id, face_id, }), ) @@ -215,7 +206,7 @@ pub(crate) async fn do_post_extrude( uuid::Uuid::new_v4(), ModelingCmd::from(mcmd::Solid3dGetNextAdjacentEdge { edge_id: curve_id, - object_id: sketch_group.id, + object_id: sketch.id, face_id, }), ) @@ -227,8 +218,8 @@ pub(crate) async fn do_post_extrude( start_cap_id, end_cap_id, } = analyze_faces(&args, face_infos); - // Iterate over the sketch_group.value array and add face_id to GeoMeta - let new_value = sketch_group + // Iterate over the sketch.value array and add face_id to GeoMeta + let new_value = sketch .value .iter() .flat_map(|path| { @@ -276,14 +267,14 @@ pub(crate) async fn do_post_extrude( }) .collect(); - Ok(Box::new(ExtrudeGroup { - // Ok so you would think that the id would be the id of the extrude group, + Ok(Box::new(Solid { + // Ok so you would think that the id would be the id of the solid, // that we passed in to the function, but it's actually the id of the - // sketch group. - id: sketch_group.id, + // sketch. + id: sketch.id, value: new_value, - meta: sketch_group.meta.clone(), - sketch_group, + meta: sketch.meta.clone(), + sketch, height: length, start_cap_id, end_cap_id, diff --git a/src/wasm-lib/kcl/src/std/fillet.rs b/src/wasm-lib/kcl/src/std/fillet.rs index d024a9ec6..3d97842ef 100644 --- a/src/wasm-lib/kcl/src/std/fillet.rs +++ b/src/wasm-lib/kcl/src/std/fillet.rs @@ -14,9 +14,7 @@ use uuid::Uuid; use crate::{ ast::types::TagDeclarator, errors::{KclError, KclErrorDetails}, - executor::{ - EdgeCut, ExecState, ExtrudeGroup, ExtrudeSurface, FilletSurface, GeoMeta, KclValue, TagIdentifier, UserVal, - }, + executor::{EdgeCut, ExecState, ExtrudeSurface, FilletSurface, GeoMeta, KclValue, Solid, TagIdentifier, UserVal}, settings::types::UnitLength, std::Args, }; @@ -57,11 +55,10 @@ impl EdgeReference { /// Create fillets on tagged paths. pub async fn fillet(exec_state: &mut ExecState, args: Args) -> Result { - let (data, extrude_group, tag): (FilletData, Box, Option) = - args.get_data_and_extrude_group_and_tag()?; + let (data, solid, tag): (FilletData, Box, Option) = args.get_data_and_solid_and_tag()?; - let extrude_group = inner_fillet(data, extrude_group, tag, exec_state, args).await?; - Ok(KclValue::ExtrudeGroup(extrude_group)) + let solid = inner_fillet(data, solid, tag, exec_state, args).await?; + Ok(KclValue::Solid(solid)) } /// Blend a transitional edge along a tagged path, smoothing the sharp edge. @@ -125,11 +122,11 @@ pub async fn fillet(exec_state: &mut ExecState, args: Args) -> Result, + solid: Box, tag: Option, exec_state: &mut ExecState, args: Args, -) -> Result, KclError> { +) -> Result, KclError> { // Check if tags contains any duplicate values. let mut tags = data.tags.clone(); tags.sort(); @@ -141,7 +138,7 @@ async fn inner_fillet( })); } - let mut extrude_group = extrude_group.clone(); + let mut solid = solid.clone(); for edge_tag in data.tags { let edge_id = edge_tag.get_engine_id(exec_state, &args)?; @@ -150,7 +147,7 @@ async fn inner_fillet( id, ModelingCmd::from(mcmd::Solid3dFilletEdge { edge_id, - object_id: extrude_group.id, + object_id: solid.id, radius: LengthUnit(data.radius), tolerance: LengthUnit(data.tolerance.unwrap_or(default_tolerance(&args.ctx.settings.units))), cut_type: CutType::Fillet, @@ -162,7 +159,7 @@ async fn inner_fillet( ) .await?; - extrude_group.edge_cuts.push(EdgeCut::Fillet { + solid.edge_cuts.push(EdgeCut::Fillet { id, edge_id, radius: data.radius, @@ -170,7 +167,7 @@ async fn inner_fillet( }); if let Some(ref tag) = tag { - extrude_group.value.push(ExtrudeSurface::Fillet(FilletSurface { + solid.value.push(ExtrudeSurface::Fillet(FilletSurface { face_id: id, tag: Some(tag.clone()), geo_meta: GeoMeta { @@ -181,7 +178,7 @@ async fn inner_fillet( } } - Ok(extrude_group) + Ok(solid) } /// Get the opposite edge to the edge given. @@ -243,7 +240,7 @@ async fn inner_get_opposite_edge(tag: TagIdentifier, exec_state: &mut ExecState, uuid::Uuid::new_v4(), ModelingCmd::from(mcmd::Solid3dGetOppositeEdge { edge_id: tagged_path.id, - object_id: tagged_path.sketch_group, + object_id: tagged_path.sketch, face_id, }), ) @@ -324,7 +321,7 @@ async fn inner_get_next_adjacent_edge( uuid::Uuid::new_v4(), ModelingCmd::from(mcmd::Solid3dGetNextAdjacentEdge { edge_id: tagged_path.id, - object_id: tagged_path.sketch_group, + object_id: tagged_path.sketch, face_id, }), ) @@ -413,7 +410,7 @@ async fn inner_get_previous_adjacent_edge( uuid::Uuid::new_v4(), ModelingCmd::from(mcmd::Solid3dGetPrevAdjacentEdge { edge_id: tagged_path.id, - object_id: tagged_path.sketch_group, + object_id: tagged_path.sketch, face_id, }), ) diff --git a/src/wasm-lib/kcl/src/std/helix.rs b/src/wasm-lib/kcl/src/std/helix.rs index 2b8211b6d..d62696fde 100644 --- a/src/wasm-lib/kcl/src/std/helix.rs +++ b/src/wasm-lib/kcl/src/std/helix.rs @@ -9,7 +9,7 @@ use serde::{Deserialize, Serialize}; use crate::{ errors::KclError, - executor::{ExecState, ExtrudeGroup, KclValue}, + executor::{ExecState, KclValue, Solid}, std::Args, }; @@ -27,16 +27,16 @@ pub struct HelixData { #[serde(default)] pub ccw: bool, /// Length of the helix. If this argument is not provided, the height of - /// the extrude group is used. + /// the solid is used. pub length: Option, } /// Create a helix on a cylinder. pub async fn helix(_exec_state: &mut ExecState, args: Args) -> Result { - let (data, extrude_group): (HelixData, Box) = args.get_data_and_extrude_group()?; + let (data, solid): (HelixData, Box) = args.get_data_and_solid()?; - let extrude_group = inner_helix(data, extrude_group, args).await?; - Ok(KclValue::ExtrudeGroup(extrude_group)) + let solid = inner_helix(data, solid, args).await?; + Ok(KclValue::Solid(solid)) } /// Create a helix on a cylinder. @@ -54,23 +54,19 @@ pub async fn helix(_exec_state: &mut ExecState, args: Args) -> Result, - args: Args, -) -> Result, KclError> { +async fn inner_helix(data: HelixData, solid: Box, args: Args) -> Result, KclError> { let id = uuid::Uuid::new_v4(); args.batch_modeling_cmd( id, ModelingCmd::from(mcmd::EntityMakeHelix { - cylinder_id: extrude_group.id, + cylinder_id: solid.id, is_clockwise: !data.ccw, - length: LengthUnit(data.length.unwrap_or(extrude_group.height)), + length: LengthUnit(data.length.unwrap_or(solid.height)), revolutions: data.revolutions, start_angle: Angle::from_degrees(data.angle_start), }), ) .await?; - Ok(extrude_group) + Ok(solid) } diff --git a/src/wasm-lib/kcl/src/std/loft.rs b/src/wasm-lib/kcl/src/std/loft.rs index 4920d38fa..37c8cb6a4 100644 --- a/src/wasm-lib/kcl/src/std/loft.rs +++ b/src/wasm-lib/kcl/src/std/loft.rs @@ -9,7 +9,7 @@ use serde::{Deserialize, Serialize}; use crate::{ errors::{KclError, KclErrorDetails}, - executor::{ExecState, ExtrudeGroup, KclValue, SketchGroup}, + executor::{ExecState, KclValue, Sketch, Solid}, std::{extrude::do_post_extrude, fillet::default_tolerance, Args}, }; @@ -51,10 +51,10 @@ impl Default for LoftData { /// Create a 3D surface or solid by interpolating between two or more sketches. pub async fn loft(_exec_state: &mut ExecState, args: Args) -> Result { - let (sketch_groups, data): (Vec, Option) = args.get_sketch_groups_and_data()?; + let (sketches, data): (Vec, Option) = args.get_sketches_and_data()?; - let extrude_group = inner_loft(sketch_groups, data, args).await?; - Ok(KclValue::ExtrudeGroup(extrude_group)) + let solid = inner_loft(sketches, data, args).await?; + Ok(KclValue::Solid(solid)) } /// Create a 3D surface or solid by interpolating between two or more sketches. @@ -135,17 +135,13 @@ pub async fn loft(_exec_state: &mut ExecState, args: Args) -> Result, - data: Option, - args: Args, -) -> Result, KclError> { +async fn inner_loft(sketches: Vec, data: Option, args: Args) -> Result, KclError> { // Make sure we have at least two sketches. - if sketch_groups.len() < 2 { + if sketches.len() < 2 { return Err(KclError::Semantic(KclErrorDetails { message: format!( "Loft requires at least two sketches, but only {} were provided.", - sketch_groups.len() + sketches.len() ), source_ranges: vec![args.source_range], })); @@ -158,7 +154,7 @@ async fn inner_loft( args.batch_modeling_cmd( id, ModelingCmd::from(mcmd::Loft { - section_ids: sketch_groups.iter().map(|group| group.id).collect(), + section_ids: sketches.iter().map(|group| group.id).collect(), base_curve_index: data.base_curve_index, bez_approximate_rational: data.bez_approximate_rational.unwrap_or(false), tolerance: LengthUnit(data.tolerance.unwrap_or(default_tolerance(&args.ctx.settings.units))), @@ -170,5 +166,5 @@ async fn inner_loft( .await?; // Using the first sketch as the base curve, idk we might want to change this later. - do_post_extrude(sketch_groups[0].clone(), 0.0, args).await + do_post_extrude(sketches[0].clone(), 0.0, args).await } diff --git a/src/wasm-lib/kcl/src/std/math.rs b/src/wasm-lib/kcl/src/std/math.rs index 5a57f1106..04e711d45 100644 --- a/src/wasm-lib/kcl/src/std/math.rs +++ b/src/wasm-lib/kcl/src/std/math.rs @@ -4,14 +4,13 @@ use anyhow::Result; use derive_docs::stdlib; use schemars::JsonSchema; +use super::args::FromArgs; use crate::{ errors::{KclError, KclErrorDetails}, executor::{ExecState, KclValue}, std::Args, }; -use super::args::FromArgs; - /// Compute the remainder after dividing `num` by `div`. /// If `num` is negative, the result will be too. pub async fn rem(_exec_state: &mut ExecState, args: Args) -> Result { diff --git a/src/wasm-lib/kcl/src/std/mirror.rs b/src/wasm-lib/kcl/src/std/mirror.rs index ab2d99a33..bef70b1a0 100644 --- a/src/wasm-lib/kcl/src/std/mirror.rs +++ b/src/wasm-lib/kcl/src/std/mirror.rs @@ -9,7 +9,7 @@ use serde::{Deserialize, Serialize}; use crate::{ errors::KclError, - executor::{ExecState, KclValue, SketchGroup, SketchGroupSet}, + executor::{ExecState, KclValue, Sketch, SketchSet}, std::{revolve::AxisOrEdgeReference, Args}, }; @@ -26,10 +26,10 @@ pub struct Mirror2dData { /// /// Only works on unclosed sketches for now. pub async fn mirror_2d(exec_state: &mut ExecState, args: Args) -> Result { - let (data, sketch_group_set): (Mirror2dData, SketchGroupSet) = args.get_data_and_sketch_group_set()?; + let (data, sketch_set): (Mirror2dData, SketchSet) = args.get_data_and_sketch_set()?; - let sketch_groups = inner_mirror_2d(data, sketch_group_set, exec_state, args).await?; - Ok(sketch_groups.into()) + let sketches = inner_mirror_2d(data, sketch_set, exec_state, args).await?; + Ok(sketches.into()) } /// Mirror a sketch. @@ -103,17 +103,17 @@ pub async fn mirror_2d(exec_state: &mut ExecState, args: Args) -> Result Result>, KclError> { - let starting_sketch_groups = match sketch_group_set { - SketchGroupSet::SketchGroup(sketch_group) => vec![sketch_group], - SketchGroupSet::SketchGroups(sketch_groups) => sketch_groups, +) -> Result>, KclError> { + let starting_sketches = match sketch_set { + SketchSet::Sketch(sketch) => vec![sketch], + SketchSet::Sketches(sketches) => sketches, }; if args.ctx.is_mock { - return Ok(starting_sketch_groups); + return Ok(starting_sketches); } match data.axis { @@ -123,10 +123,7 @@ async fn inner_mirror_2d( args.batch_modeling_cmd( uuid::Uuid::new_v4(), ModelingCmd::from(mcmd::EntityMirror { - ids: starting_sketch_groups - .iter() - .map(|sketch_group| sketch_group.id) - .collect(), + ids: starting_sketches.iter().map(|sketch| sketch.id).collect(), axis, point: origin, }), @@ -139,10 +136,7 @@ async fn inner_mirror_2d( args.batch_modeling_cmd( uuid::Uuid::new_v4(), ModelingCmd::from(mcmd::EntityMirrorAcrossEdge { - ids: starting_sketch_groups - .iter() - .map(|sketch_group| sketch_group.id) - .collect(), + ids: starting_sketches.iter().map(|sketch| sketch.id).collect(), edge_id, }), ) @@ -150,5 +144,5 @@ async fn inner_mirror_2d( } }; - Ok(starting_sketch_groups) + Ok(starting_sketches) } diff --git a/src/wasm-lib/kcl/src/std/patterns.rs b/src/wasm-lib/kcl/src/std/patterns.rs index 857294a53..6ed81c630 100644 --- a/src/wasm-lib/kcl/src/std/patterns.rs +++ b/src/wasm-lib/kcl/src/std/patterns.rs @@ -17,8 +17,7 @@ use serde_json::Value as JValue; use crate::{ errors::{KclError, KclErrorDetails}, executor::{ - ExecState, ExtrudeGroup, ExtrudeGroupSet, Geometries, Geometry, KclValue, Point3d, SketchGroup, SketchGroupSet, - SourceRange, UserVal, + ExecState, Geometries, Geometry, KclValue, Point3d, Sketch, SketchSet, Solid, SolidSet, SourceRange, UserVal, }, function_param::FunctionParam, std::{types::Uint, Args}, @@ -88,7 +87,7 @@ impl LinearPattern { pub async fn pattern_transform(exec_state: &mut ExecState, args: Args) -> Result { let (num_repetitions, transform, extr) = args.get_pattern_transform_args()?; - let extrude_groups = inner_pattern_transform( + let solids = inner_pattern_transform( num_repetitions, FunctionParam { inner: transform.func, @@ -102,7 +101,7 @@ pub async fn pattern_transform(exec_state: &mut ExecState, args: Args) -> Result &args, ) .await?; - Ok(KclValue::ExtrudeGroups { value: extrude_groups }) + Ok(KclValue::Solids { value: solids }) } /// Repeat a 3-dimensional solid, changing it each time. @@ -247,10 +246,10 @@ pub async fn pattern_transform(exec_state: &mut ExecState, args: Args) -> Result async fn inner_pattern_transform<'a>( total_instances: u32, transform_function: FunctionParam<'a>, - extrude_group_set: ExtrudeGroupSet, + solid_set: SolidSet, exec_state: &mut ExecState, args: &'a Args, -) -> Result>, KclError> { +) -> Result>, KclError> { // Build the vec of transforms, one for each repetition. let mut transform = Vec::with_capacity(usize::try_from(total_instances).unwrap()); for i in 1..total_instances { @@ -259,38 +258,38 @@ async fn inner_pattern_transform<'a>( } // Flush the batch for our fillets/chamfers if there are any. // If we do not flush these, then you won't be able to pattern something with fillets. - // Flush just the fillets/chamfers that apply to these extrude groups. - args.flush_batch_for_extrude_group_set(exec_state, extrude_group_set.clone().into()) + // Flush just the fillets/chamfers that apply to these solids. + args.flush_batch_for_solid_set(exec_state, solid_set.clone().into()) .await?; - let starting_extrude_groups: Vec> = extrude_group_set.into(); + let starting_solids: Vec> = solid_set.into(); if args.ctx.is_mock { - return Ok(starting_extrude_groups); + return Ok(starting_solids); } - let mut extrude_groups = Vec::new(); - for e in starting_extrude_groups { - let new_extrude_groups = send_pattern_transform(transform.clone(), &e, args).await?; - extrude_groups.extend(new_extrude_groups); + let mut solids = Vec::new(); + for e in starting_solids { + let new_solids = send_pattern_transform(transform.clone(), &e, args).await?; + solids.extend(new_solids); } - Ok(extrude_groups) + Ok(solids) } async fn send_pattern_transform( // This should be passed via reference, see // https://github.com/KittyCAD/modeling-app/issues/2821 transform: Vec, - extrude_group: &ExtrudeGroup, + solid: &Solid, args: &Args, -) -> Result>, KclError> { +) -> Result>, KclError> { let id = uuid::Uuid::new_v4(); let resp = args .send_modeling_cmd( id, ModelingCmd::from(mcmd::EntityLinearPatternTransform { - entity_id: extrude_group.id, + entity_id: solid.id, transform, }), ) @@ -306,11 +305,11 @@ async fn send_pattern_transform( })); }; - let mut geometries = vec![Box::new(extrude_group.clone())]; + let mut geometries = vec![Box::new(solid.clone())]; for id in pattern_info.entity_ids.iter() { - let mut new_extrude_group = extrude_group.clone(); - new_extrude_group.id = *id; - geometries.push(Box::new(new_extrude_group)); + let mut new_solid = solid.clone(); + new_solid.id = *id; + geometries.push(Box::new(new_solid)); } Ok(geometries) } @@ -449,7 +448,7 @@ mod tests { /// A linear pattern on a 2D sketch. pub async fn pattern_linear_2d(_exec_state: &mut ExecState, args: Args) -> Result { - let (data, sketch_group_set): (LinearPattern2dData, SketchGroupSet) = args.get_data_and_sketch_group_set()?; + let (data, sketch_set): (LinearPattern2dData, SketchSet) = args.get_data_and_sketch_set()?; if data.axis == [0.0, 0.0] { return Err(KclError::Semantic(KclErrorDetails { @@ -460,8 +459,8 @@ pub async fn pattern_linear_2d(_exec_state: &mut ExecState, args: Args) -> Resul })); } - let sketch_groups = inner_pattern_linear_2d(data, sketch_group_set, args).await?; - Ok(sketch_groups.into()) + let sketches = inner_pattern_linear_2d(data, sketch_set, args).await?; + Ok(sketches.into()) } /// Repeat a 2-dimensional sketch along some dimension, with a dynamic amount @@ -483,40 +482,40 @@ pub async fn pattern_linear_2d(_exec_state: &mut ExecState, args: Args) -> Resul }] async fn inner_pattern_linear_2d( data: LinearPattern2dData, - sketch_group_set: SketchGroupSet, + sketch_set: SketchSet, args: Args, -) -> Result>, KclError> { - let starting_sketch_groups: Vec> = sketch_group_set.into(); +) -> Result>, KclError> { + let starting_sketches: Vec> = sketch_set.into(); if args.ctx.is_mock { - return Ok(starting_sketch_groups); + return Ok(starting_sketches); } - let mut sketch_groups = Vec::new(); - for sketch_group in starting_sketch_groups.iter() { + let mut sketches = Vec::new(); + for sketch in starting_sketches.iter() { let geometries = pattern_linear( LinearPattern::TwoD(data.clone()), - Geometry::SketchGroup(sketch_group.clone()), + Geometry::Sketch(sketch.clone()), args.clone(), ) .await?; - let Geometries::SketchGroups(new_sketch_groups) = geometries else { + let Geometries::Sketches(new_sketches) = geometries else { return Err(KclError::Semantic(KclErrorDetails { - message: "Expected a vec of sketch groups".to_string(), + message: "Expected a vec of sketches".to_string(), source_ranges: vec![args.source_range], })); }; - sketch_groups.extend(new_sketch_groups); + sketches.extend(new_sketches); } - Ok(sketch_groups) + Ok(sketches) } /// A linear pattern on a 3D model. pub async fn pattern_linear_3d(exec_state: &mut ExecState, args: Args) -> Result { - let (data, extrude_group_set): (LinearPattern3dData, ExtrudeGroupSet) = args.get_data_and_extrude_group_set()?; + let (data, solid_set): (LinearPattern3dData, SolidSet) = args.get_data_and_solid_set()?; if data.axis == [0.0, 0.0, 0.0] { return Err(KclError::Semantic(KclErrorDetails { @@ -527,8 +526,8 @@ pub async fn pattern_linear_3d(exec_state: &mut ExecState, args: Args) -> Result })); } - let extrude_groups = inner_pattern_linear_3d(data, extrude_group_set, exec_state, args).await?; - Ok(extrude_groups.into()) + let solids = inner_pattern_linear_3d(data, solid_set, exec_state, args).await?; + Ok(solids.into()) } /// Repeat a 3-dimensional solid along a linear path, with a dynamic amount @@ -554,42 +553,42 @@ pub async fn pattern_linear_3d(exec_state: &mut ExecState, args: Args) -> Result }] async fn inner_pattern_linear_3d( data: LinearPattern3dData, - extrude_group_set: ExtrudeGroupSet, + solid_set: SolidSet, exec_state: &mut ExecState, args: Args, -) -> Result>, KclError> { +) -> Result>, KclError> { // Flush the batch for our fillets/chamfers if there are any. // If we do not flush these, then you won't be able to pattern something with fillets. - // Flush just the fillets/chamfers that apply to these extrude groups. - args.flush_batch_for_extrude_group_set(exec_state, extrude_group_set.clone().into()) + // Flush just the fillets/chamfers that apply to these solids. + args.flush_batch_for_solid_set(exec_state, solid_set.clone().into()) .await?; - let starting_extrude_groups: Vec> = extrude_group_set.into(); + let starting_solids: Vec> = solid_set.into(); if args.ctx.is_mock { - return Ok(starting_extrude_groups); + return Ok(starting_solids); } - let mut extrude_groups = Vec::new(); - for extrude_group in starting_extrude_groups.iter() { + let mut solids = Vec::new(); + for solid in starting_solids.iter() { let geometries = pattern_linear( LinearPattern::ThreeD(data.clone()), - Geometry::ExtrudeGroup(extrude_group.clone()), + Geometry::Solid(solid.clone()), args.clone(), ) .await?; - let Geometries::ExtrudeGroups(new_extrude_groups) = geometries else { + let Geometries::Solids(new_solids) = geometries else { return Err(KclError::Semantic(KclErrorDetails { - message: "Expected a vec of extrude groups".to_string(), + message: "Expected a vec of solids".to_string(), source_ranges: vec![args.source_range], })); }; - extrude_groups.extend(new_extrude_groups); + solids.extend(new_solids); } - Ok(extrude_groups) + Ok(solids) } async fn pattern_linear(data: LinearPattern, geometry: Geometry, args: Args) -> Result { @@ -618,23 +617,23 @@ async fn pattern_linear(data: LinearPattern, geometry: Geometry, args: Args) -> }; let geometries = match geometry { - Geometry::SketchGroup(sketch_group) => { - let mut geometries = vec![sketch_group.clone()]; + Geometry::Sketch(sketch) => { + let mut geometries = vec![sketch.clone()]; for id in pattern_info.entity_ids.iter() { - let mut new_sketch_group = sketch_group.clone(); - new_sketch_group.id = *id; - geometries.push(new_sketch_group); + let mut new_sketch = sketch.clone(); + new_sketch.id = *id; + geometries.push(new_sketch); } - Geometries::SketchGroups(geometries) + Geometries::Sketches(geometries) } - Geometry::ExtrudeGroup(extrude_group) => { - let mut geometries = vec![extrude_group.clone()]; + Geometry::Solid(solid) => { + let mut geometries = vec![solid.clone()]; for id in pattern_info.entity_ids.iter() { - let mut new_extrude_group = extrude_group.clone(); - new_extrude_group.id = *id; - geometries.push(new_extrude_group); + let mut new_solid = solid.clone(); + new_solid.id = *id; + geometries.push(new_solid); } - Geometries::ExtrudeGroups(geometries) + Geometries::Solids(geometries) } }; @@ -721,10 +720,10 @@ impl CircularPattern { /// A circular pattern on a 2D sketch. pub async fn pattern_circular_2d(_exec_state: &mut ExecState, args: Args) -> Result { - let (data, sketch_group_set): (CircularPattern2dData, SketchGroupSet) = args.get_data_and_sketch_group_set()?; + let (data, sketch_set): (CircularPattern2dData, SketchSet) = args.get_data_and_sketch_set()?; - let sketch_groups = inner_pattern_circular_2d(data, sketch_group_set, args).await?; - Ok(sketch_groups.into()) + let sketches = inner_pattern_circular_2d(data, sketch_set, args).await?; + Ok(sketches.into()) } /// Repeat a 2-dimensional sketch some number of times along a partial or @@ -753,43 +752,43 @@ pub async fn pattern_circular_2d(_exec_state: &mut ExecState, args: Args) -> Res }] async fn inner_pattern_circular_2d( data: CircularPattern2dData, - sketch_group_set: SketchGroupSet, + sketch_set: SketchSet, args: Args, -) -> Result>, KclError> { - let starting_sketch_groups: Vec> = sketch_group_set.into(); +) -> Result>, KclError> { + let starting_sketches: Vec> = sketch_set.into(); if args.ctx.is_mock { - return Ok(starting_sketch_groups); + return Ok(starting_sketches); } - let mut sketch_groups = Vec::new(); - for sketch_group in starting_sketch_groups.iter() { + let mut sketches = Vec::new(); + for sketch in starting_sketches.iter() { let geometries = pattern_circular( CircularPattern::TwoD(data.clone()), - Geometry::SketchGroup(sketch_group.clone()), + Geometry::Sketch(sketch.clone()), args.clone(), ) .await?; - let Geometries::SketchGroups(new_sketch_groups) = geometries else { + let Geometries::Sketches(new_sketches) = geometries else { return Err(KclError::Semantic(KclErrorDetails { - message: "Expected a vec of sketch groups".to_string(), + message: "Expected a vec of sketches".to_string(), source_ranges: vec![args.source_range], })); }; - sketch_groups.extend(new_sketch_groups); + sketches.extend(new_sketches); } - Ok(sketch_groups) + Ok(sketches) } /// A circular pattern on a 3D model. pub async fn pattern_circular_3d(exec_state: &mut ExecState, args: Args) -> Result { - let (data, extrude_group_set): (CircularPattern3dData, ExtrudeGroupSet) = args.get_data_and_extrude_group_set()?; + let (data, solid_set): (CircularPattern3dData, SolidSet) = args.get_data_and_solid_set()?; - let extrude_groups = inner_pattern_circular_3d(data, extrude_group_set, exec_state, args).await?; - Ok(extrude_groups.into()) + let solids = inner_pattern_circular_3d(data, solid_set, exec_state, args).await?; + Ok(solids.into()) } /// Repeat a 3-dimensional solid some number of times along a partial or @@ -815,42 +814,42 @@ pub async fn pattern_circular_3d(exec_state: &mut ExecState, args: Args) -> Resu }] async fn inner_pattern_circular_3d( data: CircularPattern3dData, - extrude_group_set: ExtrudeGroupSet, + solid_set: SolidSet, exec_state: &mut ExecState, args: Args, -) -> Result>, KclError> { +) -> Result>, KclError> { // Flush the batch for our fillets/chamfers if there are any. // If we do not flush these, then you won't be able to pattern something with fillets. - // Flush just the fillets/chamfers that apply to these extrude groups. - args.flush_batch_for_extrude_group_set(exec_state, extrude_group_set.clone().into()) + // Flush just the fillets/chamfers that apply to these solids. + args.flush_batch_for_solid_set(exec_state, solid_set.clone().into()) .await?; - let starting_extrude_groups: Vec> = extrude_group_set.into(); + let starting_solids: Vec> = solid_set.into(); if args.ctx.is_mock { - return Ok(starting_extrude_groups); + return Ok(starting_solids); } - let mut extrude_groups = Vec::new(); - for extrude_group in starting_extrude_groups.iter() { + let mut solids = Vec::new(); + for solid in starting_solids.iter() { let geometries = pattern_circular( CircularPattern::ThreeD(data.clone()), - Geometry::ExtrudeGroup(extrude_group.clone()), + Geometry::Solid(solid.clone()), args.clone(), ) .await?; - let Geometries::ExtrudeGroups(new_extrude_groups) = geometries else { + let Geometries::Solids(new_solids) = geometries else { return Err(KclError::Semantic(KclErrorDetails { - message: "Expected a vec of extrude groups".to_string(), + message: "Expected a vec of solids".to_string(), source_ranges: vec![args.source_range], })); }; - extrude_groups.extend(new_extrude_groups); + solids.extend(new_solids); } - Ok(extrude_groups) + Ok(solids) } async fn pattern_circular(data: CircularPattern, geometry: Geometry, args: Args) -> Result { @@ -886,23 +885,23 @@ async fn pattern_circular(data: CircularPattern, geometry: Geometry, args: Args) }; let geometries = match geometry { - Geometry::SketchGroup(sketch_group) => { - let mut geometries = vec![sketch_group.clone()]; + Geometry::Sketch(sketch) => { + let mut geometries = vec![sketch.clone()]; for id in pattern_info.entity_ids.iter() { - let mut new_sketch_group = sketch_group.clone(); - new_sketch_group.id = *id; - geometries.push(new_sketch_group); + let mut new_sketch = sketch.clone(); + new_sketch.id = *id; + geometries.push(new_sketch); } - Geometries::SketchGroups(geometries) + Geometries::Sketches(geometries) } - Geometry::ExtrudeGroup(extrude_group) => { - let mut geometries = vec![extrude_group.clone()]; + Geometry::Solid(solid) => { + let mut geometries = vec![solid.clone()]; for id in pattern_info.entity_ids.iter() { - let mut new_extrude_group = extrude_group.clone(); - new_extrude_group.id = *id; - geometries.push(new_extrude_group); + let mut new_solid = solid.clone(); + new_solid.id = *id; + geometries.push(new_solid); } - Geometries::ExtrudeGroups(geometries) + Geometries::Solids(geometries) } }; diff --git a/src/wasm-lib/kcl/src/std/revolve.rs b/src/wasm-lib/kcl/src/std/revolve.rs index 8edc22098..701eff1d8 100644 --- a/src/wasm-lib/kcl/src/std/revolve.rs +++ b/src/wasm-lib/kcl/src/std/revolve.rs @@ -9,7 +9,7 @@ use serde::{Deserialize, Serialize}; use crate::{ errors::{KclError, KclErrorDetails}, - executor::{ExecState, ExtrudeGroup, KclValue, SketchGroup}, + executor::{ExecState, KclValue, Sketch, Solid}, std::{ extrude::do_post_extrude, fillet::{default_tolerance, EdgeReference}, @@ -96,10 +96,10 @@ impl AxisAndOrigin { /// Revolve a sketch around an axis. pub async fn revolve(exec_state: &mut ExecState, args: Args) -> Result { - let (data, sketch_group): (RevolveData, SketchGroup) = args.get_data_and_sketch_group()?; + let (data, sketch): (RevolveData, Sketch) = args.get_data_and_sketch()?; - let extrude_group = inner_revolve(data, sketch_group, exec_state, args).await?; - Ok(KclValue::ExtrudeGroup(extrude_group)) + let solid = inner_revolve(data, sketch, exec_state, args).await?; + Ok(KclValue::Solid(solid)) } /// Rotate a sketch around some provided axis, creating a solid from its extent. @@ -245,10 +245,10 @@ pub async fn revolve(exec_state: &mut ExecState, args: Args) -> Result Result, KclError> { +) -> Result, KclError> { if let Some(angle) = data.angle { // Return an error if the angle is zero. // We don't use validate() here because we want to return a specific error message that is @@ -271,7 +271,7 @@ async fn inner_revolve( id, ModelingCmd::from(mcmd::Revolve { angle, - target: sketch_group.id.into(), + target: sketch.id.into(), axis, origin, tolerance: LengthUnit(data.tolerance.unwrap_or(default_tolerance(&args.ctx.settings.units))), @@ -286,7 +286,7 @@ async fn inner_revolve( id, ModelingCmd::from(mcmd::RevolveAboutEdge { angle, - target: sketch_group.id.into(), + target: sketch.id.into(), edge_id, tolerance: LengthUnit(data.tolerance.unwrap_or(default_tolerance(&args.ctx.settings.units))), }), @@ -295,7 +295,7 @@ async fn inner_revolve( } } - do_post_extrude(sketch_group, 0.0, args).await + do_post_extrude(sketch, 0.0, args).await } #[cfg(test)] diff --git a/src/wasm-lib/kcl/src/std/segment.rs b/src/wasm-lib/kcl/src/std/segment.rs index 63a195245..f0972a1d8 100644 --- a/src/wasm-lib/kcl/src/std/segment.rs +++ b/src/wasm-lib/kcl/src/std/segment.rs @@ -6,7 +6,7 @@ use schemars::JsonSchema; use crate::{ errors::{KclError, KclErrorDetails}, - executor::{ExecState, KclValue, SketchGroup, TagIdentifier}, + executor::{ExecState, KclValue, Sketch, TagIdentifier}, std::{utils::between, Args}, }; @@ -85,8 +85,8 @@ fn inner_segment_end_y(tag: &TagIdentifier, exec_state: &mut ExecState, args: Ar /// Returns the last segment of x. pub async fn last_segment_x(_exec_state: &mut ExecState, args: Args) -> Result { - let sketch_group = args.get_sketch_group()?; - let result = inner_last_segment_x(sketch_group, args.clone())?; + let sketch = args.get_sketch()?; + let result = inner_last_segment_x(sketch, args.clone())?; args.make_user_val_from_f64(result) } @@ -108,16 +108,13 @@ pub async fn last_segment_x(_exec_state: &mut ExecState, args: Args) -> Result Result { - let last_line = sketch_group +fn inner_last_segment_x(sketch: Sketch, args: Args) -> Result { + let last_line = sketch .value .last() .ok_or_else(|| { KclError::Type(KclErrorDetails { - message: format!( - "Expected a SketchGroup with at least one segment, found `{:?}`", - sketch_group - ), + message: format!("Expected a Sketch with at least one segment, found `{:?}`", sketch), source_ranges: vec![args.source_range], }) })? @@ -128,8 +125,8 @@ fn inner_last_segment_x(sketch_group: SketchGroup, args: Args) -> Result Result { - let sketch_group = args.get_sketch_group()?; - let result = inner_last_segment_y(sketch_group, args.clone())?; + let sketch = args.get_sketch()?; + let result = inner_last_segment_y(sketch, args.clone())?; args.make_user_val_from_f64(result) } @@ -151,16 +148,13 @@ pub async fn last_segment_y(_exec_state: &mut ExecState, args: Args) -> Result Result { - let last_line = sketch_group +fn inner_last_segment_y(sketch: Sketch, args: Args) -> Result { + let last_line = sketch .value .last() .ok_or_else(|| { KclError::Type(KclErrorDetails { - message: format!( - "Expected a SketchGroup with at least one segment, found `{:?}`", - sketch_group - ), + message: format!("Expected a Sketch with at least one segment, found `{:?}`", sketch), source_ranges: vec![args.source_range], }) })? @@ -256,8 +250,8 @@ fn inner_segment_angle(tag: &TagIdentifier, exec_state: &mut ExecState, args: Ar /// Returns the angle to match the given length for x. pub async fn angle_to_match_length_x(exec_state: &mut ExecState, args: Args) -> Result { - let (tag, to, sketch_group) = args.get_tag_to_number_sketch_group()?; - let result = inner_angle_to_match_length_x(&tag, to, sketch_group, exec_state, args.clone())?; + let (tag, to, sketch) = args.get_tag_to_number_sketch()?; + let result = inner_angle_to_match_length_x(&tag, to, sketch, exec_state, args.clone())?; args.make_user_val_from_f64(result) } @@ -281,7 +275,7 @@ pub async fn angle_to_match_length_x(exec_state: &mut ExecState, args: Args) -> fn inner_angle_to_match_length_x( tag: &TagIdentifier, to: f64, - sketch_group: SketchGroup, + sketch: Sketch, exec_state: &mut ExecState, args: Args, ) -> Result { @@ -295,15 +289,12 @@ fn inner_angle_to_match_length_x( let length = ((path.from[1] - path.to[1]).powi(2) + (path.from[0] - path.to[0]).powi(2)).sqrt(); - let last_line = sketch_group + let last_line = sketch .value .last() .ok_or_else(|| { KclError::Type(KclErrorDetails { - message: format!( - "Expected a SketchGroup with at least one segment, found `{:?}`", - sketch_group - ), + message: format!("Expected a Sketch with at least one segment, found `{:?}`", sketch), source_ranges: vec![args.source_range], }) })? @@ -322,8 +313,8 @@ fn inner_angle_to_match_length_x( /// Returns the angle to match the given length for y. pub async fn angle_to_match_length_y(exec_state: &mut ExecState, args: Args) -> Result { - let (tag, to, sketch_group) = args.get_tag_to_number_sketch_group()?; - let result = inner_angle_to_match_length_y(&tag, to, sketch_group, exec_state, args.clone())?; + let (tag, to, sketch) = args.get_tag_to_number_sketch()?; + let result = inner_angle_to_match_length_y(&tag, to, sketch, exec_state, args.clone())?; args.make_user_val_from_f64(result) } @@ -348,7 +339,7 @@ pub async fn angle_to_match_length_y(exec_state: &mut ExecState, args: Args) -> fn inner_angle_to_match_length_y( tag: &TagIdentifier, to: f64, - sketch_group: SketchGroup, + sketch: Sketch, exec_state: &mut ExecState, args: Args, ) -> Result { @@ -362,15 +353,12 @@ fn inner_angle_to_match_length_y( let length = ((path.from[1] - path.to[1]).powi(2) + (path.from[0] - path.to[0]).powi(2)).sqrt(); - let last_line = sketch_group + let last_line = sketch .value .last() .ok_or_else(|| { KclError::Type(KclErrorDetails { - message: format!( - "Expected a SketchGroup with at least one segment, found `{:?}`", - sketch_group - ), + message: format!("Expected a Sketch with at least one segment, found `{:?}`", sketch), source_ranges: vec![args.source_range], }) })? diff --git a/src/wasm-lib/kcl/src/std/shapes.rs b/src/wasm-lib/kcl/src/std/shapes.rs index 50d0233a9..f0ac60165 100644 --- a/src/wasm-lib/kcl/src/std/shapes.rs +++ b/src/wasm-lib/kcl/src/std/shapes.rs @@ -2,11 +2,12 @@ use anyhow::Result; use derive_docs::stdlib; -use kcmc::each_cmd as mcmd; -use kcmc::length_unit::LengthUnit; -use kcmc::shared::Angle; -use kcmc::shared::Point2d as KPoint2d; -use kcmc::ModelingCmd; +use kcmc::{ + each_cmd as mcmd, + length_unit::LengthUnit, + shared::{Angle, Point2d as KPoint2d}, + ModelingCmd, +}; use kittycad_modeling_cmds as kcmc; use kittycad_modeling_cmds::shared::PathSegment; use schemars::JsonSchema; @@ -15,17 +16,17 @@ use serde::{Deserialize, Serialize}; use crate::{ ast::types::TagDeclarator, errors::KclError, - executor::{BasePath, ExecState, GeoMeta, KclValue, Path, SketchGroup, SketchSurface}, + executor::{BasePath, ExecState, GeoMeta, KclValue, Path, Sketch, SketchSurface}, std::Args, }; -/// A sketch surface or a sketch group. +/// A sketch surface or a sketch. #[derive(Debug, Clone, Deserialize, Serialize, PartialEq, ts_rs::TS, JsonSchema)] #[ts(export)] #[serde(untagged)] -pub enum SketchSurfaceOrGroup { +pub enum SketchOrSurface { SketchSurface(SketchSurface), - SketchGroup(Box), + Sketch(Box), } /// Data for drawing an circle @@ -42,11 +43,11 @@ pub struct CircleData { /// Sketch a circle. pub async fn circle(exec_state: &mut ExecState, args: Args) -> Result { - let (data, sketch_surface_or_group, tag): (CircleData, SketchSurfaceOrGroup, Option) = + let (data, sketch_surface_or_group, tag): (CircleData, SketchOrSurface, Option) = args.get_circle_args()?; - let sketch_group = inner_circle(data, sketch_surface_or_group, tag, exec_state, args).await?; - Ok(KclValue::new_user_val(sketch_group.meta.clone(), sketch_group)) + let sketch = inner_circle(data, sketch_surface_or_group, tag, exec_state, args).await?; + Ok(KclValue::new_user_val(sketch.meta.clone(), sketch)) } /// Construct a 2-dimensional circle, of the specified radius, centered at @@ -75,16 +76,16 @@ pub async fn circle(exec_state: &mut ExecState, args: Args) -> Result, exec_state: &mut ExecState, args: Args, -) -> Result { +) -> Result { let sketch_surface = match sketch_surface_or_group { - SketchSurfaceOrGroup::SketchSurface(surface) => surface, - SketchSurfaceOrGroup::SketchGroup(group) => group.on, + SketchOrSurface::SketchSurface(surface) => surface, + SketchOrSurface::Sketch(group) => group.on, }; - let sketch_group = crate::std::sketch::inner_start_profile_at( + let sketch = crate::std::sketch::inner_start_profile_at( [data.center[0] + data.radius, data.center[1]], sketch_surface, None, @@ -101,7 +102,7 @@ async fn inner_circle( args.batch_modeling_cmd( id, ModelingCmd::from(mcmd::ExtendPath { - path: sketch_group.id.into(), + path: sketch.id.into(), segment: PathSegment::Arc { start: angle_start, end: angle_end, @@ -128,20 +129,15 @@ async fn inner_circle( ccw: angle_start.to_degrees() < angle_end.to_degrees(), }; - let mut new_sketch_group = sketch_group.clone(); + let mut new_sketch = sketch.clone(); if let Some(tag) = &tag { - new_sketch_group.add_tag(tag, ¤t_path); + new_sketch.add_tag(tag, ¤t_path); } - new_sketch_group.value.push(current_path); + new_sketch.value.push(current_path); - args.batch_modeling_cmd( - id, - ModelingCmd::from(mcmd::ClosePath { - path_id: new_sketch_group.id, - }), - ) - .await?; + args.batch_modeling_cmd(id, ModelingCmd::from(mcmd::ClosePath { path_id: new_sketch.id })) + .await?; - Ok(new_sketch_group) + Ok(new_sketch) } diff --git a/src/wasm-lib/kcl/src/std/shell.rs b/src/wasm-lib/kcl/src/std/shell.rs index 69b25db94..80f0c4977 100644 --- a/src/wasm-lib/kcl/src/std/shell.rs +++ b/src/wasm-lib/kcl/src/std/shell.rs @@ -9,7 +9,7 @@ use serde::{Deserialize, Serialize}; use crate::{ errors::{KclError, KclErrorDetails}, - executor::{ExecState, ExtrudeGroup, ExtrudeGroupSet, KclValue}, + executor::{ExecState, KclValue, Solid, SolidSet}, std::{sketch::FaceTag, Args}, }; @@ -26,9 +26,9 @@ pub struct ShellData { /// Create a shell. pub async fn shell(exec_state: &mut ExecState, args: Args) -> Result { - let (data, extrude_group_set): (ShellData, ExtrudeGroupSet) = args.get_data_and_extrude_group_set()?; + let (data, solid_set): (ShellData, SolidSet) = args.get_data_and_solid_set()?; - let result = inner_shell(data, extrude_group_set, exec_state, args).await?; + let result = inner_shell(data, solid_set, exec_state, args).await?; Ok(result.into()) } @@ -179,10 +179,10 @@ pub async fn shell(exec_state: &mut ExecState, args: Args) -> Result Result { +) -> Result { if data.faces.is_empty() { return Err(KclError::Type(KclErrorDetails { message: "Expected at least one face".to_string(), @@ -190,23 +190,22 @@ async fn inner_shell( })); } - let extrude_groups: Vec> = extrude_group_set.clone().into(); - if extrude_groups.is_empty() { + let solids: Vec> = solid_set.clone().into(); + if solids.is_empty() { return Err(KclError::Type(KclErrorDetails { - message: "Expected at least one extrude group".to_string(), + message: "Expected at least one solid".to_string(), source_ranges: vec![args.source_range], })); } let mut face_ids = Vec::new(); - for extrude_group in &extrude_groups { + for solid in &solids { // Flush the batch for our fillets/chamfers if there are any. // If we do not do these for sketch on face, things will fail with face does not exist. - args.flush_batch_for_extrude_group_set(exec_state, extrude_group.clone().into()) - .await?; + args.flush_batch_for_solid_set(exec_state, solid.clone().into()).await?; for tag in &data.faces { - let extrude_plane_id = tag.get_face_id(extrude_group, exec_state, &args, false).await?; + let extrude_plane_id = tag.get_face_id(solid, exec_state, &args, false).await?; face_ids.push(extrude_plane_id); } @@ -219,11 +218,11 @@ async fn inner_shell( })); } - // Make sure all the extrude groups have the same id, as we are going to shell them all at + // Make sure all the solids have the same id, as we are going to shell them all at // once. - if !extrude_groups.iter().all(|eg| eg.id == extrude_groups[0].id) { + if !solids.iter().all(|eg| eg.id == solids[0].id) { return Err(KclError::Type(KclErrorDetails { - message: "All extrude groups stem from the same root object, like multiple sketch on face extrusions, etc." + message: "All solids stem from the same root object, like multiple sketch on face extrusions, etc." .to_string(), source_ranges: vec![args.source_range], })); @@ -234,21 +233,21 @@ async fn inner_shell( ModelingCmd::from(mcmd::Solid3dShellFace { hollow: false, face_ids, - object_id: extrude_groups[0].id, + object_id: solids[0].id, shell_thickness: LengthUnit(data.thickness), }), ) .await?; - Ok(extrude_group_set) + Ok(solid_set) } /// Make the inside of a 3D object hollow. pub async fn hollow(exec_state: &mut ExecState, args: Args) -> Result { - let (thickness, extrude_group): (f64, Box) = args.get_data_and_extrude_group()?; + let (thickness, solid): (f64, Box) = args.get_data_and_solid()?; - let extrude_group = inner_hollow(thickness, extrude_group, exec_state, args).await?; - Ok(KclValue::ExtrudeGroup(extrude_group)) + let solid = inner_hollow(thickness, solid, exec_state, args).await?; + Ok(KclValue::Solid(solid)) } /// Make the inside of a 3D object hollow. @@ -306,25 +305,24 @@ pub async fn hollow(exec_state: &mut ExecState, args: Args) -> Result, + solid: Box, exec_state: &mut ExecState, args: Args, -) -> Result, KclError> { +) -> Result, KclError> { // Flush the batch for our fillets/chamfers if there are any. // If we do not do these for sketch on face, things will fail with face does not exist. - args.flush_batch_for_extrude_group_set(exec_state, extrude_group.clone().into()) - .await?; + args.flush_batch_for_solid_set(exec_state, solid.clone().into()).await?; args.batch_modeling_cmd( uuid::Uuid::new_v4(), ModelingCmd::from(mcmd::Solid3dShellFace { hollow: true, face_ids: Vec::new(), // This is empty because we want to hollow the entire object. - object_id: extrude_group.id, + object_id: solid.id, shell_thickness: LengthUnit(thickness), }), ) .await?; - Ok(extrude_group) + Ok(solid) } diff --git a/src/wasm-lib/kcl/src/std/sketch.rs b/src/wasm-lib/kcl/src/std/sketch.rs index ace9493d3..d467bae25 100644 --- a/src/wasm-lib/kcl/src/std/sketch.rs +++ b/src/wasm-lib/kcl/src/std/sketch.rs @@ -16,8 +16,8 @@ use crate::{ ast::types::TagDeclarator, errors::{KclError, KclErrorDetails}, executor::{ - BasePath, ExecState, ExtrudeGroup, Face, GeoMeta, KclValue, Path, Plane, PlaneType, Point2d, Point3d, - SketchGroup, SketchGroupSet, SketchSurface, TagEngineInfo, TagIdentifier, UserVal, + BasePath, ExecState, Face, GeoMeta, KclValue, Path, Plane, PlaneType, Point2d, Point3d, Sketch, SketchSet, + SketchSurface, Solid, TagEngineInfo, TagIdentifier, UserVal, }, std::{ utils::{ @@ -52,20 +52,20 @@ impl FaceTag { /// Get the face id from the tag. pub async fn get_face_id( &self, - extrude_group: &ExtrudeGroup, + solid: &Solid, exec_state: &mut ExecState, args: &Args, must_be_planar: bool, ) -> Result { match self { FaceTag::Tag(ref t) => args.get_adjacent_face_to_tag(exec_state, t, must_be_planar).await, - FaceTag::StartOrEnd(StartOrEnd::Start) => extrude_group.start_cap_id.ok_or_else(|| { + FaceTag::StartOrEnd(StartOrEnd::Start) => solid.start_cap_id.ok_or_else(|| { KclError::Type(KclErrorDetails { message: "Expected a start face".to_string(), source_ranges: vec![args.source_range], }) }), - FaceTag::StartOrEnd(StartOrEnd::End) => extrude_group.end_cap_id.ok_or_else(|| { + FaceTag::StartOrEnd(StartOrEnd::End) => solid.end_cap_id.ok_or_else(|| { KclError::Type(KclErrorDetails { message: "Expected an end face".to_string(), source_ranges: vec![args.source_range], @@ -94,11 +94,10 @@ pub enum StartOrEnd { /// Draw a line to a point. pub async fn line_to(_exec_state: &mut ExecState, args: Args) -> Result { - let (to, sketch_group, tag): ([f64; 2], SketchGroup, Option) = - args.get_data_and_sketch_group_and_tag()?; + let (to, sketch, tag): ([f64; 2], Sketch, Option) = args.get_data_and_sketch_and_tag()?; - let new_sketch_group = inner_line_to(to, sketch_group, tag, args).await?; - Ok(KclValue::new_user_val(new_sketch_group.meta.clone(), new_sketch_group)) + let new_sketch = inner_line_to(to, sketch, tag, args).await?; + Ok(KclValue::new_user_val(new_sketch.meta.clone(), new_sketch)) } /// Draw a line from the current origin to some absolute (x, y) point. @@ -118,17 +117,17 @@ pub async fn line_to(_exec_state: &mut ExecState, args: Args) -> Result, args: Args, -) -> Result { - let from = sketch_group.current_pen_position()?; +) -> Result { + let from = sketch.current_pen_position()?; let id = uuid::Uuid::new_v4(); args.batch_modeling_cmd( id, ModelingCmd::from(mcmd::ExtendPath { - path: sketch_group.id.into(), + path: sketch.id.into(), segment: PathSegment::Line { end: KPoint2d::from(to).with_z(0.0).map(LengthUnit), relative: false, @@ -149,23 +148,22 @@ async fn inner_line_to( }, }; - let mut new_sketch_group = sketch_group.clone(); + let mut new_sketch = sketch.clone(); if let Some(tag) = &tag { - new_sketch_group.add_tag(tag, ¤t_path); + new_sketch.add_tag(tag, ¤t_path); } - new_sketch_group.value.push(current_path); + new_sketch.value.push(current_path); - Ok(new_sketch_group) + Ok(new_sketch) } /// Draw a line to a point on the x-axis. pub async fn x_line_to(_exec_state: &mut ExecState, args: Args) -> Result { - let (to, sketch_group, tag): (f64, SketchGroup, Option) = - args.get_data_and_sketch_group_and_tag()?; + let (to, sketch, tag): (f64, Sketch, Option) = args.get_data_and_sketch_and_tag()?; - let new_sketch_group = inner_x_line_to(to, sketch_group, tag, args).await?; - Ok(KclValue::new_user_val(new_sketch_group.meta.clone(), new_sketch_group)) + let new_sketch = inner_x_line_to(to, sketch, tag, args).await?; + Ok(KclValue::new_user_val(new_sketch.meta.clone(), new_sketch)) } /// Draw a line parallel to the X axis, that ends at the given X. @@ -194,26 +192,20 @@ pub async fn x_line_to(_exec_state: &mut ExecState, args: Args) -> Result, - args: Args, -) -> Result { - let from = sketch_group.current_pen_position()?; +async fn inner_x_line_to(to: f64, sketch: Sketch, tag: Option, args: Args) -> Result { + let from = sketch.current_pen_position()?; - let new_sketch_group = inner_line_to([to, from.y], sketch_group, tag, args).await?; + let new_sketch = inner_line_to([to, from.y], sketch, tag, args).await?; - Ok(new_sketch_group) + Ok(new_sketch) } /// Draw a line to a point on the y-axis. pub async fn y_line_to(_exec_state: &mut ExecState, args: Args) -> Result { - let (to, sketch_group, tag): (f64, SketchGroup, Option) = - args.get_data_and_sketch_group_and_tag()?; + let (to, sketch, tag): (f64, Sketch, Option) = args.get_data_and_sketch_and_tag()?; - let new_sketch_group = inner_y_line_to(to, sketch_group, tag, args).await?; - Ok(KclValue::new_user_val(new_sketch_group.meta.clone(), new_sketch_group)) + let new_sketch = inner_y_line_to(to, sketch, tag, args).await?; + Ok(KclValue::new_user_val(new_sketch.meta.clone(), new_sketch)) } /// Draw a line parallel to the Y axis, that ends at the given Y. @@ -235,25 +227,19 @@ pub async fn y_line_to(_exec_state: &mut ExecState, args: Args) -> Result, - args: Args, -) -> Result { - let from = sketch_group.current_pen_position()?; +async fn inner_y_line_to(to: f64, sketch: Sketch, tag: Option, args: Args) -> Result { + let from = sketch.current_pen_position()?; - let new_sketch_group = inner_line_to([from.x, to], sketch_group, tag, args).await?; - Ok(new_sketch_group) + let new_sketch = inner_line_to([from.x, to], sketch, tag, args).await?; + Ok(new_sketch) } /// Draw a line. pub async fn line(_exec_state: &mut ExecState, args: Args) -> Result { - let (delta, sketch_group, tag): ([f64; 2], SketchGroup, Option) = - args.get_data_and_sketch_group_and_tag()?; + let (delta, sketch, tag): ([f64; 2], Sketch, Option) = args.get_data_and_sketch_and_tag()?; - let new_sketch_group = inner_line(delta, sketch_group, tag, args).await?; - Ok(KclValue::new_user_val(new_sketch_group.meta.clone(), new_sketch_group)) + let new_sketch = inner_line(delta, sketch, tag, args).await?; + Ok(KclValue::new_user_val(new_sketch.meta.clone(), new_sketch)) } /// Draw a line relative to the current origin to a specified (x, y) away @@ -285,11 +271,11 @@ pub async fn line(_exec_state: &mut ExecState, args: Args) -> Result, args: Args, -) -> Result { - let from = sketch_group.current_pen_position()?; +) -> Result { + let from = sketch.current_pen_position()?; let to = [from.x + delta[0], from.y + delta[1]]; let id = uuid::Uuid::new_v4(); @@ -297,7 +283,7 @@ async fn inner_line( args.batch_modeling_cmd( id, ModelingCmd::from(mcmd::ExtendPath { - path: sketch_group.id.into(), + path: sketch.id.into(), segment: PathSegment::Line { end: KPoint2d::from(delta).with_z(0.0).map(LengthUnit), relative: true, @@ -318,23 +304,22 @@ async fn inner_line( }, }; - let mut new_sketch_group = sketch_group.clone(); + let mut new_sketch = sketch.clone(); if let Some(tag) = &tag { - new_sketch_group.add_tag(tag, ¤t_path); + new_sketch.add_tag(tag, ¤t_path); } - new_sketch_group.value.push(current_path); + new_sketch.value.push(current_path); - Ok(new_sketch_group) + Ok(new_sketch) } /// Draw a line on the x-axis. pub async fn x_line(_exec_state: &mut ExecState, args: Args) -> Result { - let (length, sketch_group, tag): (f64, SketchGroup, Option) = - args.get_data_and_sketch_group_and_tag()?; + let (length, sketch, tag): (f64, Sketch, Option) = args.get_data_and_sketch_and_tag()?; - let new_sketch_group = inner_x_line(length, sketch_group, tag, args).await?; - Ok(KclValue::new_user_val(new_sketch_group.meta.clone(), new_sketch_group)) + let new_sketch = inner_x_line(length, sketch, tag, args).await?; + Ok(KclValue::new_user_val(new_sketch.meta.clone(), new_sketch)) } /// Draw a line relative to the current origin to a specified distance away @@ -362,22 +347,16 @@ pub async fn x_line(_exec_state: &mut ExecState, args: Args) -> Result, - args: Args, -) -> Result { - inner_line([length, 0.0], sketch_group, tag, args).await +async fn inner_x_line(length: f64, sketch: Sketch, tag: Option, args: Args) -> Result { + inner_line([length, 0.0], sketch, tag, args).await } /// Draw a line on the y-axis. pub async fn y_line(_exec_state: &mut ExecState, args: Args) -> Result { - let (length, sketch_group, tag): (f64, SketchGroup, Option) = - args.get_data_and_sketch_group_and_tag()?; + let (length, sketch, tag): (f64, Sketch, Option) = args.get_data_and_sketch_and_tag()?; - let new_sketch_group = inner_y_line(length, sketch_group, tag, args).await?; - Ok(KclValue::new_user_val(new_sketch_group.meta.clone(), new_sketch_group)) + let new_sketch = inner_y_line(length, sketch, tag, args).await?; + Ok(KclValue::new_user_val(new_sketch.meta.clone(), new_sketch)) } /// Draw a line relative to the current origin to a specified distance away @@ -400,13 +379,8 @@ pub async fn y_line(_exec_state: &mut ExecState, args: Args) -> Result, - args: Args, -) -> Result { - inner_line([0.0, length], sketch_group, tag, args).await +async fn inner_y_line(length: f64, sketch: Sketch, tag: Option, args: Args) -> Result { + inner_line([0.0, length], sketch, tag, args).await } /// Data to draw an angled line. @@ -427,11 +401,10 @@ pub enum AngledLineData { /// Draw an angled line. pub async fn angled_line(_exec_state: &mut ExecState, args: Args) -> Result { - let (data, sketch_group, tag): (AngledLineData, SketchGroup, Option) = - args.get_data_and_sketch_group_and_tag()?; + let (data, sketch, tag): (AngledLineData, Sketch, Option) = args.get_data_and_sketch_and_tag()?; - let new_sketch_group = inner_angled_line(data, sketch_group, tag, args).await?; - Ok(KclValue::new_user_val(new_sketch_group.meta.clone(), new_sketch_group)) + let new_sketch = inner_angled_line(data, sketch, tag, args).await?; + Ok(KclValue::new_user_val(new_sketch.meta.clone(), new_sketch)) } /// Draw a line segment relative to the current origin using the polar @@ -456,11 +429,11 @@ pub async fn angled_line(_exec_state: &mut ExecState, args: Args) -> Result, args: Args, -) -> Result { - let from = sketch_group.current_pen_position()?; +) -> Result { + let from = sketch.current_pen_position()?; let (angle, length) = match data { AngledLineData::AngleAndLengthNamed { angle, length } => (angle, length), AngledLineData::AngleAndLengthPair(pair) => (pair[0], pair[1]), @@ -480,7 +453,7 @@ async fn inner_angled_line( args.batch_modeling_cmd( id, ModelingCmd::from(mcmd::ExtendPath { - path: sketch_group.id.into(), + path: sketch.id.into(), segment: PathSegment::Line { end: KPoint2d::from(delta).with_z(0.0).map(LengthUnit), relative, @@ -501,22 +474,21 @@ async fn inner_angled_line( }, }; - let mut new_sketch_group = sketch_group.clone(); + let mut new_sketch = sketch.clone(); if let Some(tag) = &tag { - new_sketch_group.add_tag(tag, ¤t_path); + new_sketch.add_tag(tag, ¤t_path); } - new_sketch_group.value.push(current_path); - Ok(new_sketch_group) + new_sketch.value.push(current_path); + Ok(new_sketch) } /// Draw an angled line of a given x length. pub async fn angled_line_of_x_length(_exec_state: &mut ExecState, args: Args) -> Result { - let (data, sketch_group, tag): (AngledLineData, SketchGroup, Option) = - args.get_data_and_sketch_group_and_tag()?; + let (data, sketch, tag): (AngledLineData, Sketch, Option) = args.get_data_and_sketch_and_tag()?; - let new_sketch_group = inner_angled_line_of_x_length(data, sketch_group, tag, args).await?; - Ok(KclValue::new_user_val(new_sketch_group.meta.clone(), new_sketch_group)) + let new_sketch = inner_angled_line_of_x_length(data, sketch, tag, args).await?; + Ok(KclValue::new_user_val(new_sketch.meta.clone(), new_sketch)) } /// Create a line segment from the current 2-dimensional sketch origin @@ -537,10 +509,10 @@ pub async fn angled_line_of_x_length(_exec_state: &mut ExecState, args: Args) -> }] async fn inner_angled_line_of_x_length( data: AngledLineData, - sketch_group: SketchGroup, + sketch: Sketch, tag: Option, args: Args, -) -> Result { +) -> Result { let (angle, length) = match data { AngledLineData::AngleAndLengthNamed { angle, length } => (angle, length), AngledLineData::AngleAndLengthPair(pair) => (pair[0], pair[1]), @@ -562,9 +534,9 @@ async fn inner_angled_line_of_x_length( let to = get_y_component(Angle::from_degrees(angle), length); - let new_sketch_group = inner_line(to.into(), sketch_group, tag, args).await?; + let new_sketch = inner_line(to.into(), sketch, tag, args).await?; - Ok(new_sketch_group) + Ok(new_sketch) } /// Data to draw an angled line to a point. @@ -580,11 +552,10 @@ pub struct AngledLineToData { /// Draw an angled line to a given x coordinate. pub async fn angled_line_to_x(_exec_state: &mut ExecState, args: Args) -> Result { - let (data, sketch_group, tag): (AngledLineToData, SketchGroup, Option) = - args.get_data_and_sketch_group_and_tag()?; + let (data, sketch, tag): (AngledLineToData, Sketch, Option) = args.get_data_and_sketch_and_tag()?; - let new_sketch_group = inner_angled_line_to_x(data, sketch_group, tag, args).await?; - Ok(KclValue::new_user_val(new_sketch_group.meta.clone(), new_sketch_group)) + let new_sketch = inner_angled_line_to_x(data, sketch, tag, args).await?; + Ok(KclValue::new_user_val(new_sketch.meta.clone(), new_sketch)) } /// Create a line segment from the current 2-dimensional sketch origin @@ -606,11 +577,11 @@ pub async fn angled_line_to_x(_exec_state: &mut ExecState, args: Args) -> Result }] async fn inner_angled_line_to_x( data: AngledLineToData, - sketch_group: SketchGroup, + sketch: Sketch, tag: Option, args: Args, -) -> Result { - let from = sketch_group.current_pen_position()?; +) -> Result { + let from = sketch.current_pen_position()?; let AngledLineToData { angle, to: x_to } = data; if angle.abs() == 270.0 { @@ -631,18 +602,17 @@ async fn inner_angled_line_to_x( let y_component = x_component * f64::tan(angle.to_radians()); let y_to = from.y + y_component; - let new_sketch_group = inner_line_to([x_to, y_to], sketch_group, tag, args).await?; - Ok(new_sketch_group) + let new_sketch = inner_line_to([x_to, y_to], sketch, tag, args).await?; + Ok(new_sketch) } /// Draw an angled line of a given y length. pub async fn angled_line_of_y_length(_exec_state: &mut ExecState, args: Args) -> Result { - let (data, sketch_group, tag): (AngledLineData, SketchGroup, Option) = - args.get_data_and_sketch_group_and_tag()?; + let (data, sketch, tag): (AngledLineData, Sketch, Option) = args.get_data_and_sketch_and_tag()?; - let new_sketch_group = inner_angled_line_of_y_length(data, sketch_group, tag, args).await?; + let new_sketch = inner_angled_line_of_y_length(data, sketch, tag, args).await?; - Ok(KclValue::new_user_val(new_sketch_group.meta.clone(), new_sketch_group)) + Ok(KclValue::new_user_val(new_sketch.meta.clone(), new_sketch)) } /// Create a line segment from the current 2-dimensional sketch origin @@ -665,10 +635,10 @@ pub async fn angled_line_of_y_length(_exec_state: &mut ExecState, args: Args) -> }] async fn inner_angled_line_of_y_length( data: AngledLineData, - sketch_group: SketchGroup, + sketch: Sketch, tag: Option, args: Args, -) -> Result { +) -> Result { let (angle, length) = match data { AngledLineData::AngleAndLengthNamed { angle, length } => (angle, length), AngledLineData::AngleAndLengthPair(pair) => (pair[0], pair[1]), @@ -690,18 +660,17 @@ async fn inner_angled_line_of_y_length( let to = get_x_component(Angle::from_degrees(angle), length); - let new_sketch_group = inner_line(to.into(), sketch_group, tag, args).await?; + let new_sketch = inner_line(to.into(), sketch, tag, args).await?; - Ok(new_sketch_group) + Ok(new_sketch) } /// Draw an angled line to a given y coordinate. pub async fn angled_line_to_y(_exec_state: &mut ExecState, args: Args) -> Result { - let (data, sketch_group, tag): (AngledLineToData, SketchGroup, Option) = - args.get_data_and_sketch_group_and_tag()?; + let (data, sketch, tag): (AngledLineToData, Sketch, Option) = args.get_data_and_sketch_and_tag()?; - let new_sketch_group = inner_angled_line_to_y(data, sketch_group, tag, args).await?; - Ok(KclValue::new_user_val(new_sketch_group.meta.clone(), new_sketch_group)) + let new_sketch = inner_angled_line_to_y(data, sketch, tag, args).await?; + Ok(KclValue::new_user_val(new_sketch.meta.clone(), new_sketch)) } /// Create a line segment from the current 2-dimensional sketch origin @@ -723,11 +692,11 @@ pub async fn angled_line_to_y(_exec_state: &mut ExecState, args: Args) -> Result }] async fn inner_angled_line_to_y( data: AngledLineToData, - sketch_group: SketchGroup, + sketch: Sketch, tag: Option, args: Args, -) -> Result { - let from = sketch_group.current_pen_position()?; +) -> Result { + let from = sketch.current_pen_position()?; let AngledLineToData { angle, to: y_to } = data; if angle.abs() == 0.0 { @@ -748,8 +717,8 @@ async fn inner_angled_line_to_y( let x_component = y_component / f64::tan(angle.to_radians()); let x_to = from.x + x_component; - let new_sketch_group = inner_line_to([x_to, y_to], sketch_group, tag, args).await?; - Ok(new_sketch_group) + let new_sketch = inner_line_to([x_to, y_to], sketch, tag, args).await?; + Ok(new_sketch) } /// Data for drawing an angled line that intersects with a given line. @@ -768,10 +737,10 @@ pub struct AngledLineThatIntersectsData { /// Draw an angled line that intersects with a given line. pub async fn angled_line_that_intersects(exec_state: &mut ExecState, args: Args) -> Result { - let (data, sketch_group, tag): (AngledLineThatIntersectsData, SketchGroup, Option) = - args.get_data_and_sketch_group_and_tag()?; - let new_sketch_group = inner_angled_line_that_intersects(data, sketch_group, tag, exec_state, args).await?; - Ok(KclValue::new_user_val(new_sketch_group.meta.clone(), new_sketch_group)) + let (data, sketch, tag): (AngledLineThatIntersectsData, Sketch, Option) = + args.get_data_and_sketch_and_tag()?; + let new_sketch = inner_angled_line_that_intersects(data, sketch, tag, exec_state, args).await?; + Ok(KclValue::new_user_val(new_sketch.meta.clone(), new_sketch)) } /// Draw an angled line from the current origin, constructing a line segment @@ -798,11 +767,11 @@ pub async fn angled_line_that_intersects(exec_state: &mut ExecState, args: Args) }] async fn inner_angled_line_that_intersects( data: AngledLineThatIntersectsData, - sketch_group: SketchGroup, + sketch: Sketch, tag: Option, exec_state: &mut ExecState, args: Args, -) -> Result { +) -> Result { let intersect_path = args.get_tag_engine_info(exec_state, &data.intersect_tag)?; let path = intersect_path.path.clone().ok_or_else(|| { KclError::Type(KclErrorDetails { @@ -811,7 +780,7 @@ async fn inner_angled_line_that_intersects( }) })?; - let from = sketch_group.current_pen_position()?; + let from = sketch.current_pen_position()?; let to = intersection_with_parallel_line( &[path.from.into(), path.to.into()], data.offset.unwrap_or_default(), @@ -819,16 +788,16 @@ async fn inner_angled_line_that_intersects( from, ); - let new_sketch_group = inner_line_to(to.into(), sketch_group, tag, args).await?; - Ok(new_sketch_group) + let new_sketch = inner_line_to(to.into(), sketch, tag, args).await?; + Ok(new_sketch) } /// Start a sketch at a given point. pub async fn start_sketch_at(exec_state: &mut ExecState, args: Args) -> Result { let data: [f64; 2] = args.get_data()?; - let sketch_group = inner_start_sketch_at(data, exec_state, args).await?; - Ok(KclValue::new_user_val(sketch_group.meta.clone(), sketch_group)) + let sketch = inner_start_sketch_at(data, exec_state, args).await?; + Ok(KclValue::new_user_val(sketch.meta.clone(), sketch)) } /// Start a new 2-dimensional sketch at a given point on the 'XY' plane. @@ -865,26 +834,22 @@ pub async fn start_sketch_at(exec_state: &mut ExecState, args: Args) -> Result Result { +async fn inner_start_sketch_at(data: [f64; 2], exec_state: &mut ExecState, args: Args) -> Result { // Let's assume it's the XY plane for now, this is just for backwards compatibility. let xy_plane = PlaneData::XY; let sketch_surface = inner_start_sketch_on(SketchData::Plane(xy_plane), None, exec_state, &args).await?; - let sketch_group = inner_start_profile_at(data, sketch_surface, None, exec_state, args).await?; - Ok(sketch_group) + let sketch = inner_start_profile_at(data, sketch_surface, None, exec_state, args).await?; + Ok(sketch) } /// Data for start sketch on. -/// You can start a sketch on a plane or an extrude group. +/// You can start a sketch on a plane or an solid. #[derive(Debug, Clone, Deserialize, Serialize, PartialEq, ts_rs::TS, JsonSchema)] #[ts(export)] #[serde(rename_all = "camelCase", untagged)] pub enum SketchData { Plane(PlaneData), - ExtrudeGroup(Box), + Solid(Box), } /// Data for a plane. @@ -1127,35 +1092,35 @@ async fn inner_start_sketch_on( let plane = start_sketch_on_plane(plane_data, args).await?; Ok(SketchSurface::Plane(plane)) } - SketchData::ExtrudeGroup(extrude_group) => { + SketchData::Solid(solid) => { let Some(tag) = tag else { return Err(KclError::Type(KclErrorDetails { message: "Expected a tag for the face to sketch on".to_string(), source_ranges: vec![args.source_range], })); }; - let face = start_sketch_on_face(extrude_group, tag, exec_state, args).await?; + let face = start_sketch_on_face(solid, tag, exec_state, args).await?; Ok(SketchSurface::Face(face)) } } } async fn start_sketch_on_face( - extrude_group: Box, + solid: Box, tag: FaceTag, exec_state: &mut ExecState, args: &Args, ) -> Result, KclError> { - let extrude_plane_id = tag.get_face_id(&extrude_group, exec_state, args, true).await?; + let extrude_plane_id = tag.get_face_id(&solid, exec_state, args, true).await?; Ok(Box::new(Face { id: extrude_plane_id, value: tag.to_string(), // TODO: get this from the extrude plane data. - x_axis: extrude_group.sketch_group.on.x_axis(), - y_axis: extrude_group.sketch_group.on.y_axis(), - z_axis: extrude_group.sketch_group.on.z_axis(), - extrude_group, + x_axis: solid.sketch.on.x_axis(), + y_axis: solid.sketch.on.y_axis(), + z_axis: solid.sketch.on.z_axis(), + solid, meta: vec![args.source_range.into()], })) } @@ -1206,8 +1171,8 @@ pub async fn start_profile_at(exec_state: &mut ExecState, args: Args) -> Result< let (start, sketch_surface, tag): ([f64; 2], SketchSurface, Option) = args.get_data_and_sketch_surface()?; - let sketch_group = inner_start_profile_at(start, sketch_surface, tag, exec_state, args).await?; - Ok(KclValue::new_user_val(sketch_group.meta.clone(), sketch_group)) + let sketch = inner_start_profile_at(start, sketch_surface, tag, exec_state, args).await?; + Ok(KclValue::new_user_val(sketch.meta.clone(), sketch)) } /// Start a new profile at a given point. @@ -1253,11 +1218,11 @@ pub(crate) async fn inner_start_profile_at( tag: Option, exec_state: &mut ExecState, args: Args, -) -> Result { +) -> Result { if let SketchSurface::Face(face) = &sketch_surface { // Flush the batch for our fillets/chamfers if there are any. // If we do not do these for sketch on face, things will fail with face does not exist. - args.flush_batch_for_extrude_group_set(exec_state, face.extrude_group.clone().into()) + args.flush_batch_for_solid_set(exec_state, face.solid.clone().into()) .await?; } @@ -1305,7 +1270,7 @@ pub(crate) async fn inner_start_profile_at( }, }; - let sketch_group = SketchGroup { + let sketch = Sketch { id: path_id, original_id: path_id, on: sketch_surface.clone(), @@ -1315,7 +1280,7 @@ pub(crate) async fn inner_start_profile_at( let mut tag_identifier: TagIdentifier = tag.into(); tag_identifier.info = Some(TagEngineInfo { id: current_path.geo_meta.id, - sketch_group: path_id, + sketch: path_id, path: Some(current_path.clone()), surface: None, }); @@ -1325,17 +1290,17 @@ pub(crate) async fn inner_start_profile_at( }, start: current_path, }; - Ok(sketch_group) + Ok(sketch) } /// Returns the X component of the sketch profile start point. pub async fn profile_start_x(_exec_state: &mut ExecState, args: Args) -> Result { - let sketch_group: SketchGroup = args.get_sketch_group()?; - let x = inner_profile_start_x(sketch_group)?; + let sketch: Sketch = args.get_sketch()?; + let x = inner_profile_start_x(sketch)?; args.make_user_val_from_f64(x) } -/// Extract the provided 2-dimensional sketch group's profile's origin's 'x' +/// Extract the provided 2-dimensional sketch's profile's origin's 'x' /// value. /// /// ```no_run @@ -1348,18 +1313,18 @@ pub async fn profile_start_x(_exec_state: &mut ExecState, args: Args) -> Result< #[stdlib { name = "profileStartX" }] -pub(crate) fn inner_profile_start_x(sketch_group: SketchGroup) -> Result { - Ok(sketch_group.start.to[0]) +pub(crate) fn inner_profile_start_x(sketch: Sketch) -> Result { + Ok(sketch.start.to[0]) } /// Returns the Y component of the sketch profile start point. pub async fn profile_start_y(_exec_state: &mut ExecState, args: Args) -> Result { - let sketch_group: SketchGroup = args.get_sketch_group()?; - let x = inner_profile_start_y(sketch_group)?; + let sketch: Sketch = args.get_sketch()?; + let x = inner_profile_start_y(sketch)?; args.make_user_val_from_f64(x) } -/// Extract the provided 2-dimensional sketch group's profile's origin's 'y' +/// Extract the provided 2-dimensional sketch's profile's origin's 'y' /// value. /// /// ```no_run @@ -1371,14 +1336,14 @@ pub async fn profile_start_y(_exec_state: &mut ExecState, args: Args) -> Result< #[stdlib { name = "profileStartY" }] -pub(crate) fn inner_profile_start_y(sketch_group: SketchGroup) -> Result { - Ok(sketch_group.start.to[1]) +pub(crate) fn inner_profile_start_y(sketch: Sketch) -> Result { + Ok(sketch.start.to[1]) } /// Returns the sketch profile start point. pub async fn profile_start(_exec_state: &mut ExecState, args: Args) -> Result { - let sketch_group: SketchGroup = args.get_sketch_group()?; - let point = inner_profile_start(sketch_group)?; + let sketch: Sketch = args.get_sketch()?; + let point = inner_profile_start(sketch)?; Ok(KclValue::UserVal(UserVal { value: serde_json::to_value(point).map_err(|e| { KclError::Type(KclErrorDetails { @@ -1390,7 +1355,7 @@ pub async fn profile_start(_exec_state: &mut ExecState, args: Args) -> Result Result Result<[f64; 2], KclError> { - Ok(sketch_group.start.to) +pub(crate) fn inner_profile_start(sketch: Sketch) -> Result<[f64; 2], KclError> { + Ok(sketch.start.to) } /// Close the current sketch. pub async fn close(_exec_state: &mut ExecState, args: Args) -> Result { - let (sketch_group, tag): (SketchGroup, Option) = args.get_sketch_group_and_optional_tag()?; + let (sketch, tag): (Sketch, Option) = args.get_sketch_and_optional_tag()?; - let new_sketch_group = inner_close(sketch_group, tag, args).await?; + let new_sketch = inner_close(sketch, tag, args).await?; - Ok(KclValue::new_user_val(new_sketch_group.meta.clone(), new_sketch_group)) + Ok(KclValue::new_user_val(new_sketch.meta.clone(), new_sketch)) } /// Construct a line segment from the current origin back to the profile's @@ -1442,26 +1407,17 @@ pub async fn close(_exec_state: &mut ExecState, args: Args) -> Result, - args: Args, -) -> Result { - let from = sketch_group.current_pen_position()?; - let to: Point2d = sketch_group.start.from.into(); +pub(crate) async fn inner_close(sketch: Sketch, tag: Option, args: Args) -> Result { + let from = sketch.current_pen_position()?; + let to: Point2d = sketch.start.from.into(); let id = uuid::Uuid::new_v4(); - args.batch_modeling_cmd( - id, - ModelingCmd::from(mcmd::ClosePath { - path_id: sketch_group.id, - }), - ) - .await?; + args.batch_modeling_cmd(id, ModelingCmd::from(mcmd::ClosePath { path_id: sketch.id })) + .await?; - // If we are sketching on a plane we can close the sketch group now. - if let SketchSurface::Plane(_) = sketch_group.on { + // If we are sketching on a plane we can close the sketch now. + if let SketchSurface::Plane(_) = sketch.on { // We were on a plane, disable the sketch mode. args.batch_modeling_cmd( uuid::Uuid::new_v4(), @@ -1482,14 +1438,14 @@ pub(crate) async fn inner_close( }, }; - let mut new_sketch_group = sketch_group.clone(); + let mut new_sketch = sketch.clone(); if let Some(tag) = &tag { - new_sketch_group.add_tag(tag, ¤t_path); + new_sketch.add_tag(tag, ¤t_path); } - new_sketch_group.value.push(current_path); + new_sketch.value.push(current_path); - Ok(new_sketch_group) + Ok(new_sketch) } /// Data to draw an arc. @@ -1523,11 +1479,10 @@ pub enum ArcData { /// Draw an arc. pub async fn arc(_exec_state: &mut ExecState, args: Args) -> Result { - let (data, sketch_group, tag): (ArcData, SketchGroup, Option) = - args.get_data_and_sketch_group_and_tag()?; + let (data, sketch, tag): (ArcData, Sketch, Option) = args.get_data_and_sketch_and_tag()?; - let new_sketch_group = inner_arc(data, sketch_group, tag, args).await?; - Ok(KclValue::new_user_val(new_sketch_group.meta.clone(), new_sketch_group)) + let new_sketch = inner_arc(data, sketch, tag, args).await?; + Ok(KclValue::new_user_val(new_sketch.meta.clone(), new_sketch)) } /// Starting at the current sketch's origin, draw a curved line segment along @@ -1559,11 +1514,11 @@ pub async fn arc(_exec_state: &mut ExecState, args: Args) -> Result, args: Args, -) -> Result { - let from: Point2d = sketch_group.current_pen_position()?; +) -> Result { + let from: Point2d = sketch.current_pen_position()?; let (center, angle_start, angle_end, radius, end) = match &data { ArcData::AnglesAndRadius { @@ -1594,7 +1549,7 @@ pub(crate) async fn inner_arc( args.batch_modeling_cmd( id, ModelingCmd::from(mcmd::ExtendPath { - path: sketch_group.id.into(), + path: sketch.id.into(), segment: PathSegment::Arc { start: angle_start, end: angle_end, @@ -1618,14 +1573,14 @@ pub(crate) async fn inner_arc( }, }; - let mut new_sketch_group = sketch_group.clone(); + let mut new_sketch = sketch.clone(); if let Some(tag) = &tag { - new_sketch_group.add_tag(tag, ¤t_path); + new_sketch.add_tag(tag, ¤t_path); } - new_sketch_group.value.push(current_path); + new_sketch.value.push(current_path); - Ok(new_sketch_group) + Ok(new_sketch) } /// Data to draw a tangential arc. @@ -1644,11 +1599,10 @@ pub enum TangentialArcData { /// Draw a tangential arc. pub async fn tangential_arc(_exec_state: &mut ExecState, args: Args) -> Result { - let (data, sketch_group, tag): (TangentialArcData, SketchGroup, Option) = - args.get_data_and_sketch_group_and_tag()?; + let (data, sketch, tag): (TangentialArcData, Sketch, Option) = args.get_data_and_sketch_and_tag()?; - let new_sketch_group = inner_tangential_arc(data, sketch_group, tag, args).await?; - Ok(KclValue::new_user_val(new_sketch_group.meta.clone(), new_sketch_group)) + let new_sketch = inner_tangential_arc(data, sketch, tag, args).await?; + Ok(KclValue::new_user_val(new_sketch.meta.clone(), new_sketch)) } /// Starting at the current sketch's origin, draw a curved line segment along @@ -1680,13 +1634,13 @@ pub async fn tangential_arc(_exec_state: &mut ExecState, args: Args) -> Result, args: Args, -) -> Result { - let from: Point2d = sketch_group.current_pen_position()?; +) -> Result { + let from: Point2d = sketch.current_pen_position()?; // next set of lines is some undocumented voodoo from get_tangential_arc_to_info - let tangent_info = sketch_group.get_tangential_info_from_paths(); //this function desperately needs some documentation + let tangent_info = sketch.get_tangential_info_from_paths(); //this function desperately needs some documentation let tan_previous_point = if tangent_info.is_center { get_tangent_point_from_previous_arc(tangent_info.center_or_tangent_point, tangent_info.ccw, from.into()) } else { @@ -1725,7 +1679,7 @@ async fn inner_tangential_arc( args.batch_modeling_cmd( id, ModelingCmd::from(mcmd::ExtendPath { - path: sketch_group.id.into(), + path: sketch.id.into(), segment: PathSegment::TangentialArc { radius: LengthUnit(radius), offset, @@ -1751,19 +1705,19 @@ async fn inner_tangential_arc( }, }; - let mut new_sketch_group = sketch_group.clone(); + let mut new_sketch = sketch.clone(); if let Some(tag) = &tag { - new_sketch_group.add_tag(tag, ¤t_path); + new_sketch.add_tag(tag, ¤t_path); } - new_sketch_group.value.push(current_path); + new_sketch.value.push(current_path); - Ok(new_sketch_group) + Ok(new_sketch) } -fn tan_arc_to(sketch_group: &SketchGroup, to: &[f64; 2]) -> ModelingCmd { +fn tan_arc_to(sketch: &Sketch, to: &[f64; 2]) -> ModelingCmd { ModelingCmd::from(mcmd::ExtendPath { - path: sketch_group.id.into(), + path: sketch.id.into(), segment: PathSegment::TangentialArcTo { angle_snap_increment: None, to: KPoint2d::from(*to).with_z(0.0).map(LengthUnit), @@ -1773,20 +1727,18 @@ fn tan_arc_to(sketch_group: &SketchGroup, to: &[f64; 2]) -> ModelingCmd { /// Draw a tangential arc to a specific point. pub async fn tangential_arc_to(_exec_state: &mut ExecState, args: Args) -> Result { - let (to, sketch_group, tag): ([f64; 2], SketchGroup, Option) = - super::args::FromArgs::from_args(&args, 0)?; + let (to, sketch, tag): ([f64; 2], Sketch, Option) = super::args::FromArgs::from_args(&args, 0)?; - let new_sketch_group = inner_tangential_arc_to(to, sketch_group, tag, args).await?; - Ok(KclValue::new_user_val(new_sketch_group.meta.clone(), new_sketch_group)) + let new_sketch = inner_tangential_arc_to(to, sketch, tag, args).await?; + Ok(KclValue::new_user_val(new_sketch.meta.clone(), new_sketch)) } /// Draw a tangential arc to point some distance away.. pub async fn tangential_arc_to_relative(_exec_state: &mut ExecState, args: Args) -> Result { - let (delta, sketch_group, tag): ([f64; 2], SketchGroup, Option) = - super::args::FromArgs::from_args(&args, 0)?; + let (delta, sketch, tag): ([f64; 2], Sketch, Option) = super::args::FromArgs::from_args(&args, 0)?; - let new_sketch_group = inner_tangential_arc_to_relative(delta, sketch_group, tag, args).await?; - Ok(KclValue::new_user_val(new_sketch_group.meta.clone(), new_sketch_group)) + let new_sketch = inner_tangential_arc_to_relative(delta, sketch, tag, args).await?; + Ok(KclValue::new_user_val(new_sketch.meta.clone(), new_sketch)) } /// Starting at the current sketch's origin, draw a curved line segment along @@ -1811,12 +1763,12 @@ pub async fn tangential_arc_to_relative(_exec_state: &mut ExecState, args: Args) }] async fn inner_tangential_arc_to( to: [f64; 2], - sketch_group: SketchGroup, + sketch: Sketch, tag: Option, args: Args, -) -> Result { - let from: Point2d = sketch_group.current_pen_position()?; - let tangent_info = sketch_group.get_tangential_info_from_paths(); +) -> Result { + let from: Point2d = sketch.current_pen_position()?; + let tangent_info = sketch.get_tangential_info_from_paths(); let tan_previous_point = if tangent_info.is_center { get_tangent_point_from_previous_arc(tangent_info.center_or_tangent_point, tangent_info.ccw, from.into()) } else { @@ -1832,7 +1784,7 @@ async fn inner_tangential_arc_to( let delta = [to_x - from.x, to_y - from.y]; let id = uuid::Uuid::new_v4(); - args.batch_modeling_cmd(id, tan_arc_to(&sketch_group, &delta)).await?; + args.batch_modeling_cmd(id, tan_arc_to(&sketch, &delta)).await?; let current_path = Path::TangentialArcTo { base: BasePath { @@ -1848,14 +1800,14 @@ async fn inner_tangential_arc_to( ccw: result.ccw > 0, }; - let mut new_sketch_group = sketch_group.clone(); + let mut new_sketch = sketch.clone(); if let Some(tag) = &tag { - new_sketch_group.add_tag(tag, ¤t_path); + new_sketch.add_tag(tag, ¤t_path); } - new_sketch_group.value.push(current_path); + new_sketch.value.push(current_path); - Ok(new_sketch_group) + Ok(new_sketch) } /// Starting at the current sketch's origin, draw a curved line segment along @@ -1880,12 +1832,12 @@ async fn inner_tangential_arc_to( }] async fn inner_tangential_arc_to_relative( delta: [f64; 2], - sketch_group: SketchGroup, + sketch: Sketch, tag: Option, args: Args, -) -> Result { - let from: Point2d = sketch_group.current_pen_position()?; - let tangent_info = sketch_group.get_tangential_info_from_paths(); +) -> Result { + let from: Point2d = sketch.current_pen_position()?; + let tangent_info = sketch.get_tangential_info_from_paths(); let tan_previous_point = if tangent_info.is_center { get_tangent_point_from_previous_arc(tangent_info.center_or_tangent_point, tangent_info.ccw, from.into()) } else { @@ -1916,7 +1868,7 @@ async fn inner_tangential_arc_to_relative( } let id = uuid::Uuid::new_v4(); - args.batch_modeling_cmd(id, tan_arc_to(&sketch_group, &delta)).await?; + args.batch_modeling_cmd(id, tan_arc_to(&sketch, &delta)).await?; let current_path = Path::TangentialArcTo { base: BasePath { @@ -1932,14 +1884,14 @@ async fn inner_tangential_arc_to_relative( ccw: result.ccw > 0, }; - let mut new_sketch_group = sketch_group.clone(); + let mut new_sketch = sketch.clone(); if let Some(tag) = &tag { - new_sketch_group.add_tag(tag, ¤t_path); + new_sketch.add_tag(tag, ¤t_path); } - new_sketch_group.value.push(current_path); + new_sketch.value.push(current_path); - Ok(new_sketch_group) + Ok(new_sketch) } /// Data to draw a bezier curve. @@ -1957,11 +1909,10 @@ pub struct BezierData { /// Draw a bezier curve. pub async fn bezier_curve(_exec_state: &mut ExecState, args: Args) -> Result { - let (data, sketch_group, tag): (BezierData, SketchGroup, Option) = - args.get_data_and_sketch_group_and_tag()?; + let (data, sketch, tag): (BezierData, Sketch, Option) = args.get_data_and_sketch_and_tag()?; - let new_sketch_group = inner_bezier_curve(data, sketch_group, tag, args).await?; - Ok(KclValue::new_user_val(new_sketch_group.meta.clone(), new_sketch_group)) + let new_sketch = inner_bezier_curve(data, sketch, tag, args).await?; + Ok(KclValue::new_user_val(new_sketch.meta.clone(), new_sketch)) } /// Draw a smooth, continuous, curved line segment from the current origin to @@ -1987,11 +1938,11 @@ pub async fn bezier_curve(_exec_state: &mut ExecState, args: Args) -> Result, args: Args, -) -> Result { - let from = sketch_group.current_pen_position()?; +) -> Result { + let from = sketch.current_pen_position()?; let relative = true; let delta = data.to; @@ -2002,7 +1953,7 @@ async fn inner_bezier_curve( args.batch_modeling_cmd( id, ModelingCmd::from(mcmd::ExtendPath { - path: sketch_group.id.into(), + path: sketch.id.into(), segment: PathSegment::Bezier { control1: KPoint2d::from(data.control1).with_z(0.0).map(LengthUnit), control2: KPoint2d::from(data.control2).with_z(0.0).map(LengthUnit), @@ -2025,22 +1976,22 @@ async fn inner_bezier_curve( }, }; - let mut new_sketch_group = sketch_group.clone(); + let mut new_sketch = sketch.clone(); if let Some(tag) = &tag { - new_sketch_group.add_tag(tag, ¤t_path); + new_sketch.add_tag(tag, ¤t_path); } - new_sketch_group.value.push(current_path); + new_sketch.value.push(current_path); - Ok(new_sketch_group) + Ok(new_sketch) } /// Use a sketch to cut a hole in another sketch. pub async fn hole(_exec_state: &mut ExecState, args: Args) -> Result { - let (hole_sketch_group, sketch_group): (SketchGroupSet, SketchGroup) = args.get_sketch_groups()?; + let (hole_sketch, sketch): (SketchSet, Sketch) = args.get_sketches()?; - let new_sketch_group = inner_hole(hole_sketch_group, sketch_group, args).await?; - Ok(KclValue::new_user_val(new_sketch_group.meta.clone(), new_sketch_group)) + let new_sketch = inner_hole(hole_sketch, sketch, args).await?; + Ok(KclValue::new_user_val(new_sketch.meta.clone(), new_sketch)) } /// Use a 2-dimensional sketch to cut a hole in another 2-dimensional sketch. @@ -2077,18 +2028,14 @@ pub async fn hole(_exec_state: &mut ExecState, args: Args) -> Result Result { - let hole_sketch_groups: Vec = hole_sketch_group.into(); - for hole_sketch_group in hole_sketch_groups { +async fn inner_hole(hole_sketch: SketchSet, sketch: Sketch, args: Args) -> Result { + let hole_sketches: Vec = hole_sketch.into(); + for hole_sketch in hole_sketches { args.batch_modeling_cmd( uuid::Uuid::new_v4(), ModelingCmd::from(mcmd::Solid2dAddHole { - object_id: sketch_group.id, - hole_id: hole_sketch_group.id, + object_id: sketch.id, + hole_id: hole_sketch.id, }), ) .await?; @@ -2098,14 +2045,14 @@ async fn inner_hole( args.batch_modeling_cmd( uuid::Uuid::new_v4(), ModelingCmd::from(mcmd::ObjectVisible { - object_id: hole_sketch_group.id, + object_id: hole_sketch.id, hidden: true, }), ) .await?; } - Ok(sketch_group) + Ok(sketch) } #[cfg(test)] diff --git a/src/wasm-lib/kcl/src/token/tokeniser.rs b/src/wasm-lib/kcl/src/token/tokeniser.rs index f90e413c7..6a53a96eb 100644 --- a/src/wasm-lib/kcl/src/token/tokeniser.rs +++ b/src/wasm-lib/kcl/src/token/tokeniser.rs @@ -187,14 +187,7 @@ fn keyword(i: &mut Located<&str>) -> PResult { fn type_(i: &mut Located<&str>) -> PResult { // These are the types themselves. - let type_candidates = alt(( - "string", - "number", - "bool", - "sketch_group", - "sketch_surface", - "extrude_group", - )); + let type_candidates = alt(("string", "number", "bool", "sketch", "sketch_surface", "solid")); // Look ahead. If any of these characters follow the type, then it's not a type, it's just // the start of a normal word. let type_ = terminated( diff --git a/src/wasm-lib/tests/executor/inputs/extrude-inside-fn-with-tags.kcl b/src/wasm-lib/tests/executor/inputs/extrude-inside-fn-with-tags.kcl index 91e3a8633..0466ea7e2 100644 --- a/src/wasm-lib/tests/executor/inputs/extrude-inside-fn-with-tags.kcl +++ b/src/wasm-lib/tests/executor/inputs/extrude-inside-fn-with-tags.kcl @@ -56,16 +56,16 @@ const bracketBody = bs |> fillet({ radius: radius, tags: [ - getPreviousAdjacentEdge(bs.sketchGroup.tags.edge7), - getPreviousAdjacentEdge(bs.sketchGroup.tags.edge2), - getPreviousAdjacentEdge(bs.sketchGroup.tags.edge3), - getPreviousAdjacentEdge(bs.sketchGroup.tags.edge6) + getPreviousAdjacentEdge(bs.sketch.tags.edge7), + getPreviousAdjacentEdge(bs.sketch.tags.edge2), + getPreviousAdjacentEdge(bs.sketch.tags.edge3), + getPreviousAdjacentEdge(bs.sketch.tags.edge6) ] }, %) // sketch on the face -const retBack = startSketchOn(bs, bs.sketchGroup.tags.edge4) +const retBack = startSketchOn(bs, bs.sketch.tags.edge4) |> startProfileAt([length / 2 + thk, 0], %) |> line([0, thk], %) |> line([-thk, 0], %) diff --git a/src/wasm-lib/tests/executor/inputs/member_expression_sketch_group.kcl b/src/wasm-lib/tests/executor/inputs/member_expression_sketch.kcl similarity index 100% rename from src/wasm-lib/tests/executor/inputs/member_expression_sketch_group.kcl rename to src/wasm-lib/tests/executor/inputs/member_expression_sketch.kcl diff --git a/src/wasm-lib/tests/executor/inputs/no_visuals/sketch_group_in_object.kcl b/src/wasm-lib/tests/executor/inputs/no_visuals/sketch_in_object.kcl similarity index 100% rename from src/wasm-lib/tests/executor/inputs/no_visuals/sketch_group_in_object.kcl rename to src/wasm-lib/tests/executor/inputs/no_visuals/sketch_in_object.kcl diff --git a/src/wasm-lib/tests/executor/main.rs b/src/wasm-lib/tests/executor/main.rs index 14c7ea0c7..866e01329 100644 --- a/src/wasm-lib/tests/executor/main.rs +++ b/src/wasm-lib/tests/executor/main.rs @@ -119,11 +119,11 @@ async fn kcl_test_execute_kittycad_svg() { } #[tokio::test(flavor = "multi_thread")] -async fn kcl_test_member_expression_sketch_group() { - let code = kcl_input!("member_expression_sketch_group"); +async fn kcl_test_member_expression_sketch() { + let code = kcl_input!("member_expression_sketch"); let result = execute_and_snapshot(code, UnitLength::Mm).await.unwrap(); - assert_out("member_expression_sketch_group", &result); + assert_out("member_expression_sketch", &result); } #[tokio::test(flavor = "multi_thread")] @@ -331,8 +331,8 @@ const thing = other_circle([2, 2], 20) #[tokio::test(flavor = "multi_thread")] async fn kcl_test_rounded_with_holes() { - let code = r#"fn tarc = (to, sketchGroup, tag?) => { - return tangentialArcTo(to, sketchGroup, tag) + let code = r#"fn tarc = (to, sktch, tag?) => { + return tangentialArcTo(to, sktch, tag) } fn roundedRectangle = (pos, w, l, cornerRadius) => { @@ -725,7 +725,7 @@ const part001 = cube([0, 0], 20) |> close(%) |> extrude(20, %) -const part002 = startSketchOn(part001, part001.sketchGroup.tags.here) +const part002 = startSketchOn(part001, part001.sketch.tags.here) |> startProfileAt([0, 0], %) |> line([5, 0], %) |> line([5, 5], %) @@ -1227,7 +1227,7 @@ fn pentagon = (len) => { const p = pentagon(32) |> extrude(10, %) -const circle0 = make_circle(p, p.sketchGroup.tags.a, [0, 0], 2.5) +const circle0 = make_circle(p, p.sketch.tags.a, [0, 0], 2.5) const plumbus0 = circle0 |> extrude(10, %) |> fillet({ @@ -1235,7 +1235,7 @@ const plumbus0 = circle0 tags: [circle0.tags.arc1, getOppositeEdge(circle0.tags.arc1)] }, %) -const circle1 = make_circle(p, p.sketchGroup.tags.b, [0, 0], 2.5) +const circle1 = make_circle(p, p.sketch.tags.b, [0, 0], 2.5) const plumbus1 = circle1 |> extrude(10, %) |> fillet({ diff --git a/src/wasm-lib/tests/executor/no_visuals.rs b/src/wasm-lib/tests/executor/no_visuals.rs index 3fb7137bd..0e45f95e3 100644 --- a/src/wasm-lib/tests/executor/no_visuals.rs +++ b/src/wasm-lib/tests/executor/no_visuals.rs @@ -89,5 +89,5 @@ gen_test_fail!( pipe_substitution_inside_function_called_from_pipeline, "semantic: cannot use % outside a pipe expression" ); -gen_test!(sketch_group_in_object); +gen_test!(sketch_in_object); gen_test!(add_lots); diff --git a/src/wasm-lib/tests/executor/outputs/member_expression_sketch.png b/src/wasm-lib/tests/executor/outputs/member_expression_sketch.png new file mode 100644 index 000000000..606adf3f3 Binary files /dev/null and b/src/wasm-lib/tests/executor/outputs/member_expression_sketch.png differ diff --git a/src/wasm-lib/tests/modify/main.rs b/src/wasm-lib/tests/modify/main.rs index 5b8868c48..260461d1d 100644 --- a/src/wasm-lib/tests/modify/main.rs +++ b/src/wasm-lib/tests/modify/main.rs @@ -1,7 +1,7 @@ use anyhow::Result; use kcl_lib::{ ast::{modify::modify_ast_for_sketch, types::Program}, - executor::{ExecutorContext, KclValue, PlaneType, SketchGroup, SourceRange}, + executor::{ExecutorContext, KclValue, PlaneType, Sketch, SourceRange}, }; use kittycad_modeling_cmds::{each_cmd as mcmd, length_unit::LengthUnit, shared::Point3d, ModelingCmd}; use pretty_assertions::assert_eq; @@ -38,14 +38,14 @@ async fn setup(code: &str, name: &str) -> Result<(ExecutorContext, Program, uuid let exec_state = ctx.run(&program, None).await?; // We need to get the sketch ID. - // Get the sketch group ID from memory. + // Get the sketch ID from memory. let KclValue::UserVal(user_val) = exec_state.memory.get(name, SourceRange::default()).unwrap() else { anyhow::bail!("part001 not found in memory: {:?}", exec_state.memory); }; - let Some((sketch_group, _meta)) = user_val.get::() else { - anyhow::bail!("part001 was not a SketchGroup"); + let Some((sketch, _meta)) = user_val.get::() else { + anyhow::bail!("part001 was not a Sketch"); }; - let sketch_id = sketch_group.id; + let sketch_id = sketch.id; let plane_id = uuid::Uuid::new_v4(); ctx.engine