From bd26153954c35ecdc3d9d50180b06a3a39831b2b Mon Sep 17 00:00:00 2001 From: ChenX Date: Wed, 19 Feb 2020 15:50:08 +0800 Subject: [PATCH] =?UTF-8?q?!746=20=E4=BC=98=E5=8C=96=E5=A4=9A=E6=AE=B5?= =?UTF-8?q?=E7=BA=BF=E6=B1=82=E4=BA=A4=E6=97=B6=E7=9A=84=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __test__/Booloperate/__snapshots__/bool3.test.ts.snap | 4 ++-- .../__snapshots__/FeedingToolPath.test.ts.snap | 4 ++-- src/GraphicsSystem/IntersectWith.ts | 10 ++++------ 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/__test__/Booloperate/__snapshots__/bool3.test.ts.snap b/__test__/Booloperate/__snapshots__/bool3.test.ts.snap index 6c3c1013a..5073044de 100644 --- a/__test__/Booloperate/__snapshots__/bool3.test.ts.snap +++ b/__test__/Booloperate/__snapshots__/bool3.test.ts.snap @@ -1,5 +1,5 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`布尔_误差共线_误差交点 1`] = `739590.0297771678`; +exports[`布尔_误差共线_误差交点 1`] = `739590.0293744556`; -exports[`布尔_误差共线_误差交点 2`] = `739582.752529773`; +exports[`布尔_误差共线_误差交点 2`] = `739582.752084238`; diff --git a/__test__/FeedingToolPath/__snapshots__/FeedingToolPath.test.ts.snap b/__test__/FeedingToolPath/__snapshots__/FeedingToolPath.test.ts.snap index 726ef5ef8..12792be4b 100644 --- a/__test__/FeedingToolPath/__snapshots__/FeedingToolPath.test.ts.snap +++ b/__test__/FeedingToolPath/__snapshots__/FeedingToolPath.test.ts.snap @@ -204,7 +204,7 @@ exports[`极限刀半径#I11UDE: 曲线长度 3`] = `10.71238898038469`; exports[`极限刀半径#I11UDE: 曲线长度 4`] = `10.71238898038469`; -exports[`极限刀半径#I11UDE: 曲线长度 5`] = `10.71238898038521`; +exports[`极限刀半径#I11UDE: 曲线长度 5`] = `10.71238898038469`; exports[`极限刀半径#I11UDE: 曲线长度 6`] = `10.712388980384734`; @@ -442,7 +442,7 @@ exports[`造型的外框和内框厚度等于刀直径: 曲线长度 2`] = `1468 exports[`造型的外框和内框厚度等于刀直径: 曲线长度 3`] = `10.71238898038469`; -exports[`造型的外框和内框厚度等于刀直径: 曲线长度 4`] = `10.712388980384869`; +exports[`造型的外框和内框厚度等于刀直径: 曲线长度 4`] = `10.71238898038469`; exports[`造型的外框和内框厚度等于刀直径: 曲线长度 5`] = `10.71238898038469`; diff --git a/src/GraphicsSystem/IntersectWith.ts b/src/GraphicsSystem/IntersectWith.ts index 0318dc399..dc764bb51 100644 --- a/src/GraphicsSystem/IntersectWith.ts +++ b/src/GraphicsSystem/IntersectWith.ts @@ -65,11 +65,11 @@ function CheckPointOnCurve(intRes: IntersectResult[], c1: Curve, c2: Curve, extT return intRes.filter(r => { if (!(extType & IntersectOption.ExtendThis)) - if (!c1.PtOnCurve3(r.pt, tolerance)) + if (!c1.ParamOnCurve(r.thisParam, tolerance)) return false; if (!(extType & IntersectOption.ExtendArg)) - if (!c2.PtOnCurve3(r.pt, tolerance)) + if (!c2.ParamOnCurve(r.argParam, tolerance)) return false; return true; }); @@ -428,14 +428,12 @@ export function IntersectPolylineAndCurve(pl: Polyline, cu: Curve, extType: Inte { return { pt: r.pt, - thisParam: pl.GetParamAtPoint(r.pt), - argParam: cu.GetParamAtPoint(r.pt), + thisParam: i + r.thisParam, + argParam: j + r.argParam, }; })); } } - intRes.sort((r1, r2) => comparePoint("xyz")(r1.pt, r2.pt)); - arrayRemoveDuplicateBySort(intRes, (r1, r2) => equalv3(r1.pt, r2.pt)); return intRes; }