diff --git a/docs/kcl/angleToMatchLengthX.md b/docs/kcl/angleToMatchLengthX.md index 2ffd85d9a..3a9b79a42 100644 --- a/docs/kcl/angleToMatchLengthX.md +++ b/docs/kcl/angleToMatchLengthX.md @@ -253,6 +253,10 @@ const extrusion = extrude(5, sketch001) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -458,6 +462,10 @@ const extrusion = extrude(5, sketch001) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/angleToMatchLengthY.md b/docs/kcl/angleToMatchLengthY.md index fabfb040a..3eedfd627 100644 --- a/docs/kcl/angleToMatchLengthY.md +++ b/docs/kcl/angleToMatchLengthY.md @@ -257,6 +257,10 @@ const extrusion = extrude(5, sketch001) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -462,6 +466,10 @@ const extrusion = extrude(5, sketch001) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/angledLine.md b/docs/kcl/angledLine.md index 67e3a7405..2491eb48d 100644 --- a/docs/kcl/angledLine.md +++ b/docs/kcl/angledLine.md @@ -172,6 +172,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -377,6 +381,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -584,6 +592,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -789,6 +801,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/angledLineOfXLength.md b/docs/kcl/angledLineOfXLength.md index 7c29840fb..6bec7f952 100644 --- a/docs/kcl/angledLineOfXLength.md +++ b/docs/kcl/angledLineOfXLength.md @@ -171,6 +171,10 @@ const extrusion = extrude(10, sketch001) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -376,6 +380,10 @@ const extrusion = extrude(10, sketch001) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -583,6 +591,10 @@ const extrusion = extrude(10, sketch001) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -788,6 +800,10 @@ const extrusion = extrude(10, sketch001) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/angledLineOfYLength.md b/docs/kcl/angledLineOfYLength.md index 28cfad3dd..d3f00e2b4 100644 --- a/docs/kcl/angledLineOfYLength.md +++ b/docs/kcl/angledLineOfYLength.md @@ -173,6 +173,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -378,6 +382,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -585,6 +593,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -790,6 +802,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/angledLineThatIntersects.md b/docs/kcl/angledLineThatIntersects.md index 76a086c8f..bdd437884 100644 --- a/docs/kcl/angledLineThatIntersects.md +++ b/docs/kcl/angledLineThatIntersects.md @@ -265,6 +265,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -470,6 +474,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -677,6 +685,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -882,6 +894,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/angledLineToX.md b/docs/kcl/angledLineToX.md index 3f81c2d39..5c8f1fffb 100644 --- a/docs/kcl/angledLineToX.md +++ b/docs/kcl/angledLineToX.md @@ -170,6 +170,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -375,6 +379,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -582,6 +590,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -787,6 +799,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/angledLineToY.md b/docs/kcl/angledLineToY.md index 7cbd7605e..f7567d21f 100644 --- a/docs/kcl/angledLineToY.md +++ b/docs/kcl/angledLineToY.md @@ -170,6 +170,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -375,6 +379,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -582,6 +590,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -787,6 +799,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/arc.md b/docs/kcl/arc.md index e8ca70acb..89834e8c5 100644 --- a/docs/kcl/arc.md +++ b/docs/kcl/arc.md @@ -183,6 +183,10 @@ const exampleSketch = startSketchOn('XZ') type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -388,6 +392,10 @@ const exampleSketch = startSketchOn('XZ') type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -595,6 +603,10 @@ const exampleSketch = startSketchOn('XZ') type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -800,6 +812,10 @@ const exampleSketch = startSketchOn('XZ') type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/bezierCurve.md b/docs/kcl/bezierCurve.md index a1c9e71ad..73213a957 100644 --- a/docs/kcl/bezierCurve.md +++ b/docs/kcl/bezierCurve.md @@ -176,6 +176,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -381,6 +385,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -588,6 +596,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -793,6 +805,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/chamfer.md b/docs/kcl/chamfer.md index 657f7f681..be15962ff 100644 --- a/docs/kcl/chamfer.md +++ b/docs/kcl/chamfer.md @@ -398,6 +398,10 @@ const mountingPlate = extrude(thickness, mountingPlateSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -798,6 +802,10 @@ const mountingPlate = extrude(thickness, mountingPlateSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/circle.md b/docs/kcl/circle.md index f2c08d371..4f55c7e88 100644 --- a/docs/kcl/circle.md +++ b/docs/kcl/circle.md @@ -169,6 +169,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -541,6 +545,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -748,6 +756,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -953,6 +965,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/close.md b/docs/kcl/close.md index d53709b16..86d7fcfe1 100644 --- a/docs/kcl/close.md +++ b/docs/kcl/close.md @@ -171,6 +171,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -376,6 +380,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -583,6 +591,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -788,6 +800,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/extrude.md b/docs/kcl/extrude.md index d7435f86e..78af5acaa 100644 --- a/docs/kcl/extrude.md +++ b/docs/kcl/extrude.md @@ -196,6 +196,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -402,6 +406,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -728,6 +736,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/fillet.md b/docs/kcl/fillet.md index 908218155..6102375d8 100644 --- a/docs/kcl/fillet.md +++ b/docs/kcl/fillet.md @@ -398,6 +398,10 @@ const mountingPlate = extrude(thickness, mountingPlateSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -798,6 +802,10 @@ const mountingPlate = extrude(thickness, mountingPlateSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/helix.md b/docs/kcl/helix.md index c5cfa3ed6..1ecf43a41 100644 --- a/docs/kcl/helix.md +++ b/docs/kcl/helix.md @@ -299,6 +299,10 @@ const part001 = startSketchOn('XY') type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -690,6 +694,10 @@ const part001 = startSketchOn('XY') type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/hole.md b/docs/kcl/hole.md index 3c2513cc3..c983f1d80 100644 --- a/docs/kcl/hole.md +++ b/docs/kcl/hole.md @@ -182,6 +182,10 @@ const example = extrude(1, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -388,6 +392,10 @@ const example = extrude(1, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -586,6 +594,10 @@ const example = extrude(1, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -791,6 +803,10 @@ const example = extrude(1, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -989,6 +1005,10 @@ const example = extrude(1, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -1194,6 +1214,10 @@ const example = extrude(1, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/lastSegX.md b/docs/kcl/lastSegX.md index 8bc209d8d..6c9c6c726 100644 --- a/docs/kcl/lastSegX.md +++ b/docs/kcl/lastSegX.md @@ -162,6 +162,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -367,6 +371,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/lastSegY.md b/docs/kcl/lastSegY.md index 0c5fe34b1..331557f0a 100644 --- a/docs/kcl/lastSegY.md +++ b/docs/kcl/lastSegY.md @@ -162,6 +162,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -367,6 +371,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/line.md b/docs/kcl/line.md index 32b56cdcf..7f1ce0414 100644 --- a/docs/kcl/line.md +++ b/docs/kcl/line.md @@ -175,6 +175,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -380,6 +384,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -587,6 +595,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -792,6 +804,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/lineTo.md b/docs/kcl/lineTo.md index eb4754224..ad8999d7e 100644 --- a/docs/kcl/lineTo.md +++ b/docs/kcl/lineTo.md @@ -162,6 +162,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -367,6 +371,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -574,6 +582,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -779,6 +791,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/patternCircular2d.md b/docs/kcl/patternCircular2d.md index fe003fda2..d8b810189 100644 --- a/docs/kcl/patternCircular2d.md +++ b/docs/kcl/patternCircular2d.md @@ -180,6 +180,10 @@ const example = extrude(1, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -386,6 +390,10 @@ const example = extrude(1, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/patternCircular3d.md b/docs/kcl/patternCircular3d.md index 9a454a539..bc4c24bca 100644 --- a/docs/kcl/patternCircular3d.md +++ b/docs/kcl/patternCircular3d.md @@ -304,6 +304,10 @@ const example = extrude(-5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/patternLinear2d.md b/docs/kcl/patternLinear2d.md index 1fc0e7b4f..9f99369c2 100644 --- a/docs/kcl/patternLinear2d.md +++ b/docs/kcl/patternLinear2d.md @@ -173,6 +173,10 @@ const example = extrude(1, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -379,6 +383,10 @@ const example = extrude(1, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/patternLinear3d.md b/docs/kcl/patternLinear3d.md index eb3891640..aa2ee13dd 100644 --- a/docs/kcl/patternLinear3d.md +++ b/docs/kcl/patternLinear3d.md @@ -302,6 +302,10 @@ const example = extrude(1, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/patternTransform.md b/docs/kcl/patternTransform.md index 87709cad5..396072362 100644 --- a/docs/kcl/patternTransform.md +++ b/docs/kcl/patternTransform.md @@ -304,6 +304,10 @@ let vase = layer() type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/profileStart.md b/docs/kcl/profileStart.md index 7237ecf8c..a4e346783 100644 --- a/docs/kcl/profileStart.md +++ b/docs/kcl/profileStart.md @@ -163,6 +163,10 @@ const sketch001 = startSketchOn('XY') type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -368,6 +372,10 @@ const sketch001 = startSketchOn('XY') type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/profileStartX.md b/docs/kcl/profileStartX.md index 2dbffc01e..1c2bc7141 100644 --- a/docs/kcl/profileStartX.md +++ b/docs/kcl/profileStartX.md @@ -158,6 +158,10 @@ const sketch001 = startSketchOn('XY') type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -363,6 +367,10 @@ const sketch001 = startSketchOn('XY') type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/profileStartY.md b/docs/kcl/profileStartY.md index 81fe4f206..f373bb787 100644 --- a/docs/kcl/profileStartY.md +++ b/docs/kcl/profileStartY.md @@ -157,6 +157,10 @@ const sketch001 = startSketchOn('XY') type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -362,6 +366,10 @@ const sketch001 = startSketchOn('XY') type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/revolve.md b/docs/kcl/revolve.md index 63d9ab7f8..2d5e5e0d5 100644 --- a/docs/kcl/revolve.md +++ b/docs/kcl/revolve.md @@ -379,6 +379,10 @@ uuid | type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -584,6 +588,10 @@ uuid | type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -907,6 +915,10 @@ uuid | type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/shell.md b/docs/kcl/shell.md index 6738302ce..4a77c7bc6 100644 --- a/docs/kcl/shell.md +++ b/docs/kcl/shell.md @@ -386,6 +386,10 @@ shell({ faces: ['end'], thickness: 0.25 }, firstSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -777,6 +781,10 @@ shell({ faces: ['end'], thickness: 0.25 }, firstSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/startProfileAt.md b/docs/kcl/startProfileAt.md index 08425a459..a33eb4290 100644 --- a/docs/kcl/startProfileAt.md +++ b/docs/kcl/startProfileAt.md @@ -241,6 +241,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -540,6 +544,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -745,6 +753,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/startSketchAt.md b/docs/kcl/startSketchAt.md index c65c4274b..64fbd0d2a 100644 --- a/docs/kcl/startSketchAt.md +++ b/docs/kcl/startSketchAt.md @@ -188,6 +188,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -393,6 +397,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/startSketchOn.md b/docs/kcl/startSketchOn.md index 25cb61d65..fa324f6d0 100644 --- a/docs/kcl/startSketchOn.md +++ b/docs/kcl/startSketchOn.md @@ -310,6 +310,10 @@ const a1 = startSketchOn({ type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -722,6 +726,10 @@ const a1 = startSketchOn({ type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/std.json b/docs/kcl/std.json index 1aa59325d..84ae5f226 100644 --- a/docs/kcl/std.json +++ b/docs/kcl/std.json @@ -1804,6 +1804,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -1835,6 +1837,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -3407,6 +3423,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -3438,6 +3456,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -5582,6 +5614,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -5613,6 +5647,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -7185,6 +7233,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -7216,6 +7266,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -8930,6 +8994,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -8961,6 +9027,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -10533,6 +10613,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -10564,6 +10646,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -12257,6 +12353,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -12288,6 +12386,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -13860,6 +13972,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -13891,6 +14005,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -15595,6 +15723,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -15626,6 +15756,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -17198,6 +17342,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -17229,6 +17375,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -18922,6 +19082,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -18953,6 +19115,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -20525,6 +20701,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -20556,6 +20734,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -22260,6 +22452,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -22291,6 +22485,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -23863,6 +24071,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -23894,6 +24104,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -25587,6 +25811,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -25618,6 +25844,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -27190,6 +27430,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -27221,6 +27463,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -29368,6 +29624,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -29399,6 +29657,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -30971,6 +31243,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -31002,6 +31276,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -32695,6 +32983,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -32726,6 +33016,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -34298,6 +34602,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -34329,6 +34635,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -36018,6 +36338,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -36049,6 +36371,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -37621,6 +37957,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -37652,6 +37990,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -39345,6 +39697,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -39376,6 +39730,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -40948,6 +41316,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -40979,6 +41349,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -42668,6 +43052,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -42699,6 +43085,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -44271,6 +44671,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -44302,6 +44704,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -45995,6 +46411,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -46026,6 +46444,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -47598,6 +48030,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -47629,6 +48063,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -49365,6 +49813,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -49396,6 +49846,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -50968,6 +51432,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -50999,6 +51465,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -52692,6 +53172,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -52723,6 +53205,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -54295,6 +54791,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -54326,6 +54824,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -56383,6 +56895,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -56414,6 +56928,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -57986,6 +58514,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -58017,6 +58547,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -59710,6 +60254,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -59741,6 +60287,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -61313,6 +61873,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -61344,6 +61906,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -64091,6 +64667,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -64122,6 +64700,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -66691,6 +67283,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -66722,6 +67316,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -68689,6 +69297,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -68720,6 +69330,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -71137,6 +71761,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -71168,6 +71794,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -72863,6 +73503,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -72894,6 +73536,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -74466,6 +75122,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -74497,6 +75155,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -76162,6 +76834,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -76193,6 +76867,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -77765,6 +78453,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -77796,6 +78486,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -79489,6 +80193,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -79520,6 +80226,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -81092,6 +81812,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -81123,6 +81845,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -82857,6 +83593,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -82888,6 +83626,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -84466,6 +85218,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -84497,6 +85251,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -86514,6 +87282,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -86545,6 +87315,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -88775,6 +89559,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -88806,6 +89592,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -90829,6 +91629,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -90860,6 +91662,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -93906,6 +94722,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -93937,6 +94755,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -96506,6 +97338,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -96537,6 +97371,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -100595,6 +101443,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -100626,6 +101476,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -103155,6 +104019,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -103186,6 +104052,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -105171,6 +106051,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -105202,6 +106084,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -106780,6 +107676,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -106811,6 +107709,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -108828,6 +109740,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -108859,6 +109773,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -110525,6 +111453,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -110556,6 +111486,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -112128,6 +113072,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -112159,6 +113105,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -113812,6 +114772,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -113843,6 +114805,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -115415,6 +116391,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -115446,6 +116424,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -117801,6 +118793,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -117832,6 +118826,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -119404,6 +120412,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -119435,6 +120445,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -121109,6 +122133,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -121140,6 +122166,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -122712,6 +123752,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -122743,6 +123785,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -124557,6 +125613,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -124588,6 +125646,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -126160,6 +127232,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -126191,6 +127265,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -127884,6 +128972,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -127915,6 +129005,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -129487,6 +130591,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -129518,6 +130624,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -131197,6 +132317,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -131228,6 +132350,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -132800,6 +133936,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -132831,6 +133969,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -134524,6 +135676,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -134555,6 +135709,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -136127,6 +137295,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -136158,6 +137328,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -138081,6 +139265,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -138112,6 +139298,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -139690,6 +140890,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -139721,6 +140923,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -141738,6 +142954,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -141769,6 +142987,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -143803,6 +145035,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -143834,6 +145068,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -146115,6 +147363,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -146146,6 +147396,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -148169,6 +149433,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -148200,6 +149466,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -150234,6 +151514,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -150265,6 +151547,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -152288,6 +153584,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -152319,6 +153617,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -153897,6 +155209,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -153928,6 +155242,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -155945,6 +157273,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -155976,6 +157306,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -158010,6 +159354,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -158041,6 +159387,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -160306,6 +161666,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -160337,6 +161699,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -162360,6 +163736,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -162391,6 +163769,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -164425,6 +165817,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -164456,6 +165850,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -167019,6 +168427,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -167050,6 +168460,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -169073,6 +170497,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -169104,6 +170530,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -171138,6 +172578,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -171169,6 +172611,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -173268,6 +174724,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -173299,6 +174757,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -174871,6 +176343,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -174902,6 +176376,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -176581,6 +178069,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -176612,6 +178102,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -178184,6 +179688,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -178215,6 +179721,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -179889,6 +181409,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -179920,6 +181442,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -181492,6 +183028,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -181523,6 +183061,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -183775,6 +185327,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -183806,6 +185360,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -185378,6 +186946,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -185409,6 +186979,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -187621,6 +189205,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -187652,6 +189238,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -192634,6 +194234,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -192665,6 +194267,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -195194,6 +196810,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -195225,6 +196843,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -197536,6 +199168,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -197567,6 +199201,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -199665,6 +201313,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -199696,6 +201346,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -201268,6 +202932,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -201299,6 +202965,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -202980,6 +204660,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -203011,6 +204693,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -204583,6 +206279,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -204614,6 +206312,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -206491,6 +208203,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -206522,6 +208236,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -209230,6 +210958,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -209261,6 +210991,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -211405,6 +213149,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -211436,6 +213182,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -213008,6 +214768,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -213039,6 +214801,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -214732,6 +216508,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -214763,6 +216541,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -216335,6 +218127,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -216366,6 +218160,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -218044,6 +219852,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -218075,6 +219885,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -219647,6 +221471,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -219678,6 +221504,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -221371,6 +223211,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -221402,6 +223244,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -222974,6 +224830,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -223005,6 +224863,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -224767,6 +226639,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -224798,6 +226672,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -226370,6 +228258,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -226401,6 +228291,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -228094,6 +229998,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -228125,6 +230031,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -229697,6 +231617,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -229728,6 +231650,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -231401,6 +233337,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -231432,6 +233370,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -233004,6 +234956,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -233035,6 +234989,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -234728,6 +236696,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -234759,6 +236729,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -236331,6 +238315,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -236362,6 +238348,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -238035,6 +240035,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -238066,6 +240068,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -239638,6 +241654,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -239669,6 +241687,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -241362,6 +243394,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -241393,6 +243427,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -242965,6 +245013,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -242996,6 +245046,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -244669,6 +246733,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -244700,6 +246766,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -246272,6 +248352,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -246303,6 +248385,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -247996,6 +250092,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -248027,6 +250125,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", @@ -249599,6 +251711,8 @@ "type": "object", "required": [ "__geoMeta", + "ccw", + "center", "from", "to", "type" @@ -249630,6 +251744,20 @@ } } }, + "ccw": { + "description": "arc's direction", + "type": "boolean" + }, + "center": { + "description": "the arc's center", + "type": "array", + "items": { + "type": "number", + "format": "double" + }, + "maxItems": 2, + "minItems": 2 + }, "from": { "description": "The from point.", "type": "array", diff --git a/docs/kcl/tangentialArc.md b/docs/kcl/tangentialArc.md index d495baa9a..20769d09d 100644 --- a/docs/kcl/tangentialArc.md +++ b/docs/kcl/tangentialArc.md @@ -172,6 +172,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -377,6 +381,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -584,6 +592,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -789,6 +801,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/tangentialArcTo.md b/docs/kcl/tangentialArcTo.md index 662a2f765..8ad844e01 100644 --- a/docs/kcl/tangentialArcTo.md +++ b/docs/kcl/tangentialArcTo.md @@ -162,6 +162,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -367,6 +371,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -574,6 +582,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -779,6 +791,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/xLine.md b/docs/kcl/xLine.md index 31798e551..43a628633 100644 --- a/docs/kcl/xLine.md +++ b/docs/kcl/xLine.md @@ -165,6 +165,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -370,6 +374,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -577,6 +585,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -782,6 +794,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/xLineTo.md b/docs/kcl/xLineTo.md index 8c7bd0f1a..2c6910b81 100644 --- a/docs/kcl/xLineTo.md +++ b/docs/kcl/xLineTo.md @@ -165,6 +165,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -370,6 +374,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -577,6 +585,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -782,6 +794,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/yLine.md b/docs/kcl/yLine.md index 7c389524a..eb97ce4ae 100644 --- a/docs/kcl/yLine.md +++ b/docs/kcl/yLine.md @@ -163,6 +163,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -368,6 +372,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -575,6 +583,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -780,6 +792,10 @@ const example = extrude(10, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/docs/kcl/yLineTo.md b/docs/kcl/yLineTo.md index f33290a15..ab5671c8f 100644 --- a/docs/kcl/yLineTo.md +++ b/docs/kcl/yLineTo.md @@ -161,6 +161,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -366,6 +370,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -573,6 +581,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. @@ -778,6 +790,10 @@ const example = extrude(5, exampleSketch) type: "TangentialArcTo", } | { + // arc's direction + ccw: string, + // the arc's center + center: [number, number], // The from point. from: [number, number], // The tag of the path. diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 79928e0c4..271b67d58 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -2672,9 +2672,9 @@ dependencies = [ [[package]] name = "kittycad" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36b87a9cca545825ba18005c1944b8525fac28867d99984178bf22c79fb5ec25" +checksum = "3d798c82f6e62d786fca0a7ec073675bbe9550c885efb99390d2701ca557ec69" dependencies = [ "anyhow", "async-trait", diff --git a/src/wasm-lib/Cargo.lock b/src/wasm-lib/Cargo.lock index a7d879a67..1ecb75159 100644 --- a/src/wasm-lib/Cargo.lock +++ b/src/wasm-lib/Cargo.lock @@ -1480,9 +1480,9 @@ dependencies = [ [[package]] name = "kittycad" -version = "0.3.9" +version = "0.3.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36b87a9cca545825ba18005c1944b8525fac28867d99984178bf22c79fb5ec25" +checksum = "3d798c82f6e62d786fca0a7ec073675bbe9550c885efb99390d2701ca557ec69" dependencies = [ "anyhow", "async-trait", @@ -1858,7 +1858,7 @@ dependencies = [ "bincode", "either", "fnv", - "itertools 0.12.1", + "itertools 0.10.5", "lazy_static", "nom", "quick-xml", diff --git a/src/wasm-lib/kcl/src/executor.rs b/src/wasm-lib/kcl/src/executor.rs index 0354c3916..ab142476d 100644 --- a/src/wasm-lib/kcl/src/executor.rs +++ b/src/wasm-lib/kcl/src/executor.rs @@ -1017,6 +1017,11 @@ impl SketchGroup { }; }; match path { + Path::TangentialArc { center, ccw, .. } => GetTangentialInfoFromPathsResult { + center_or_tangent_point: *center, + is_center: true, + ccw: *ccw, + }, Path::TangentialArcTo { center, ccw, .. } => GetTangentialInfoFromPathsResult { center_or_tangent_point: *center, is_center: true, @@ -1346,6 +1351,11 @@ pub enum Path { TangentialArc { #[serde(flatten)] base: BasePath, + /// the arc's center + #[ts(type = "[number, number]")] + center: [f64; 2], + /// arc's direction + ccw: bool, }, /// A path that is horizontal. Horizontal { @@ -1378,7 +1388,7 @@ impl Path { Path::AngledLineTo { base, .. } => base.geo_meta.id, Path::Base { base } => base.geo_meta.id, Path::TangentialArcTo { base, .. } => base.geo_meta.id, - Path::TangentialArc { base } => base.geo_meta.id, + Path::TangentialArc { base, .. } => base.geo_meta.id, } } @@ -1389,7 +1399,7 @@ impl Path { Path::AngledLineTo { base, .. } => base.tag.clone(), Path::Base { base } => base.tag.clone(), Path::TangentialArcTo { base, .. } => base.tag.clone(), - Path::TangentialArc { base } => base.tag.clone(), + Path::TangentialArc { base, .. } => base.tag.clone(), } } @@ -1400,7 +1410,7 @@ impl Path { Path::AngledLineTo { base, .. } => base, Path::Base { base } => base, Path::TangentialArcTo { base, .. } => base, - Path::TangentialArc { base } => base, + Path::TangentialArc { base, .. } => base, } } @@ -1411,7 +1421,7 @@ impl Path { Path::AngledLineTo { base, .. } => Some(base), Path::Base { base } => Some(base), Path::TangentialArcTo { base, .. } => Some(base), - Path::TangentialArc { base } => Some(base), + Path::TangentialArc { base, .. } => Some(base), } } } diff --git a/src/wasm-lib/kcl/src/std/sketch.rs b/src/wasm-lib/kcl/src/std/sketch.rs index 6218b145b..510188f9b 100644 --- a/src/wasm-lib/kcl/src/std/sketch.rs +++ b/src/wasm-lib/kcl/src/std/sketch.rs @@ -1681,42 +1681,65 @@ async fn inner_tangential_arc( args: Args, ) -> Result, KclError> { let from: Point2d = sketch_group.current_pen_position()?; + // next set of lines is some undocumented voodoo from get_tangential_arc_to_info + let tangent_info = sketch_group.get_tangential_info_from_paths(); //this function desperately needs some documentation + let tan_previous_point = if tangent_info.is_center { + get_tangent_point_from_previous_arc(tangent_info.center_or_tangent_point, tangent_info.ccw, from.into()) + } else { + tangent_info.center_or_tangent_point + }; let id = uuid::Uuid::new_v4(); - let to = match &data { + let (center, to, ccw) = match data { TangentialArcData::RadiusAndOffset { radius, offset } => { + // KCL stdlib types use degrees. + let offset = Angle::from_degrees(offset); + // Calculate the end point from the angle and radius. - let end_angle = Angle::from_degrees(*offset); - let start_angle = Angle::from_degrees(0.0); - let (_, to) = arc_center_and_end(from, start_angle, end_angle, *radius); + // atan2 outputs radians. + let previous_end_tangent = Angle::from_radians(f64::atan2( + from.y - tan_previous_point[1], + from.x - tan_previous_point[0], + )); + // make sure the arc center is on the correct side to guarantee deterministic behavior + // note the engine automatically rejects an offset of zero, if we want to flag that at KCL too to avoid engine errors + let ccw = offset.degrees() > 0.0; + let tangent_to_arc_start_angle = if ccw { + // CCW turn + Angle::from_degrees(-90.0) + } else { + // CW turn + Angle::from_degrees(90.0) + }; + // may need some logic and / or modulo on the various angle values to prevent them from going "backwards" + // but the above logic *should* capture that behavior + let start_angle = previous_end_tangent + tangent_to_arc_start_angle; + let end_angle = start_angle + offset; + let (center, to) = arc_center_and_end(from, start_angle, end_angle, radius); args.batch_modeling_cmd( id, ModelingCmd::ExtendPath { path: sketch_group.id, - segment: kittycad::types::PathSegment::TangentialArc { - radius: *radius, - offset: Angle { - unit: kittycad::types::UnitAngle::Degrees, - value: *offset, - }, - }, + segment: kittycad::types::PathSegment::TangentialArc { radius, offset }, }, ) .await?; - to.into() + (center, to.into(), ccw) } TangentialArcData::Point(to) => { - args.batch_modeling_cmd(id, tan_arc_to(&sketch_group, to)).await?; - - *to + args.batch_modeling_cmd(id, tan_arc_to(&sketch_group, &to)).await?; + // TODO: Figure out these calculations. + let ccw = false; + let center = Point2d { x: 0.0, y: 0.0 }; + (center, to, ccw) } }; - let to = [from.x + to[0], from.y + to[1]]; - let current_path = Path::TangentialArc { + ccw, + center: center.into(), base: BasePath { from: from.into(), to, diff --git a/src/wasm-lib/kcl/src/std/utils.rs b/src/wasm-lib/kcl/src/std/utils.rs index e44f1e32d..273cc6392 100644 --- a/src/wasm-lib/kcl/src/std/utils.rs +++ b/src/wasm-lib/kcl/src/std/utils.rs @@ -833,6 +833,7 @@ pub fn get_tangent_point_from_previous_arc( ) -> Coords2d { let angle_from_old_center_to_arc_start = get_angle(last_arc_center, last_arc_end); let tangential_angle = angle_from_old_center_to_arc_start + if last_arc_ccw { -90.0 } else { 90.0 }; + // What is the 10.0 constant doing??? [ tangential_angle.to_radians().cos() * 10.0 + last_arc_end[0], tangential_angle.to_radians().sin() * 10.0 + last_arc_end[1], diff --git a/src/wasm-lib/tests/executor/inputs/tan_arc_x_line.kcl b/src/wasm-lib/tests/executor/inputs/tan_arc_x_line.kcl new file mode 100644 index 000000000..2516efe54 --- /dev/null +++ b/src/wasm-lib/tests/executor/inputs/tan_arc_x_line.kcl @@ -0,0 +1,25 @@ +let startX = 0 +let startY = 0 +let angleOffset = 135 +let r = 1 +let angleStart = 110 + +startSketchOn('XY') + |> startProfileAt([startX, startY], %) + |> angledLine({ + angle: angleStart, + length: .000001, + }, %) + |> tangentialArc({ + offset: angleOffset, + radius: r, + }, %, $arc1) + |> tangentialArc({ + offset: angleOffset, + radius: 0.5*r, + }, %, $arc2) + |> tangentialArc({ + offset: -angleOffset, + radius: 0.5*r, +}, %, $arc3) + |> xLineTo(1, %) diff --git a/src/wasm-lib/tests/executor/main.rs b/src/wasm-lib/tests/executor/main.rs index 17186b26c..173a1fc0c 100644 --- a/src/wasm-lib/tests/executor/main.rs +++ b/src/wasm-lib/tests/executor/main.rs @@ -31,6 +31,13 @@ async fn kcl_test_riddle_small() { assert_out("riddle_small", &result); } +#[tokio::test(flavor = "multi_thread")] +async fn kcl_test_tan_arc_x_line() { + let code = kcl_input!("tan_arc_x_line"); + let result = execute_and_snapshot(code, UnitLength::Mm).await.unwrap(); + assert_out("tan_arc_x_line", &result); +} + #[tokio::test(flavor = "multi_thread")] async fn kcl_test_lego() { let code = kcl_input!("lego"); diff --git a/src/wasm-lib/tests/executor/outputs/tan_arc_x_line.png b/src/wasm-lib/tests/executor/outputs/tan_arc_x_line.png new file mode 100644 index 000000000..b8b40c372 Binary files /dev/null and b/src/wasm-lib/tests/executor/outputs/tan_arc_x_line.png differ