From 6dc7a8625db21b591dadf788224d5ccac25cb3b0 Mon Sep 17 00:00:00 2001 From: ChenX Date: Thu, 29 Oct 2020 17:20:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=82=E5=BD=A2=E4=BC=98=E5=8C=96:=E9=81=BF?= =?UTF-8?q?=E5=85=8D=E5=9C=86=E5=BD=A2=E5=AD=94=E6=B4=9E=E6=88=96=E8=80=85?= =?UTF-8?q?=E5=9C=86=E5=BD=A2=E8=BD=AE=E5=BB=93=E8=A2=AB=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E6=88=96=E8=80=85=E4=BC=98=E5=8C=96=E6=88=90=E7=9F=A9=E5=BD=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Nest/Converter/ConverBoard2Part.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Nest/Converter/ConverBoard2Part.ts b/src/Nest/Converter/ConverBoard2Part.ts index 43219d09b..cd4021770 100644 --- a/src/Nest/Converter/ConverBoard2Part.ts +++ b/src/Nest/Converter/ConverBoard2Part.ts @@ -101,9 +101,12 @@ export function ConverBoard2Part(board: Board, knifRadius = 3.5): Part arrayRemoveDuplicateBySort(pts, (p1, p2) => equalv2(p1, p2, 1e-2)); path = new Path(pts); - let area = path.BoundingBox.area - path.Area; - if (area < 15000 && pts.length > 6) - path = NestCache.CreatePath(board.Width, board.Height, knifRadius); + if (!(board.ContourCurve instanceof Circle))//如果是圆则不用优化成矩形 + { + let area = path.BoundingBox.area - path.Area; + if (area < 15000 && pts.length > 6) + path = NestCache.CreatePath(board.Width, board.Height, knifRadius); + } } part.Init2(path, DefaultBin, Rotations[board.BoardProcessOption.lines]); for (let m of board.BoardModeling) @@ -116,7 +119,7 @@ export function ConverBoard2Part(board: Board, knifRadius = 3.5): Part part.UserData.push(m.shape.Outline.Curve.Clone()); let path = new Path(pts); - if (path.Area > 15000) + if ((m.shape.Outline.Curve instanceof Circle) || path.Area > 15000)//如果是圆,则不优化过滤小孔洞 part.AppendHole(path); } }