Fix sharing a sketch surface between profiles (#2744)
* udpates Signed-off-by: Jess Frazelle <github@jessfraz.com> * dont call until startprofileAt Signed-off-by: Jess Frazelle <github@jessfraz.com> * add a comment Signed-off-by: Jess Frazelle <github@jessfraz.com> * bump version Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * cleanup typescript code Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * cleanup redundant data Signed-off-by: Jess Frazelle <github@jessfraz.com> * fmt Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * cleanup position and rotation Signed-off-by: Jess Frazelle <github@jessfraz.com> * fix clippy Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * upfates Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu) * empty * new images Signed-off-by: Jess Frazelle <github@jessfraz.com> * new docs Signed-off-by: Jess Frazelle <github@jessfraz.com> * updates Signed-off-by: Jess Frazelle <github@jessfraz.com> * fixes; Signed-off-by: Jess Frazelle <github@jessfraz.com> * A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu) * fixups Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@ -36,8 +36,6 @@ const extrusion = extrude(5, sketch001)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -73,8 +71,6 @@ const extrusion = extrude(5, sketch001)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -101,10 +97,6 @@ const extrusion = extrude(5, sketch001)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -179,24 +171,6 @@ const extrusion = extrude(5, sketch001)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -37,8 +37,6 @@ const extrusion = extrude(5, sketch001)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -74,8 +72,6 @@ const extrusion = extrude(5, sketch001)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -102,10 +98,6 @@ const extrusion = extrude(5, sketch001)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -180,24 +172,6 @@ const extrusion = extrude(5, sketch001)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -43,8 +43,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -80,8 +78,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -108,10 +104,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -186,24 +178,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
* `tag`: `String` (OPTIONAL)
 | 
			
		||||
@ -213,8 +187,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
`SketchGroup` - A sketch group is a collection of paths.
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -250,8 +222,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -278,10 +248,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -356,24 +322,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -42,8 +42,6 @@ const extrusion = extrude(10, sketch001)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -79,8 +77,6 @@ const extrusion = extrude(10, sketch001)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -107,10 +103,6 @@ const extrusion = extrude(10, sketch001)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -185,24 +177,6 @@ const extrusion = extrude(10, sketch001)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
* `tag`: `String` (OPTIONAL)
 | 
			
		||||
@ -212,8 +186,6 @@ const extrusion = extrude(10, sketch001)
 | 
			
		||||
`SketchGroup` - A sketch group is a collection of paths.
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -249,8 +221,6 @@ const extrusion = extrude(10, sketch001)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -277,10 +247,6 @@ const extrusion = extrude(10, sketch001)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -355,24 +321,6 @@ const extrusion = extrude(10, sketch001)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -44,8 +44,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -81,8 +79,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -109,10 +105,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -187,24 +179,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
* `tag`: `String` (OPTIONAL)
 | 
			
		||||
@ -214,8 +188,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
`SketchGroup` - A sketch group is a collection of paths.
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -251,8 +223,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -279,10 +249,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -357,24 +323,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -48,8 +48,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -85,8 +83,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -113,10 +109,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -191,24 +183,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
* `tag`: `String` (OPTIONAL)
 | 
			
		||||
@ -218,8 +192,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
`SketchGroup` - A sketch group is a collection of paths.
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -255,8 +227,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -283,10 +253,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -361,24 +327,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -41,8 +41,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -78,8 +76,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -106,10 +102,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -184,24 +176,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
* `tag`: `String` (OPTIONAL)
 | 
			
		||||
@ -211,8 +185,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
`SketchGroup` - A sketch group is a collection of paths.
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -248,8 +220,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -276,10 +246,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -354,24 +320,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -41,8 +41,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -78,8 +76,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -106,10 +102,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -184,24 +176,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
* `tag`: `String` (OPTIONAL)
 | 
			
		||||
@ -211,8 +185,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
`SketchGroup` - A sketch group is a collection of paths.
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -248,8 +220,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -276,10 +246,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -354,24 +320,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -52,8 +52,6 @@ const exampleSketch = startSketchOn('XZ')
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -89,8 +87,6 @@ const exampleSketch = startSketchOn('XZ')
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -117,10 +113,6 @@ const exampleSketch = startSketchOn('XZ')
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -195,24 +187,6 @@ const exampleSketch = startSketchOn('XZ')
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
* `tag`: `String` (OPTIONAL)
 | 
			
		||||
@ -222,8 +196,6 @@ const exampleSketch = startSketchOn('XZ')
 | 
			
		||||
`SketchGroup` - A sketch group is a collection of paths.
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -259,8 +231,6 @@ const exampleSketch = startSketchOn('XZ')
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -287,10 +257,6 @@ const exampleSketch = startSketchOn('XZ')
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -365,24 +331,6 @@ const exampleSketch = startSketchOn('XZ')
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -47,8 +47,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -84,8 +82,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -112,10 +108,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -190,24 +182,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
* `tag`: `String` (OPTIONAL)
 | 
			
		||||
@ -217,8 +191,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
`SketchGroup` - A sketch group is a collection of paths.
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -254,8 +226,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -282,10 +252,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -360,24 +326,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -62,10 +62,6 @@ string],
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The position of the extrude group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the extrude group.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -141,10 +137,6 @@ string],
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudePlane",
 | 
			
		||||
@ -156,10 +148,6 @@ string],
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
@ -196,10 +184,6 @@ string],
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The position of the extrude group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the extrude group.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -275,10 +259,6 @@ string],
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudePlane",
 | 
			
		||||
@ -290,10 +270,6 @@ string],
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
 | 
			
		||||
@ -76,8 +76,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -105,8 +103,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -142,8 +138,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -170,10 +164,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -248,24 +238,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
@ -274,8 +246,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
`SketchGroup` - A sketch group is a collection of paths.
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -311,8 +281,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -339,10 +307,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -417,24 +381,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -42,8 +42,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -79,8 +77,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -107,10 +103,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -185,24 +177,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
* `tag`: `String` (OPTIONAL)
 | 
			
		||||
@ -212,8 +186,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
`SketchGroup` - A sketch group is a collection of paths.
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -249,8 +221,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -277,10 +247,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -355,24 +321,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -67,8 +67,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
* `sketch_group_set`: `SketchGroupSet` - A sketch group or a group of sketch groups. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -104,8 +102,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -132,10 +128,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -211,24 +203,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	type: "sketchGroups",
 | 
			
		||||
@ -246,10 +220,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The position of the extrude group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the extrude group.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -326,10 +296,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudePlane",
 | 
			
		||||
@ -341,10 +307,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
 | 
			
		||||
@ -62,10 +62,6 @@ string],
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The position of the extrude group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the extrude group.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -141,10 +137,6 @@ string],
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudePlane",
 | 
			
		||||
@ -156,10 +148,6 @@ string],
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
@ -196,10 +184,6 @@ string],
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The position of the extrude group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the extrude group.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -275,10 +259,6 @@ string],
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudePlane",
 | 
			
		||||
@ -290,10 +270,6 @@ string],
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
 | 
			
		||||
@ -49,10 +49,6 @@ const revolution = startSketchOn(box, "revolveAxis")
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The position of the extrude group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the extrude group.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -128,10 +124,6 @@ const revolution = startSketchOn(box, "revolveAxis")
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudePlane",
 | 
			
		||||
@ -143,10 +135,6 @@ const revolution = startSketchOn(box, "revolveAxis")
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
 | 
			
		||||
@ -47,10 +47,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The position of the extrude group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the extrude group.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -126,10 +122,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudePlane",
 | 
			
		||||
@ -141,10 +133,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
 | 
			
		||||
@ -45,10 +45,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The position of the extrude group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the extrude group.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -124,10 +120,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudePlane",
 | 
			
		||||
@ -139,10 +131,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
 | 
			
		||||
@ -47,10 +47,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The position of the extrude group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the extrude group.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -126,10 +122,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudePlane",
 | 
			
		||||
@ -141,10 +133,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
 | 
			
		||||
@ -52,10 +52,6 @@ const part001 = startSketchOn('XY')
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The position of the extrude group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the extrude group.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -131,10 +127,6 @@ const part001 = startSketchOn('XY')
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudePlane",
 | 
			
		||||
@ -146,10 +138,6 @@ const part001 = startSketchOn('XY')
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
@ -186,10 +174,6 @@ const part001 = startSketchOn('XY')
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The position of the extrude group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the extrude group.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -265,10 +249,6 @@ const part001 = startSketchOn('XY')
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudePlane",
 | 
			
		||||
@ -280,10 +260,6 @@ const part001 = startSketchOn('XY')
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
 | 
			
		||||
@ -53,8 +53,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
* `hole_sketch_group`: `SketchGroupSet` - A sketch group or a group of sketch groups. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -90,8 +88,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -118,10 +114,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -197,24 +189,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	type: "sketchGroups",
 | 
			
		||||
@ -223,8 +197,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -260,8 +232,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -288,10 +258,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -366,24 +332,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
@ -392,8 +340,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
`SketchGroup` - A sketch group is a collection of paths.
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -429,8 +375,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -457,10 +401,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -535,24 +475,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -33,8 +33,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -70,8 +68,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -98,10 +94,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -176,24 +168,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -33,8 +33,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -70,8 +68,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -98,10 +94,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -176,24 +168,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -46,8 +46,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -83,8 +81,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -111,10 +107,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -189,24 +181,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
* `tag`: `String` (OPTIONAL)
 | 
			
		||||
@ -216,8 +190,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
`SketchGroup` - A sketch group is a collection of paths.
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -253,8 +225,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -281,10 +251,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -359,24 +325,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -33,8 +33,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -70,8 +68,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -98,10 +94,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -176,24 +168,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
* `tag`: `String` (OPTIONAL)
 | 
			
		||||
@ -203,8 +177,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
`SketchGroup` - A sketch group is a collection of paths.
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -240,8 +212,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -268,10 +238,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -346,24 +312,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -51,8 +51,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
* `sketch_group_set`: `SketchGroupSet` - A sketch group or a group of sketch groups. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -88,8 +86,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -116,10 +112,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -195,24 +187,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	type: "sketchGroups",
 | 
			
		||||
 | 
			
		||||
@ -56,10 +56,6 @@ const example = extrude(-5, exampleSketch)
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The position of the extrude group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the extrude group.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -136,10 +132,6 @@ const example = extrude(-5, exampleSketch)
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudePlane",
 | 
			
		||||
@ -151,10 +143,6 @@ const example = extrude(-5, exampleSketch)
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
 | 
			
		||||
@ -44,8 +44,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
* `sketch_group_set`: `SketchGroupSet` - A sketch group or a group of sketch groups. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -81,8 +79,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -109,10 +105,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -188,24 +180,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	type: "sketchGroups",
 | 
			
		||||
 | 
			
		||||
@ -54,10 +54,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The position of the extrude group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the extrude group.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -134,10 +130,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudePlane",
 | 
			
		||||
@ -149,10 +141,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
 | 
			
		||||
@ -34,8 +34,6 @@ const sketch001 = startSketchOn('XY')
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -71,8 +69,6 @@ const sketch001 = startSketchOn('XY')
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -99,10 +95,6 @@ const sketch001 = startSketchOn('XY')
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -177,24 +169,6 @@ const sketch001 = startSketchOn('XY')
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -29,8 +29,6 @@ const sketch001 = startSketchOn('XY')
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -66,8 +64,6 @@ const sketch001 = startSketchOn('XY')
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -94,10 +90,6 @@ const sketch001 = startSketchOn('XY')
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -172,24 +164,6 @@ const sketch001 = startSketchOn('XY')
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -28,8 +28,6 @@ const sketch001 = startSketchOn('XY')
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -65,8 +63,6 @@ const sketch001 = startSketchOn('XY')
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -93,10 +89,6 @@ const sketch001 = startSketchOn('XY')
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -171,24 +163,6 @@ const sketch001 = startSketchOn('XY')
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -162,8 +162,6 @@ string,
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -199,8 +197,6 @@ string,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -227,10 +223,6 @@ string,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -305,24 +297,6 @@ string,
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
@ -337,10 +311,6 @@ string,
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The position of the extrude group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the extrude group.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -416,10 +386,6 @@ string,
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudePlane",
 | 
			
		||||
@ -431,10 +397,6 @@ string,
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
 | 
			
		||||
@ -36,8 +36,6 @@ const example = extrude(4, exampleSketch)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -73,8 +71,6 @@ const example = extrude(4, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -101,10 +97,6 @@ const example = extrude(4, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -179,24 +171,6 @@ const example = extrude(4, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -34,8 +34,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -71,8 +69,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -99,10 +95,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -177,24 +169,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -35,8 +35,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -72,8 +70,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -100,10 +96,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -178,24 +170,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -36,8 +36,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -73,8 +71,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -101,10 +97,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -179,24 +171,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -50,10 +50,6 @@ string],
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The position of the extrude group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the extrude group.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -129,10 +125,6 @@ string],
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudePlane",
 | 
			
		||||
@ -144,10 +136,6 @@ string],
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
@ -184,10 +172,6 @@ string],
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The position of the extrude group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the extrude group.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -263,10 +247,6 @@ string],
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudePlane",
 | 
			
		||||
@ -278,10 +258,6 @@ string],
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
 | 
			
		||||
@ -90,8 +90,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -126,8 +124,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
`SketchGroup` - A sketch group is a collection of paths.
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -163,8 +159,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -191,10 +185,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -269,24 +259,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -59,8 +59,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
`SketchGroup` - A sketch group is a collection of paths.
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -96,8 +94,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -124,10 +120,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -202,24 +194,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -167,10 +167,6 @@ const a1 = startSketchOn({
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The position of the extrude group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the extrude group.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -246,10 +242,6 @@ const a1 = startSketchOn({
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudePlane",
 | 
			
		||||
@ -261,10 +253,6 @@ const a1 = startSketchOn({
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The name.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The position.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The source range.
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
@ -331,8 +319,6 @@ string
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										8166
									
								
								docs/kcl/std.json
									
									
									
									
									
								
							
							
						
						@ -42,8 +42,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -79,8 +77,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -107,10 +103,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -185,24 +177,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
* `tag`: `String` (OPTIONAL)
 | 
			
		||||
@ -212,8 +186,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
`SketchGroup` - A sketch group is a collection of paths.
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -249,8 +221,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -277,10 +247,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -355,24 +321,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -33,8 +33,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -70,8 +68,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -98,10 +94,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -176,24 +168,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
* `tag`: `String` (OPTIONAL)
 | 
			
		||||
@ -203,8 +177,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
`SketchGroup` - A sketch group is a collection of paths.
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -240,8 +212,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -268,10 +238,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -346,24 +312,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -36,8 +36,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -73,8 +71,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -101,10 +97,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -179,24 +171,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
* `tag`: `String` (OPTIONAL)
 | 
			
		||||
@ -206,8 +180,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
`SketchGroup` - A sketch group is a collection of paths.
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -243,8 +215,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -271,10 +241,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -349,24 +315,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -36,8 +36,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -73,8 +71,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -101,10 +97,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -179,24 +171,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
* `tag`: `String` (OPTIONAL)
 | 
			
		||||
@ -206,8 +180,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
`SketchGroup` - A sketch group is a collection of paths.
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -243,8 +215,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -271,10 +241,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -349,24 +315,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -34,8 +34,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -71,8 +69,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -99,10 +95,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -177,24 +169,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
* `tag`: `String` (OPTIONAL)
 | 
			
		||||
@ -204,8 +178,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
`SketchGroup` - A sketch group is a collection of paths.
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -241,8 +213,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -269,10 +239,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -347,24 +313,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -32,8 +32,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
* `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED)
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -69,8 +67,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -97,10 +93,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -175,24 +167,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
* `tag`: `String` (OPTIONAL)
 | 
			
		||||
@ -202,8 +176,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
`SketchGroup` - A sketch group is a collection of paths.
 | 
			
		||||
```js
 | 
			
		||||
{
 | 
			
		||||
	// The plane id or face id of the sketch group.
 | 
			
		||||
	entityId: uuid,
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
@ -239,8 +211,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// the face id the sketch is on
 | 
			
		||||
	faceId: uuid,
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
@ -267,10 +237,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The position of the sketch group.
 | 
			
		||||
	position: [number, number, number],
 | 
			
		||||
	// The rotation of the sketch group base plane.
 | 
			
		||||
	rotation: [number, number, number, number],
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
@ -345,24 +311,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB  | 
| 
		 Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB  | 
| 
		 Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB  | 
| 
		 Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 43 KiB  | 
@ -343,11 +343,8 @@ export class SceneEntities {
 | 
			
		||||
      pathToNode: sketchPathToNode,
 | 
			
		||||
    }
 | 
			
		||||
    const dummy = new Mesh()
 | 
			
		||||
    dummy.position.set(
 | 
			
		||||
      sketchGroup.position[0],
 | 
			
		||||
      sketchGroup.position[1],
 | 
			
		||||
      sketchGroup.position[2]
 | 
			
		||||
    )
 | 
			
		||||
    // TODO: When we actually have sketch positions and rotations we can use them here.
 | 
			
		||||
    dummy.position.set(0, 0, 0)
 | 
			
		||||
    const orthoFactor = orthoScale(sceneInfra.camControls.camera)
 | 
			
		||||
    const factor =
 | 
			
		||||
      (sceneInfra.camControls.camera instanceof OrthographicCamera
 | 
			
		||||
@ -1804,7 +1801,7 @@ export function getSketchQuaternion(
 | 
			
		||||
    ast: kclManager.ast,
 | 
			
		||||
    programMemory: kclManager.programMemory,
 | 
			
		||||
  })
 | 
			
		||||
  const zAxis = sketchGroup?.zAxis || sketchNormalBackUp
 | 
			
		||||
  const zAxis = sketchGroup?.on.zAxis || sketchNormalBackUp
 | 
			
		||||
  return getQuaternionFromZAxis(massageFormats(zAxis))
 | 
			
		||||
}
 | 
			
		||||
export async function getSketchOrientationDetails(
 | 
			
		||||
@ -1819,20 +1816,24 @@ export async function getSketchOrientationDetails(
 | 
			
		||||
    programMemory: kclManager.programMemory,
 | 
			
		||||
  })
 | 
			
		||||
  if (sketchGroup.on.type === 'plane') {
 | 
			
		||||
    const zAxis = sketchGroup?.zAxis
 | 
			
		||||
    const zAxis = sketchGroup?.on.zAxis
 | 
			
		||||
    return {
 | 
			
		||||
      quat: getQuaternionFromZAxis(massageFormats(zAxis)),
 | 
			
		||||
      sketchDetails: {
 | 
			
		||||
        sketchPathToNode,
 | 
			
		||||
        zAxis: [zAxis.x, zAxis.y, zAxis.z],
 | 
			
		||||
        yAxis: [sketchGroup.yAxis.x, sketchGroup.yAxis.y, sketchGroup.yAxis.z],
 | 
			
		||||
        yAxis: [
 | 
			
		||||
          sketchGroup.on.yAxis.x,
 | 
			
		||||
          sketchGroup.on.yAxis.y,
 | 
			
		||||
          sketchGroup.on.yAxis.z,
 | 
			
		||||
        ],
 | 
			
		||||
        origin: [0, 0, 0],
 | 
			
		||||
        faceId: sketchGroup.on.id,
 | 
			
		||||
      },
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  if (sketchGroup.on.type === 'face') {
 | 
			
		||||
    const faceInfo = await getFaceDetails(sketchGroup.on.faceId)
 | 
			
		||||
    const faceInfo = await getFaceDetails(sketchGroup.on.id)
 | 
			
		||||
 | 
			
		||||
    if (!faceInfo?.origin || !faceInfo?.z_axis || !faceInfo?.y_axis)
 | 
			
		||||
      throw new Error('faceInfo')
 | 
			
		||||
@ -1848,7 +1849,7 @@ 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.faceId,
 | 
			
		||||
        faceId: sketchGroup.on.id,
 | 
			
		||||
      },
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@ -43,20 +43,16 @@ describe('processMemory', () => {
 | 
			
		||||
      theExtrude: [
 | 
			
		||||
        {
 | 
			
		||||
          type: 'extrudePlane',
 | 
			
		||||
          position: [0, 0, 0],
 | 
			
		||||
          rotation: [0, 0, 0, 1],
 | 
			
		||||
          faceId: expect.any(String),
 | 
			
		||||
          name: '',
 | 
			
		||||
          id: expect.any(String),
 | 
			
		||||
          faceId: expect.any(String),
 | 
			
		||||
          sourceRange: [170, 194],
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: 'extrudePlane',
 | 
			
		||||
          position: [0, 0, 0],
 | 
			
		||||
          rotation: [0, 0, 0, 1],
 | 
			
		||||
          faceId: expect.any(String),
 | 
			
		||||
          name: '',
 | 
			
		||||
          id: expect.any(String),
 | 
			
		||||
          faceId: expect.any(String),
 | 
			
		||||
          sourceRange: [202, 230],
 | 
			
		||||
        },
 | 
			
		||||
      ],
 | 
			
		||||
 | 
			
		||||
@ -51,13 +51,7 @@ const mySketch001 = startSketchOn('XY')
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
      ],
 | 
			
		||||
      position: [0, 0, 0],
 | 
			
		||||
      rotation: [0, 0, 0, 1],
 | 
			
		||||
      xAxis: { x: 1, y: 0, z: 0 },
 | 
			
		||||
      yAxis: { x: 0, y: 1, z: 0 },
 | 
			
		||||
      zAxis: { x: 0, y: 0, z: 1 },
 | 
			
		||||
      id: expect.any(String),
 | 
			
		||||
      entityId: expect.any(String),
 | 
			
		||||
      __meta: [{ sourceRange: [46, 71] }],
 | 
			
		||||
    })
 | 
			
		||||
  })
 | 
			
		||||
@ -79,8 +73,6 @@ const mySketch001 = startSketchOn('XY')
 | 
			
		||||
      value: [
 | 
			
		||||
        {
 | 
			
		||||
          type: 'extrudePlane',
 | 
			
		||||
          position: [0, 0, 0],
 | 
			
		||||
          rotation: [0, 0, 0, 1],
 | 
			
		||||
          faceId: expect.any(String),
 | 
			
		||||
          name: '',
 | 
			
		||||
          id: expect.any(String),
 | 
			
		||||
@ -88,8 +80,6 @@ const mySketch001 = startSketchOn('XY')
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: 'extrudePlane',
 | 
			
		||||
          position: [0, 0, 0],
 | 
			
		||||
          rotation: [0, 0, 0, 1],
 | 
			
		||||
          faceId: expect.any(String),
 | 
			
		||||
          name: '',
 | 
			
		||||
          id: expect.any(String),
 | 
			
		||||
@ -119,8 +109,6 @@ const mySketch001 = startSketchOn('XY')
 | 
			
		||||
        },
 | 
			
		||||
      ],
 | 
			
		||||
      height: 2,
 | 
			
		||||
      position: [0, 0, 0],
 | 
			
		||||
      rotation: [0, 0, 0, 1],
 | 
			
		||||
      xAxis: { x: 1, y: 0, z: 0 },
 | 
			
		||||
      yAxis: { x: 0, y: 1, z: 0 },
 | 
			
		||||
      zAxis: { x: 0, y: 0, z: 1 },
 | 
			
		||||
@ -162,8 +150,6 @@ const sk2 = startSketchOn('XY')
 | 
			
		||||
        value: [
 | 
			
		||||
          {
 | 
			
		||||
            type: 'extrudePlane',
 | 
			
		||||
            position: [0, 0, 0],
 | 
			
		||||
            rotation: [0, 0, 0, 1],
 | 
			
		||||
            faceId: expect.any(String),
 | 
			
		||||
            name: '',
 | 
			
		||||
            id: expect.any(String),
 | 
			
		||||
@ -171,8 +157,6 @@ const sk2 = startSketchOn('XY')
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            type: 'extrudePlane',
 | 
			
		||||
            position: [0, 0, 0],
 | 
			
		||||
            rotation: [0, 0, 0, 1],
 | 
			
		||||
            faceId: expect.any(String),
 | 
			
		||||
            name: 'p',
 | 
			
		||||
            id: expect.any(String),
 | 
			
		||||
@ -180,8 +164,6 @@ const sk2 = startSketchOn('XY')
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            type: 'extrudePlane',
 | 
			
		||||
            position: [0, 0, 0],
 | 
			
		||||
            rotation: [0, 0, 0, 1],
 | 
			
		||||
            faceId: expect.any(String),
 | 
			
		||||
            name: '',
 | 
			
		||||
            id: expect.any(String),
 | 
			
		||||
@ -221,8 +203,6 @@ const sk2 = startSketchOn('XY')
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        height: 2,
 | 
			
		||||
        position: [0, 0, 0],
 | 
			
		||||
        rotation: [0, 0, 0, 1],
 | 
			
		||||
        xAxis: { x: 1, y: 0, z: 0 },
 | 
			
		||||
        yAxis: { x: 0, y: 1, z: 0 },
 | 
			
		||||
        zAxis: { x: 0, y: 0, z: 1 },
 | 
			
		||||
@ -236,8 +216,6 @@ const sk2 = startSketchOn('XY')
 | 
			
		||||
        value: [
 | 
			
		||||
          {
 | 
			
		||||
            type: 'extrudePlane',
 | 
			
		||||
            position: [0, 0, 0],
 | 
			
		||||
            rotation: [0, 0, 0, 1],
 | 
			
		||||
            faceId: expect.any(String),
 | 
			
		||||
            name: '',
 | 
			
		||||
            id: expect.any(String),
 | 
			
		||||
@ -245,8 +223,6 @@ const sk2 = startSketchOn('XY')
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            type: 'extrudePlane',
 | 
			
		||||
            position: [0, 0, 0],
 | 
			
		||||
            rotation: [0, 0, 0, 1],
 | 
			
		||||
            faceId: expect.any(String),
 | 
			
		||||
            name: 'p',
 | 
			
		||||
            id: expect.any(String),
 | 
			
		||||
@ -254,8 +230,6 @@ const sk2 = startSketchOn('XY')
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            type: 'extrudePlane',
 | 
			
		||||
            position: [0, 0, 0],
 | 
			
		||||
            rotation: [0, 0, 0, 1],
 | 
			
		||||
            faceId: expect.any(String),
 | 
			
		||||
            name: '',
 | 
			
		||||
            id: expect.any(String),
 | 
			
		||||
@ -295,8 +269,6 @@ const sk2 = startSketchOn('XY')
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        height: 2,
 | 
			
		||||
        position: [0, 0, 0],
 | 
			
		||||
        rotation: [0, 0, 0, 1],
 | 
			
		||||
        xAxis: { x: 1, y: 0, z: 0 },
 | 
			
		||||
        yAxis: { x: 0, y: 1, z: 0 },
 | 
			
		||||
        zAxis: { x: 0, y: 0, z: 1 },
 | 
			
		||||
 | 
			
		||||
@ -177,13 +177,7 @@ const newVar = myVar + 1`
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
      ],
 | 
			
		||||
      position: [0, 0, 0],
 | 
			
		||||
      rotation: [0, 0, 0, 1],
 | 
			
		||||
      xAxis: { x: 1, y: 0, z: 0 },
 | 
			
		||||
      yAxis: { x: 0, y: 1, z: 0 },
 | 
			
		||||
      zAxis: { x: 0, y: 0, z: 1 },
 | 
			
		||||
      id: expect.any(String),
 | 
			
		||||
      entityId: expect.any(String),
 | 
			
		||||
      __meta: [{ sourceRange: [39, 63] }],
 | 
			
		||||
    })
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
@ -74,8 +74,6 @@ export type SyntaxType =
 | 
			
		||||
  | 'UnaryExpression'
 | 
			
		||||
 | 
			
		||||
export type { SourceRange } from '../wasm-lib/kcl/bindings/SourceRange'
 | 
			
		||||
export type { Position } from '../wasm-lib/kcl/bindings/Position'
 | 
			
		||||
export type { Rotation } from '../wasm-lib/kcl/bindings/Rotation'
 | 
			
		||||
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'
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								src/wasm-lib/Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						@ -1375,7 +1375,7 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "kcl-lib"
 | 
			
		||||
version = "0.1.61"
 | 
			
		||||
version = "0.1.62"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "anyhow",
 | 
			
		||||
 "approx",
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
[package]
 | 
			
		||||
name = "kcl-lib"
 | 
			
		||||
description = "KittyCAD Language implementation and tools"
 | 
			
		||||
version = "0.1.61"
 | 
			
		||||
version = "0.1.62"
 | 
			
		||||
edition = "2021"
 | 
			
		||||
license = "MIT"
 | 
			
		||||
repository = "https://github.com/KittyCAD/modeling-app"
 | 
			
		||||
 | 
			
		||||
@ -289,8 +289,6 @@ pub struct Face {
 | 
			
		||||
    pub y_axis: Point3d,
 | 
			
		||||
    /// The z-axis (normal).
 | 
			
		||||
    pub z_axis: Point3d,
 | 
			
		||||
    /// the face id the sketch is on
 | 
			
		||||
    pub face_id: uuid::Uuid,
 | 
			
		||||
    #[serde(rename = "__meta")]
 | 
			
		||||
    pub meta: Vec<Metadata>,
 | 
			
		||||
}
 | 
			
		||||
@ -456,18 +454,6 @@ pub struct SketchGroup {
 | 
			
		||||
    pub on: SketchSurface,
 | 
			
		||||
    /// The starting path.
 | 
			
		||||
    pub start: BasePath,
 | 
			
		||||
    /// The position of the sketch group.
 | 
			
		||||
    pub position: Position,
 | 
			
		||||
    /// The rotation of the sketch group base plane.
 | 
			
		||||
    pub rotation: Rotation,
 | 
			
		||||
    /// The x-axis of the sketch group base plane in the 3D space
 | 
			
		||||
    pub x_axis: Point3d,
 | 
			
		||||
    /// The y-axis of the sketch group base plane in the 3D space
 | 
			
		||||
    pub y_axis: Point3d,
 | 
			
		||||
    /// The z-axis of the sketch group base plane in the 3D space
 | 
			
		||||
    pub z_axis: Point3d,
 | 
			
		||||
    /// The plane id or face id of the sketch group.
 | 
			
		||||
    pub entity_id: Option<uuid::Uuid>,
 | 
			
		||||
    /// Metadata.
 | 
			
		||||
    #[serde(rename = "__meta")]
 | 
			
		||||
    pub meta: Vec<Metadata>,
 | 
			
		||||
@ -588,10 +574,6 @@ pub struct ExtrudeGroup {
 | 
			
		||||
    pub sketch_group_values: Vec<Path>,
 | 
			
		||||
    /// The height of the extrude group.
 | 
			
		||||
    pub height: f64,
 | 
			
		||||
    /// The position of the extrude group.
 | 
			
		||||
    pub position: Position,
 | 
			
		||||
    /// The rotation of the extrude group.
 | 
			
		||||
    pub rotation: Rotation,
 | 
			
		||||
    /// The x-axis of the extrude group base plane in the 3D space
 | 
			
		||||
    pub x_axis: Point3d,
 | 
			
		||||
    /// The y-axis of the extrude group base plane in the 3D space
 | 
			
		||||
@ -626,24 +608,6 @@ pub enum BodyType {
 | 
			
		||||
    Block,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Debug, Deserialize, Serialize, PartialEq, Copy, Clone, ts_rs::TS, JsonSchema)]
 | 
			
		||||
#[ts(export)]
 | 
			
		||||
pub struct Position(#[ts(type = "[number, number, number]")] pub [f64; 3]);
 | 
			
		||||
 | 
			
		||||
impl From<Position> for Point3d {
 | 
			
		||||
    fn from(p: Position) -> Self {
 | 
			
		||||
        Self {
 | 
			
		||||
            x: p.0[0],
 | 
			
		||||
            y: p.0[1],
 | 
			
		||||
            z: p.0[2],
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Debug, Deserialize, Serialize, PartialEq, Copy, Clone, ts_rs::TS, JsonSchema)]
 | 
			
		||||
#[ts(export)]
 | 
			
		||||
pub struct Rotation(#[ts(type = "[number, number, number, number]")] pub [f64; 4]);
 | 
			
		||||
 | 
			
		||||
#[derive(Debug, Default, Deserialize, Serialize, PartialEq, Copy, Clone, ts_rs::TS, JsonSchema, Hash, Eq)]
 | 
			
		||||
#[cfg_attr(feature = "pyo3", pyo3::pyclass)]
 | 
			
		||||
#[ts(export)]
 | 
			
		||||
@ -924,10 +888,6 @@ pub enum ExtrudeSurface {
 | 
			
		||||
#[ts(export)]
 | 
			
		||||
#[serde(rename_all = "camelCase")]
 | 
			
		||||
pub struct ExtrudePlane {
 | 
			
		||||
    /// The position.
 | 
			
		||||
    pub position: Position,
 | 
			
		||||
    /// The rotation.
 | 
			
		||||
    pub rotation: Rotation,
 | 
			
		||||
    /// The face id for the extrude plane.
 | 
			
		||||
    pub face_id: uuid::Uuid,
 | 
			
		||||
    /// The name.
 | 
			
		||||
@ -942,10 +902,6 @@ pub struct ExtrudePlane {
 | 
			
		||||
#[ts(export)]
 | 
			
		||||
#[serde(rename_all = "camelCase")]
 | 
			
		||||
pub struct ExtrudeArc {
 | 
			
		||||
    /// The position.
 | 
			
		||||
    pub position: Position,
 | 
			
		||||
    /// The rotation.
 | 
			
		||||
    pub rotation: Rotation,
 | 
			
		||||
    /// The face id for the extrude plane.
 | 
			
		||||
    pub face_id: uuid::Uuid,
 | 
			
		||||
    /// The name.
 | 
			
		||||
@ -969,20 +925,6 @@ impl ExtrudeSurface {
 | 
			
		||||
            ExtrudeSurface::ExtrudeArc(ea) => ea.name.to_string(),
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub fn get_position(&self) -> Position {
 | 
			
		||||
        match self {
 | 
			
		||||
            ExtrudeSurface::ExtrudePlane(ep) => ep.position,
 | 
			
		||||
            ExtrudeSurface::ExtrudeArc(ea) => ea.position,
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub fn get_rotation(&self) -> Rotation {
 | 
			
		||||
        match self {
 | 
			
		||||
            ExtrudeSurface::ExtrudePlane(ep) => ep.rotation,
 | 
			
		||||
            ExtrudeSurface::ExtrudeArc(ea) => ea.rotation,
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Debug, Clone, Deserialize, Serialize, PartialEq, ts_rs::TS, JsonSchema)]
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,7 @@
 | 
			
		||||
//! KCL is written in Rust. This crate contains the compiler tooling (e.g. parser, lexer, code generation),
 | 
			
		||||
//! the standard library implementation, a LSP implementation, generator for the docs, and more.
 | 
			
		||||
#![recursion_limit = "1024"]
 | 
			
		||||
#![allow(clippy::boxed_local)]
 | 
			
		||||
 | 
			
		||||
macro_rules! println {
 | 
			
		||||
    ($($rest:tt)*) => {
 | 
			
		||||
 | 
			
		||||
@ -150,7 +150,7 @@ pub(crate) async fn do_post_extrude(
 | 
			
		||||
    let mut sketch_group = *sketch_group.clone();
 | 
			
		||||
 | 
			
		||||
    // If we were sketching on a face, we need the original face id.
 | 
			
		||||
    if let SketchSurface::Face(face) = sketch_group.on {
 | 
			
		||||
    if let SketchSurface::Face(ref face) = sketch_group.on {
 | 
			
		||||
        sketch_group.id = face.sketch_group_id;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -198,8 +198,6 @@ pub(crate) async fn do_post_extrude(
 | 
			
		||||
            match path {
 | 
			
		||||
                Path::TangentialArc { .. } | Path::TangentialArcTo { .. } => {
 | 
			
		||||
                    let extrude_surface = ExtrudeSurface::ExtrudeArc(crate::executor::ExtrudeArc {
 | 
			
		||||
                        position: sketch_group.position, // TODO should be for the extrude surface
 | 
			
		||||
                        rotation: sketch_group.rotation, // TODO should be for the extrude surface
 | 
			
		||||
                        face_id: *actual_face_id,
 | 
			
		||||
                        name: path.get_base().name.clone(),
 | 
			
		||||
                        geo_meta: GeoMeta {
 | 
			
		||||
@ -211,8 +209,6 @@ pub(crate) async fn do_post_extrude(
 | 
			
		||||
                }
 | 
			
		||||
                Path::Base { .. } | Path::ToPoint { .. } | Path::Horizontal { .. } | Path::AngledLineTo { .. } => {
 | 
			
		||||
                    let extrude_surface = ExtrudeSurface::ExtrudePlane(crate::executor::ExtrudePlane {
 | 
			
		||||
                        position: sketch_group.position, // TODO should be for the extrude surface
 | 
			
		||||
                        rotation: sketch_group.rotation, // TODO should be for the extrude surface
 | 
			
		||||
                        face_id: *actual_face_id,
 | 
			
		||||
                        name: path.get_base().name.clone(),
 | 
			
		||||
                        geo_meta: GeoMeta {
 | 
			
		||||
@ -226,8 +222,6 @@ pub(crate) async fn do_post_extrude(
 | 
			
		||||
        } else if args.ctx.is_mock {
 | 
			
		||||
            // Only pre-populate the extrude surface if we are in mock mode.
 | 
			
		||||
            new_value.push(ExtrudeSurface::ExtrudePlane(crate::executor::ExtrudePlane {
 | 
			
		||||
                position: sketch_group.position, // TODO should be for the extrude surface
 | 
			
		||||
                rotation: sketch_group.rotation, // TODO should be for the extrude surface
 | 
			
		||||
                // pushing this values with a fake face_id to make extrudes mock-execute safe
 | 
			
		||||
                face_id: Uuid::new_v4(),
 | 
			
		||||
                name: path.get_base().name.clone(),
 | 
			
		||||
@ -247,11 +241,9 @@ pub(crate) async fn do_post_extrude(
 | 
			
		||||
        value: new_value,
 | 
			
		||||
        sketch_group_values: sketch_group.value.clone(),
 | 
			
		||||
        height: length,
 | 
			
		||||
        position: sketch_group.position,
 | 
			
		||||
        rotation: sketch_group.rotation,
 | 
			
		||||
        x_axis: sketch_group.x_axis,
 | 
			
		||||
        y_axis: sketch_group.y_axis,
 | 
			
		||||
        z_axis: sketch_group.z_axis,
 | 
			
		||||
        x_axis: sketch_group.on.x_axis(),
 | 
			
		||||
        y_axis: sketch_group.on.y_axis(),
 | 
			
		||||
        z_axis: sketch_group.on.z_axis(),
 | 
			
		||||
        start_cap_id,
 | 
			
		||||
        end_cap_id,
 | 
			
		||||
        meta: sketch_group.meta,
 | 
			
		||||
 | 
			
		||||
@ -11,7 +11,7 @@ use crate::{
 | 
			
		||||
    errors::{KclError, KclErrorDetails},
 | 
			
		||||
    executor::{
 | 
			
		||||
        BasePath, ExtrudeGroup, ExtrudeSurface, Face, GeoMeta, MemoryItem, Path, Plane, PlaneType, Point2d, Point3d,
 | 
			
		||||
        Position, Rotation, SketchGroup, SketchGroupSet, SketchSurface, SourceRange, UserVal,
 | 
			
		||||
        SketchGroup, SketchGroupSet, SketchSurface, SourceRange, UserVal,
 | 
			
		||||
    },
 | 
			
		||||
    std::{
 | 
			
		||||
        utils::{
 | 
			
		||||
@ -1069,22 +1069,8 @@ async fn start_sketch_on_face(
 | 
			
		||||
        })?,
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    // Enter sketch mode on the face.
 | 
			
		||||
    let id = uuid::Uuid::new_v4();
 | 
			
		||||
    args.batch_modeling_cmd(
 | 
			
		||||
        id,
 | 
			
		||||
        ModelingCmd::EnableSketchMode {
 | 
			
		||||
            animated: false,
 | 
			
		||||
            ortho: false,
 | 
			
		||||
            entity_id: extrude_plane_id,
 | 
			
		||||
            adjust_camera: false,
 | 
			
		||||
            planar_normal: None,
 | 
			
		||||
        },
 | 
			
		||||
    )
 | 
			
		||||
    .await?;
 | 
			
		||||
 | 
			
		||||
    Ok(Box::new(Face {
 | 
			
		||||
        id,
 | 
			
		||||
        id: extrude_plane_id,
 | 
			
		||||
        value: tag.to_string(),
 | 
			
		||||
        sketch_group_id: extrude_group.id,
 | 
			
		||||
        // TODO: get this from the extrude plane data.
 | 
			
		||||
@ -1092,7 +1078,6 @@ async fn start_sketch_on_face(
 | 
			
		||||
        y_axis: extrude_group.y_axis,
 | 
			
		||||
        z_axis: extrude_group.z_axis,
 | 
			
		||||
        meta: vec![args.source_range.into()],
 | 
			
		||||
        face_id: extrude_plane_id,
 | 
			
		||||
    }))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1134,20 +1119,6 @@ async fn start_sketch_on_plane(data: PlaneData, args: Args) -> Result<Box<Plane>
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    // Enter sketch mode on the plane.
 | 
			
		||||
    args.batch_modeling_cmd(
 | 
			
		||||
        uuid::Uuid::new_v4(),
 | 
			
		||||
        ModelingCmd::EnableSketchMode {
 | 
			
		||||
            animated: false,
 | 
			
		||||
            ortho: false,
 | 
			
		||||
            entity_id: plane.id,
 | 
			
		||||
            // We pass in the normal for the plane here.
 | 
			
		||||
            planar_normal: Some(plane.z_axis.clone().into()),
 | 
			
		||||
            adjust_camera: false,
 | 
			
		||||
        },
 | 
			
		||||
    )
 | 
			
		||||
    .await?;
 | 
			
		||||
 | 
			
		||||
    Ok(Box::new(plane))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1202,6 +1173,26 @@ pub(crate) async fn inner_start_profile_at(
 | 
			
		||||
    tag: Option<String>,
 | 
			
		||||
    args: Args,
 | 
			
		||||
) -> Result<Box<SketchGroup>, KclError> {
 | 
			
		||||
    // Enter sketch mode on the surface.
 | 
			
		||||
    // We call this here so you can reuse the sketch surface for multiple sketches.
 | 
			
		||||
    let id = uuid::Uuid::new_v4();
 | 
			
		||||
    args.batch_modeling_cmd(
 | 
			
		||||
        id,
 | 
			
		||||
        ModelingCmd::EnableSketchMode {
 | 
			
		||||
            animated: false,
 | 
			
		||||
            ortho: false,
 | 
			
		||||
            entity_id: sketch_surface.id(),
 | 
			
		||||
            adjust_camera: false,
 | 
			
		||||
            planar_normal: if let SketchSurface::Plane(plane) = &sketch_surface {
 | 
			
		||||
                // We pass in the normal for the plane here.
 | 
			
		||||
                Some(plane.z_axis.clone().into())
 | 
			
		||||
            } else {
 | 
			
		||||
                None
 | 
			
		||||
            },
 | 
			
		||||
        },
 | 
			
		||||
    )
 | 
			
		||||
    .await?;
 | 
			
		||||
 | 
			
		||||
    let id = uuid::Uuid::new_v4();
 | 
			
		||||
    let path_id = uuid::Uuid::new_v4();
 | 
			
		||||
 | 
			
		||||
@ -1232,12 +1223,6 @@ pub(crate) async fn inner_start_profile_at(
 | 
			
		||||
    let sketch_group = SketchGroup {
 | 
			
		||||
        id: path_id,
 | 
			
		||||
        on: sketch_surface.clone(),
 | 
			
		||||
        position: Position([0.0, 0.0, 0.0]),
 | 
			
		||||
        rotation: Rotation([0.0, 0.0, 0.0, 1.0]),
 | 
			
		||||
        x_axis: sketch_surface.x_axis(),
 | 
			
		||||
        y_axis: sketch_surface.y_axis(),
 | 
			
		||||
        z_axis: sketch_surface.z_axis(),
 | 
			
		||||
        entity_id: Some(sketch_surface.id()),
 | 
			
		||||
        value: vec![],
 | 
			
		||||
        start: current_path,
 | 
			
		||||
        meta: vec![args.source_range.into()],
 | 
			
		||||
 | 
			
		||||
@ -2038,3 +2038,39 @@ extrude(10, sketch001)
 | 
			
		||||
    let result = execute_and_snapshot(code, UnitLength::Mm).await.unwrap();
 | 
			
		||||
    twenty_twenty::assert_image("tests/executor/outputs/array_of_sketches.png", &result, 1.0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[tokio::test(flavor = "multi_thread")]
 | 
			
		||||
async fn serial_test_circular_pattern3d_array_of_extrudes() {
 | 
			
		||||
    let code = r#"const plane001 = startSketchOn('XZ')
 | 
			
		||||
 | 
			
		||||
const sketch001 = plane001
 | 
			
		||||
  |> startProfileAt([40.82, 240.82], %)
 | 
			
		||||
  |> line([235.72, -8.16], %)
 | 
			
		||||
  |> line([13.27, -253.07], %)
 | 
			
		||||
  |> line([-247.97, -19.39], %)
 | 
			
		||||
  |> lineTo([profileStartX(%), profileStartY(%)], %)
 | 
			
		||||
  |> close(%)
 | 
			
		||||
  |> extrude(10, %)
 | 
			
		||||
 | 
			
		||||
const sketch002 = plane001
 | 
			
		||||
  |> startProfileAt([47.17, -71.91], %)
 | 
			
		||||
  |> line([247.96, -4.03], %)
 | 
			
		||||
  |> line([-17.26, -116.79], %)
 | 
			
		||||
  |> line([-235.87, 12.66], %)
 | 
			
		||||
  |> lineTo([profileStartX(%), profileStartY(%)], %)
 | 
			
		||||
  |> close(%)
 | 
			
		||||
  |> extrude(10, %)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
let extrudes = [sketch001, sketch002] 
 | 
			
		||||
 | 
			
		||||
const pattn1 = patternLinear3d({
 | 
			
		||||
       axis: [0, 1, 0],
 | 
			
		||||
       repetitions: 2,
 | 
			
		||||
       distance: 20
 | 
			
		||||
     }, extrudes)
 | 
			
		||||
"#;
 | 
			
		||||
 | 
			
		||||
    let result = execute_and_snapshot(code, UnitLength::Mm).await.unwrap();
 | 
			
		||||
    twenty_twenty::assert_image("tests/executor/outputs/pattern3d_array_of_extrudes.png", &result, 1.0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 157 KiB After Width: | Height: | Size: 130 KiB  | 
| 
		 After Width: | Height: | Size: 138 KiB  |