allow for editing a sketch where extrude or revolve is in the same pipe (#2749)
* allow for editing a sketch where extrude or revolve is in the same pipe Signed-off-by: Jess Frazelle <github@jessfraz.com> * update tests Signed-off-by: Jess Frazelle <github@jessfraz.com> * add playwright test for extrude Signed-off-by: Jess Frazelle <github@jessfraz.com> * add test for revolve Signed-off-by: Jess Frazelle <github@jessfraz.com> * remove log Signed-off-by: Jess Frazelle <github@jessfraz.com> --------- Signed-off-by: Jess Frazelle <github@jessfraz.com>
This commit is contained in:
		@ -62,8 +62,80 @@ string],
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The sketch group.
 | 
			
		||||
	sketchGroup: {
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
	on: {
 | 
			
		||||
	// The id of the plane.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// Origin of the plane.
 | 
			
		||||
	origin: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	type: "plane",
 | 
			
		||||
	// Type for a plane.
 | 
			
		||||
	value: "XY" | "XZ" | "YZ" | "Custom",
 | 
			
		||||
	// What should the plane’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the plane’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
	sketchGroupId: uuid,
 | 
			
		||||
	type: "face",
 | 
			
		||||
	// The tag of the face.
 | 
			
		||||
	value: string,
 | 
			
		||||
	// What should the face’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the face’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The to point.
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
},
 | 
			
		||||
	// The paths in the sketch group.
 | 
			
		||||
	value: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
@ -127,6 +199,7 @@ string],
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
},
 | 
			
		||||
	// The id of the extrusion start cap
 | 
			
		||||
	startCapId: uuid,
 | 
			
		||||
	// The extrude surfaces.
 | 
			
		||||
@ -152,24 +225,6 @@ string],
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
@ -184,8 +239,80 @@ string],
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The sketch group.
 | 
			
		||||
	sketchGroup: {
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
	on: {
 | 
			
		||||
	// The id of the plane.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// Origin of the plane.
 | 
			
		||||
	origin: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	type: "plane",
 | 
			
		||||
	// Type for a plane.
 | 
			
		||||
	value: "XY" | "XZ" | "YZ" | "Custom",
 | 
			
		||||
	// What should the plane’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the plane’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
	sketchGroupId: uuid,
 | 
			
		||||
	type: "face",
 | 
			
		||||
	// The tag of the face.
 | 
			
		||||
	value: string,
 | 
			
		||||
	// What should the face’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the face’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The to point.
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
},
 | 
			
		||||
	// The paths in the sketch group.
 | 
			
		||||
	value: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
@ -249,6 +376,7 @@ string],
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
},
 | 
			
		||||
	// The id of the extrusion start cap
 | 
			
		||||
	startCapId: uuid,
 | 
			
		||||
	// The extrude surfaces.
 | 
			
		||||
@ -274,24 +402,6 @@ string],
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -220,8 +220,80 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The sketch group.
 | 
			
		||||
	sketchGroup: {
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
	on: {
 | 
			
		||||
	// The id of the plane.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// Origin of the plane.
 | 
			
		||||
	origin: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	type: "plane",
 | 
			
		||||
	// Type for a plane.
 | 
			
		||||
	value: "XY" | "XZ" | "YZ" | "Custom",
 | 
			
		||||
	// What should the plane’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the plane’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
	sketchGroupId: uuid,
 | 
			
		||||
	type: "face",
 | 
			
		||||
	// The tag of the face.
 | 
			
		||||
	value: string,
 | 
			
		||||
	// What should the face’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the face’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The to point.
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
},
 | 
			
		||||
	// The paths in the sketch group.
 | 
			
		||||
	value: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
@ -285,6 +357,7 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
},
 | 
			
		||||
	// The id of the extrusion start cap
 | 
			
		||||
	startCapId: uuid,
 | 
			
		||||
	type: "extrudeGroup",
 | 
			
		||||
@ -311,24 +384,6 @@ const example = extrude(10, exampleSketch)
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	type: "extrudeGroups",
 | 
			
		||||
 | 
			
		||||
@ -62,8 +62,80 @@ string],
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The sketch group.
 | 
			
		||||
	sketchGroup: {
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
	on: {
 | 
			
		||||
	// The id of the plane.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// Origin of the plane.
 | 
			
		||||
	origin: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	type: "plane",
 | 
			
		||||
	// Type for a plane.
 | 
			
		||||
	value: "XY" | "XZ" | "YZ" | "Custom",
 | 
			
		||||
	// What should the plane’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the plane’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
	sketchGroupId: uuid,
 | 
			
		||||
	type: "face",
 | 
			
		||||
	// The tag of the face.
 | 
			
		||||
	value: string,
 | 
			
		||||
	// What should the face’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the face’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The to point.
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
},
 | 
			
		||||
	// The paths in the sketch group.
 | 
			
		||||
	value: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
@ -127,6 +199,7 @@ string],
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
},
 | 
			
		||||
	// The id of the extrusion start cap
 | 
			
		||||
	startCapId: uuid,
 | 
			
		||||
	// The extrude surfaces.
 | 
			
		||||
@ -152,24 +225,6 @@ string],
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
@ -184,8 +239,80 @@ string],
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The sketch group.
 | 
			
		||||
	sketchGroup: {
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
	on: {
 | 
			
		||||
	// The id of the plane.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// Origin of the plane.
 | 
			
		||||
	origin: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	type: "plane",
 | 
			
		||||
	// Type for a plane.
 | 
			
		||||
	value: "XY" | "XZ" | "YZ" | "Custom",
 | 
			
		||||
	// What should the plane’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the plane’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
	sketchGroupId: uuid,
 | 
			
		||||
	type: "face",
 | 
			
		||||
	// The tag of the face.
 | 
			
		||||
	value: string,
 | 
			
		||||
	// What should the face’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the face’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The to point.
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
},
 | 
			
		||||
	// The paths in the sketch group.
 | 
			
		||||
	value: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
@ -249,6 +376,7 @@ string],
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
},
 | 
			
		||||
	// The id of the extrusion start cap
 | 
			
		||||
	startCapId: uuid,
 | 
			
		||||
	// The extrude surfaces.
 | 
			
		||||
@ -274,24 +402,6 @@ string],
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -49,8 +49,80 @@ const revolution = startSketchOn(box, "revolveAxis")
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The sketch group.
 | 
			
		||||
	sketchGroup: {
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
	on: {
 | 
			
		||||
	// The id of the plane.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// Origin of the plane.
 | 
			
		||||
	origin: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	type: "plane",
 | 
			
		||||
	// Type for a plane.
 | 
			
		||||
	value: "XY" | "XZ" | "YZ" | "Custom",
 | 
			
		||||
	// What should the plane’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the plane’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
	sketchGroupId: uuid,
 | 
			
		||||
	type: "face",
 | 
			
		||||
	// The tag of the face.
 | 
			
		||||
	value: string,
 | 
			
		||||
	// What should the face’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the face’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The to point.
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
},
 | 
			
		||||
	// The paths in the sketch group.
 | 
			
		||||
	value: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
@ -114,6 +186,7 @@ const revolution = startSketchOn(box, "revolveAxis")
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
},
 | 
			
		||||
	// The id of the extrusion start cap
 | 
			
		||||
	startCapId: uuid,
 | 
			
		||||
	// The extrude surfaces.
 | 
			
		||||
@ -139,24 +212,6 @@ const revolution = startSketchOn(box, "revolveAxis")
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -47,8 +47,80 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The sketch group.
 | 
			
		||||
	sketchGroup: {
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
	on: {
 | 
			
		||||
	// The id of the plane.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// Origin of the plane.
 | 
			
		||||
	origin: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	type: "plane",
 | 
			
		||||
	// Type for a plane.
 | 
			
		||||
	value: "XY" | "XZ" | "YZ" | "Custom",
 | 
			
		||||
	// What should the plane’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the plane’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
	sketchGroupId: uuid,
 | 
			
		||||
	type: "face",
 | 
			
		||||
	// The tag of the face.
 | 
			
		||||
	value: string,
 | 
			
		||||
	// What should the face’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the face’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The to point.
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
},
 | 
			
		||||
	// The paths in the sketch group.
 | 
			
		||||
	value: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
@ -112,6 +184,7 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
},
 | 
			
		||||
	// The id of the extrusion start cap
 | 
			
		||||
	startCapId: uuid,
 | 
			
		||||
	// The extrude surfaces.
 | 
			
		||||
@ -137,24 +210,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -45,8 +45,80 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The sketch group.
 | 
			
		||||
	sketchGroup: {
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
	on: {
 | 
			
		||||
	// The id of the plane.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// Origin of the plane.
 | 
			
		||||
	origin: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	type: "plane",
 | 
			
		||||
	// Type for a plane.
 | 
			
		||||
	value: "XY" | "XZ" | "YZ" | "Custom",
 | 
			
		||||
	// What should the plane’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the plane’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
	sketchGroupId: uuid,
 | 
			
		||||
	type: "face",
 | 
			
		||||
	// The tag of the face.
 | 
			
		||||
	value: string,
 | 
			
		||||
	// What should the face’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the face’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The to point.
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
},
 | 
			
		||||
	// The paths in the sketch group.
 | 
			
		||||
	value: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
@ -110,6 +182,7 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
},
 | 
			
		||||
	// The id of the extrusion start cap
 | 
			
		||||
	startCapId: uuid,
 | 
			
		||||
	// The extrude surfaces.
 | 
			
		||||
@ -135,24 +208,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -47,8 +47,80 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The sketch group.
 | 
			
		||||
	sketchGroup: {
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
	on: {
 | 
			
		||||
	// The id of the plane.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// Origin of the plane.
 | 
			
		||||
	origin: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	type: "plane",
 | 
			
		||||
	// Type for a plane.
 | 
			
		||||
	value: "XY" | "XZ" | "YZ" | "Custom",
 | 
			
		||||
	// What should the plane’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the plane’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
	sketchGroupId: uuid,
 | 
			
		||||
	type: "face",
 | 
			
		||||
	// The tag of the face.
 | 
			
		||||
	value: string,
 | 
			
		||||
	// What should the face’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the face’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The to point.
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
},
 | 
			
		||||
	// The paths in the sketch group.
 | 
			
		||||
	value: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
@ -112,6 +184,7 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
},
 | 
			
		||||
	// The id of the extrusion start cap
 | 
			
		||||
	startCapId: uuid,
 | 
			
		||||
	// The extrude surfaces.
 | 
			
		||||
@ -137,24 +210,6 @@ const example = extrude(5, exampleSketch)
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -52,8 +52,80 @@ const part001 = startSketchOn('XY')
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The sketch group.
 | 
			
		||||
	sketchGroup: {
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
	on: {
 | 
			
		||||
	// The id of the plane.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// Origin of the plane.
 | 
			
		||||
	origin: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	type: "plane",
 | 
			
		||||
	// Type for a plane.
 | 
			
		||||
	value: "XY" | "XZ" | "YZ" | "Custom",
 | 
			
		||||
	// What should the plane’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the plane’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
	sketchGroupId: uuid,
 | 
			
		||||
	type: "face",
 | 
			
		||||
	// The tag of the face.
 | 
			
		||||
	value: string,
 | 
			
		||||
	// What should the face’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the face’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The to point.
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
},
 | 
			
		||||
	// The paths in the sketch group.
 | 
			
		||||
	value: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
@ -117,6 +189,7 @@ const part001 = startSketchOn('XY')
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
},
 | 
			
		||||
	// The id of the extrusion start cap
 | 
			
		||||
	startCapId: uuid,
 | 
			
		||||
	// The extrude surfaces.
 | 
			
		||||
@ -142,24 +215,6 @@ const part001 = startSketchOn('XY')
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
@ -174,8 +229,80 @@ const part001 = startSketchOn('XY')
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The sketch group.
 | 
			
		||||
	sketchGroup: {
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
	on: {
 | 
			
		||||
	// The id of the plane.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// Origin of the plane.
 | 
			
		||||
	origin: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	type: "plane",
 | 
			
		||||
	// Type for a plane.
 | 
			
		||||
	value: "XY" | "XZ" | "YZ" | "Custom",
 | 
			
		||||
	// What should the plane’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the plane’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
	sketchGroupId: uuid,
 | 
			
		||||
	type: "face",
 | 
			
		||||
	// The tag of the face.
 | 
			
		||||
	value: string,
 | 
			
		||||
	// What should the face’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the face’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The to point.
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
},
 | 
			
		||||
	// The paths in the sketch group.
 | 
			
		||||
	value: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
@ -239,6 +366,7 @@ const part001 = startSketchOn('XY')
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
},
 | 
			
		||||
	// The id of the extrusion start cap
 | 
			
		||||
	startCapId: uuid,
 | 
			
		||||
	// The extrude surfaces.
 | 
			
		||||
@ -264,24 +392,6 @@ const part001 = startSketchOn('XY')
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -56,8 +56,80 @@ const example = extrude(-5, exampleSketch)
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The sketch group.
 | 
			
		||||
	sketchGroup: {
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
	on: {
 | 
			
		||||
	// The id of the plane.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// Origin of the plane.
 | 
			
		||||
	origin: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	type: "plane",
 | 
			
		||||
	// Type for a plane.
 | 
			
		||||
	value: "XY" | "XZ" | "YZ" | "Custom",
 | 
			
		||||
	// What should the plane’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the plane’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
	sketchGroupId: uuid,
 | 
			
		||||
	type: "face",
 | 
			
		||||
	// The tag of the face.
 | 
			
		||||
	value: string,
 | 
			
		||||
	// What should the face’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the face’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The to point.
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
},
 | 
			
		||||
	// The paths in the sketch group.
 | 
			
		||||
	value: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
@ -121,6 +193,7 @@ const example = extrude(-5, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
},
 | 
			
		||||
	// The id of the extrusion start cap
 | 
			
		||||
	startCapId: uuid,
 | 
			
		||||
	type: "extrudeGroup",
 | 
			
		||||
@ -147,24 +220,6 @@ const example = extrude(-5, exampleSketch)
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	type: "extrudeGroups",
 | 
			
		||||
 | 
			
		||||
@ -54,8 +54,80 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The sketch group.
 | 
			
		||||
	sketchGroup: {
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
	on: {
 | 
			
		||||
	// The id of the plane.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// Origin of the plane.
 | 
			
		||||
	origin: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	type: "plane",
 | 
			
		||||
	// Type for a plane.
 | 
			
		||||
	value: "XY" | "XZ" | "YZ" | "Custom",
 | 
			
		||||
	// What should the plane’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the plane’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
	sketchGroupId: uuid,
 | 
			
		||||
	type: "face",
 | 
			
		||||
	// The tag of the face.
 | 
			
		||||
	value: string,
 | 
			
		||||
	// What should the face’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the face’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The to point.
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
},
 | 
			
		||||
	// The paths in the sketch group.
 | 
			
		||||
	value: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
@ -119,6 +191,7 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
},
 | 
			
		||||
	// The id of the extrusion start cap
 | 
			
		||||
	startCapId: uuid,
 | 
			
		||||
	type: "extrudeGroup",
 | 
			
		||||
@ -145,24 +218,6 @@ const example = extrude(1, exampleSketch)
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	type: "extrudeGroups",
 | 
			
		||||
 | 
			
		||||
@ -311,8 +311,80 @@ string,
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The sketch group.
 | 
			
		||||
	sketchGroup: {
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
	on: {
 | 
			
		||||
	// The id of the plane.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// Origin of the plane.
 | 
			
		||||
	origin: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	type: "plane",
 | 
			
		||||
	// Type for a plane.
 | 
			
		||||
	value: "XY" | "XZ" | "YZ" | "Custom",
 | 
			
		||||
	// What should the plane’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the plane’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
	sketchGroupId: uuid,
 | 
			
		||||
	type: "face",
 | 
			
		||||
	// The tag of the face.
 | 
			
		||||
	value: string,
 | 
			
		||||
	// What should the face’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the face’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The to point.
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
},
 | 
			
		||||
	// The paths in the sketch group.
 | 
			
		||||
	value: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
@ -376,6 +448,7 @@ string,
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
},
 | 
			
		||||
	// The id of the extrusion start cap
 | 
			
		||||
	startCapId: uuid,
 | 
			
		||||
	// The extrude surfaces.
 | 
			
		||||
@ -401,24 +474,6 @@ string,
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -50,8 +50,80 @@ string],
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The sketch group.
 | 
			
		||||
	sketchGroup: {
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
	on: {
 | 
			
		||||
	// The id of the plane.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// Origin of the plane.
 | 
			
		||||
	origin: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	type: "plane",
 | 
			
		||||
	// Type for a plane.
 | 
			
		||||
	value: "XY" | "XZ" | "YZ" | "Custom",
 | 
			
		||||
	// What should the plane’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the plane’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
	sketchGroupId: uuid,
 | 
			
		||||
	type: "face",
 | 
			
		||||
	// The tag of the face.
 | 
			
		||||
	value: string,
 | 
			
		||||
	// What should the face’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the face’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The to point.
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
},
 | 
			
		||||
	// The paths in the sketch group.
 | 
			
		||||
	value: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
@ -115,6 +187,7 @@ string],
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
},
 | 
			
		||||
	// The id of the extrusion start cap
 | 
			
		||||
	startCapId: uuid,
 | 
			
		||||
	// The extrude surfaces.
 | 
			
		||||
@ -140,24 +213,6 @@ string],
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
@ -172,8 +227,80 @@ string],
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The sketch group.
 | 
			
		||||
	sketchGroup: {
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
	on: {
 | 
			
		||||
	// The id of the plane.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// Origin of the plane.
 | 
			
		||||
	origin: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	type: "plane",
 | 
			
		||||
	// Type for a plane.
 | 
			
		||||
	value: "XY" | "XZ" | "YZ" | "Custom",
 | 
			
		||||
	// What should the plane’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the plane’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
	sketchGroupId: uuid,
 | 
			
		||||
	type: "face",
 | 
			
		||||
	// The tag of the face.
 | 
			
		||||
	value: string,
 | 
			
		||||
	// What should the face’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the face’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The to point.
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
},
 | 
			
		||||
	// The paths in the sketch group.
 | 
			
		||||
	value: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
@ -237,6 +364,7 @@ string],
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
},
 | 
			
		||||
	// The id of the extrusion start cap
 | 
			
		||||
	startCapId: uuid,
 | 
			
		||||
	// The extrude surfaces.
 | 
			
		||||
@ -262,24 +390,6 @@ string],
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -167,8 +167,80 @@ const a1 = startSketchOn({
 | 
			
		||||
	height: number,
 | 
			
		||||
	// The id of the extrude group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The sketch group paths.
 | 
			
		||||
	sketchGroupValues: [{
 | 
			
		||||
	// The sketch group.
 | 
			
		||||
	sketchGroup: {
 | 
			
		||||
	// The id of the sketch group.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// What the sketch is on (can be a plane or a face).
 | 
			
		||||
	on: {
 | 
			
		||||
	// The id of the plane.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// Origin of the plane.
 | 
			
		||||
	origin: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	type: "plane",
 | 
			
		||||
	// Type for a plane.
 | 
			
		||||
	value: "XY" | "XZ" | "YZ" | "Custom",
 | 
			
		||||
	// What should the plane’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the plane’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
} |
 | 
			
		||||
{
 | 
			
		||||
	// The id of the face.
 | 
			
		||||
	id: uuid,
 | 
			
		||||
	// The original sketch group id of the object we are sketching on.
 | 
			
		||||
	sketchGroupId: uuid,
 | 
			
		||||
	type: "face",
 | 
			
		||||
	// The tag of the face.
 | 
			
		||||
	value: string,
 | 
			
		||||
	// What should the face’s X axis be?
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// What should the face’s Y axis be?
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis (normal).
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
},
 | 
			
		||||
	// The starting path.
 | 
			
		||||
	start: {
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
	name: string,
 | 
			
		||||
	// The to point.
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
},
 | 
			
		||||
	// The paths in the sketch group.
 | 
			
		||||
	value: [{
 | 
			
		||||
	// The from point.
 | 
			
		||||
	from: [number, number],
 | 
			
		||||
	// The name of the path.
 | 
			
		||||
@ -232,6 +304,7 @@ const a1 = startSketchOn({
 | 
			
		||||
	to: [number, number],
 | 
			
		||||
	type: "Base",
 | 
			
		||||
}],
 | 
			
		||||
},
 | 
			
		||||
	// The id of the extrusion start cap
 | 
			
		||||
	startCapId: uuid,
 | 
			
		||||
	// The extrude surfaces.
 | 
			
		||||
@ -257,24 +330,6 @@ const a1 = startSketchOn({
 | 
			
		||||
	sourceRange: [number, number],
 | 
			
		||||
	type: "extrudeArc",
 | 
			
		||||
}],
 | 
			
		||||
	// The x-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	xAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The y-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	yAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
	// The z-axis of the extrude group base plane in the 3D space
 | 
			
		||||
	zAxis: {
 | 
			
		||||
	x: number,
 | 
			
		||||
	y: number,
 | 
			
		||||
	z: number,
 | 
			
		||||
},
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
* `tag`: `SketchOnFaceTag` - A tag for sketch on face. (OPTIONAL)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										29236
									
								
								docs/kcl/std.json
									
									
									
									
									
								
							
							
						
						
									
										29236
									
								
								docs/kcl/std.json
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user