864 lines
		
	
	
		
			102 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			864 lines
		
	
	
		
			102 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: "tangentialArcToRelative" | |||
|  | excerpt: "Starting at the current sketch's origin, draw a curved line segment along" | |||
|  | layout: manual | |||
|  | --- | |||
|  | 
 | |||
|  | Starting at the current sketch's origin, draw a curved line segment along | |||
|  | 
 | |||
|  | some part of an imaginary circle until it reaches a point the given (x, y) distance away. | |||
|  | 
 | |||
|  | ```js | |||
|  | tangentialArcToRelative(delta: [number], sketch_group: SketchGroup, tag?: TagDeclarator) -> SketchGroup | |||
|  | ``` | |||
|  | 
 | |||
|  | ### Examples
 | |||
|  | 
 | |||
|  | ```js | |||
|  | const exampleSketch = startSketchOn('XZ') | |||
|  |   |> startProfileAt([0, 0], %) | |||
|  |   |> angledLine({ angle: 45, length: 10 }, %) | |||
|  |   |> tangentialArcToRelative([0, -10], %) | |||
|  |   |> line([-10, 0], %) | |||
|  |   |> close(%) | |||
|  | 
 | |||
|  | const example = extrude(10, exampleSketch) | |||
|  | ``` | |||
|  | 
 | |||
|  |  | |||
|  | * `sketch_group`: `SketchGroup` - A sketch group is a collection of paths. (REQUIRED) | |||
|  | ```js | |||
|  | { | |||
|  | 	// The id of the sketch group (this will change when the engine's reference to it changes. | |||
|  | 	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 extrude group the face is on. | |||
|  | 	extrudeGroup: { | |||
|  | 	// Chamfers or fillets on this extrude group. | |||
|  | 	edgeCuts: [{ | |||
|  | 	// The engine id of the edge to fillet. | |||
|  | 	edgeId: uuid, | |||
|  | 	// The id of the engine command that called this fillet. | |||
|  | 	id: uuid, | |||
|  | 	radius: number, | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	type: "fillet", | |||
|  | } | | |||
|  | { | |||
|  | 	// The engine id of the edge to chamfer. | |||
|  | 	edgeId: uuid, | |||
|  | 	// The id of the engine command that called this chamfer. | |||
|  | 	id: uuid, | |||
|  | 	length: number, | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	type: "chamfer", | |||
|  | }], | |||
|  | 	// The id of the extrusion end cap | |||
|  | 	endCapId: uuid, | |||
|  | 	// The height of the extrude group. | |||
|  | 	height: number, | |||
|  | 	// The id of the extrude group. | |||
|  | 	id: uuid, | |||
|  | 	// The sketch group. | |||
|  | 	sketchGroup: { | |||
|  | 	// The id of the sketch group (this will change when the engine's reference to it changes. | |||
|  | 	id: uuid, | |||
|  | 	// What the sketch is on (can be a plane or a face). | |||
|  | 	on: SketchSurface, | |||
|  | 	// The starting path. | |||
|  | 	start: { | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | }, | |||
|  | 	// Tag identifiers that have been declared in this sketch group. | |||
|  | 	tags: { | |||
|  | }, | |||
|  | 	// The paths in the sketch group. | |||
|  | 	value: [{ | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "ToPoint", | |||
|  | } | | |||
|  | { | |||
|  | 	// arc's direction | |||
|  | 	ccw: bool, | |||
|  | 	// the arc's center | |||
|  | 	center: [number, number], | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "TangentialArcTo", | |||
|  | } | | |||
|  | { | |||
|  | 	// arc's direction | |||
|  | 	ccw: bool, | |||
|  | 	// the arc's center | |||
|  | 	center: [number, number], | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "TangentialArc", | |||
|  | } | | |||
|  | { | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "Horizontal", | |||
|  | 	// The x coordinate. | |||
|  | 	x: number, | |||
|  | } | | |||
|  | { | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "AngledLineTo", | |||
|  | 	// The x coordinate. | |||
|  | 	x: number, | |||
|  | 	// The y coordinate. | |||
|  | 	y: number, | |||
|  | } | | |||
|  | { | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "Base", | |||
|  | }], | |||
|  | }, | |||
|  | 	// The id of the extrusion start cap | |||
|  | 	startCapId: uuid, | |||
|  | 	// The extrude surfaces. | |||
|  | 	value: [{ | |||
|  | 	// The face id for the extrude plane. | |||
|  | 	faceId: uuid, | |||
|  | 	// The id of the geometry. | |||
|  | 	id: uuid, | |||
|  | 	// The source range. | |||
|  | 	sourceRange: [number, number], | |||
|  | 	// The tag. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	type: "extrudePlane", | |||
|  | } | | |||
|  | { | |||
|  | 	// The face id for the extrude plane. | |||
|  | 	faceId: uuid, | |||
|  | 	// The id of the geometry. | |||
|  | 	id: uuid, | |||
|  | 	// The source range. | |||
|  | 	sourceRange: [number, number], | |||
|  | 	// The tag. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	type: "extrudeArc", | |||
|  | } | | |||
|  | { | |||
|  | 	// The id for the chamfer surface. | |||
|  | 	faceId: uuid, | |||
|  | 	// The id of the geometry. | |||
|  | 	id: uuid, | |||
|  | 	// The source range. | |||
|  | 	sourceRange: [number, number], | |||
|  | 	// The tag. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	type: "chamfer", | |||
|  | } | | |||
|  | { | |||
|  | 	// The id for the fillet surface. | |||
|  | 	faceId: uuid, | |||
|  | 	// The id of the geometry. | |||
|  | 	id: uuid, | |||
|  | 	// The source range. | |||
|  | 	sourceRange: [number, number], | |||
|  | 	// The tag. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	type: "fillet", | |||
|  | }], | |||
|  | }, | |||
|  | 	// The id of the face. | |||
|  | 	id: 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 tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | }, | |||
|  | 	// Tag identifiers that have been declared in this sketch group. | |||
|  | 	tags: { | |||
|  | }, | |||
|  | 	// The paths in the sketch group. | |||
|  | 	value: [{ | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "ToPoint", | |||
|  | } | | |||
|  | { | |||
|  | 	// arc's direction | |||
|  | 	ccw: bool, | |||
|  | 	// the arc's center | |||
|  | 	center: [number, number], | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "TangentialArcTo", | |||
|  | } | | |||
|  | { | |||
|  | 	// arc's direction | |||
|  | 	ccw: bool, | |||
|  | 	// the arc's center | |||
|  | 	center: [number, number], | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "TangentialArc", | |||
|  | } | | |||
|  | { | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "Horizontal", | |||
|  | 	// The x coordinate. | |||
|  | 	x: number, | |||
|  | } | | |||
|  | { | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "AngledLineTo", | |||
|  | 	// The x coordinate. | |||
|  | 	x: number, | |||
|  | 	// The y coordinate. | |||
|  | 	y: number, | |||
|  | } | | |||
|  | { | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "Base", | |||
|  | }], | |||
|  | } | |||
|  | ``` | |||
|  | * `tag`: `TagDeclarator` (OPTIONAL) | |||
|  | ```js | |||
|  | { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | } | |||
|  | ``` | |||
|  | 
 | |||
|  | ### Returns
 | |||
|  | 
 | |||
|  | `SketchGroup` - A sketch group is a collection of paths. | |||
|  | ```js | |||
|  | { | |||
|  | 	// The id of the sketch group (this will change when the engine's reference to it changes. | |||
|  | 	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 extrude group the face is on. | |||
|  | 	extrudeGroup: { | |||
|  | 	// Chamfers or fillets on this extrude group. | |||
|  | 	edgeCuts: [{ | |||
|  | 	// The engine id of the edge to fillet. | |||
|  | 	edgeId: uuid, | |||
|  | 	// The id of the engine command that called this fillet. | |||
|  | 	id: uuid, | |||
|  | 	radius: number, | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	type: "fillet", | |||
|  | } | | |||
|  | { | |||
|  | 	// The engine id of the edge to chamfer. | |||
|  | 	edgeId: uuid, | |||
|  | 	// The id of the engine command that called this chamfer. | |||
|  | 	id: uuid, | |||
|  | 	length: number, | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	type: "chamfer", | |||
|  | }], | |||
|  | 	// The id of the extrusion end cap | |||
|  | 	endCapId: uuid, | |||
|  | 	// The height of the extrude group. | |||
|  | 	height: number, | |||
|  | 	// The id of the extrude group. | |||
|  | 	id: uuid, | |||
|  | 	// The sketch group. | |||
|  | 	sketchGroup: { | |||
|  | 	// The id of the sketch group (this will change when the engine's reference to it changes. | |||
|  | 	id: uuid, | |||
|  | 	// What the sketch is on (can be a plane or a face). | |||
|  | 	on: SketchSurface, | |||
|  | 	// The starting path. | |||
|  | 	start: { | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | }, | |||
|  | 	// Tag identifiers that have been declared in this sketch group. | |||
|  | 	tags: { | |||
|  | }, | |||
|  | 	// The paths in the sketch group. | |||
|  | 	value: [{ | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "ToPoint", | |||
|  | } | | |||
|  | { | |||
|  | 	// arc's direction | |||
|  | 	ccw: bool, | |||
|  | 	// the arc's center | |||
|  | 	center: [number, number], | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "TangentialArcTo", | |||
|  | } | | |||
|  | { | |||
|  | 	// arc's direction | |||
|  | 	ccw: bool, | |||
|  | 	// the arc's center | |||
|  | 	center: [number, number], | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "TangentialArc", | |||
|  | } | | |||
|  | { | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "Horizontal", | |||
|  | 	// The x coordinate. | |||
|  | 	x: number, | |||
|  | } | | |||
|  | { | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "AngledLineTo", | |||
|  | 	// The x coordinate. | |||
|  | 	x: number, | |||
|  | 	// The y coordinate. | |||
|  | 	y: number, | |||
|  | } | | |||
|  | { | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "Base", | |||
|  | }], | |||
|  | }, | |||
|  | 	// The id of the extrusion start cap | |||
|  | 	startCapId: uuid, | |||
|  | 	// The extrude surfaces. | |||
|  | 	value: [{ | |||
|  | 	// The face id for the extrude plane. | |||
|  | 	faceId: uuid, | |||
|  | 	// The id of the geometry. | |||
|  | 	id: uuid, | |||
|  | 	// The source range. | |||
|  | 	sourceRange: [number, number], | |||
|  | 	// The tag. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	type: "extrudePlane", | |||
|  | } | | |||
|  | { | |||
|  | 	// The face id for the extrude plane. | |||
|  | 	faceId: uuid, | |||
|  | 	// The id of the geometry. | |||
|  | 	id: uuid, | |||
|  | 	// The source range. | |||
|  | 	sourceRange: [number, number], | |||
|  | 	// The tag. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	type: "extrudeArc", | |||
|  | } | | |||
|  | { | |||
|  | 	// The id for the chamfer surface. | |||
|  | 	faceId: uuid, | |||
|  | 	// The id of the geometry. | |||
|  | 	id: uuid, | |||
|  | 	// The source range. | |||
|  | 	sourceRange: [number, number], | |||
|  | 	// The tag. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	type: "chamfer", | |||
|  | } | | |||
|  | { | |||
|  | 	// The id for the fillet surface. | |||
|  | 	faceId: uuid, | |||
|  | 	// The id of the geometry. | |||
|  | 	id: uuid, | |||
|  | 	// The source range. | |||
|  | 	sourceRange: [number, number], | |||
|  | 	// The tag. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	type: "fillet", | |||
|  | }], | |||
|  | }, | |||
|  | 	// The id of the face. | |||
|  | 	id: 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 tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | }, | |||
|  | 	// Tag identifiers that have been declared in this sketch group. | |||
|  | 	tags: { | |||
|  | }, | |||
|  | 	// The paths in the sketch group. | |||
|  | 	value: [{ | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "ToPoint", | |||
|  | } | | |||
|  | { | |||
|  | 	// arc's direction | |||
|  | 	ccw: bool, | |||
|  | 	// the arc's center | |||
|  | 	center: [number, number], | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "TangentialArcTo", | |||
|  | } | | |||
|  | { | |||
|  | 	// arc's direction | |||
|  | 	ccw: bool, | |||
|  | 	// the arc's center | |||
|  | 	center: [number, number], | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "TangentialArc", | |||
|  | } | | |||
|  | { | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "Horizontal", | |||
|  | 	// The x coordinate. | |||
|  | 	x: number, | |||
|  | } | | |||
|  | { | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "AngledLineTo", | |||
|  | 	// The x coordinate. | |||
|  | 	x: number, | |||
|  | 	// The y coordinate. | |||
|  | 	y: number, | |||
|  | } | | |||
|  | { | |||
|  | 	// The from point. | |||
|  | 	from: [number, number], | |||
|  | 	// The tag of the path. | |||
|  | 	tag: { | |||
|  | 	digest: [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number], | |||
|  | 	end: number, | |||
|  | 	start: number, | |||
|  | 	value: string, | |||
|  | }, | |||
|  | 	// The to point. | |||
|  | 	to: [number, number], | |||
|  | 	type: "Base", | |||
|  | }], | |||
|  | } | |||
|  | ``` | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 |