|
|
|
@ -227,21 +227,17 @@ export function GetBoardSealingCurves(br: Board, offsetInside = false): Curve[]
|
|
|
|
|
if (brContour instanceof Circle)
|
|
|
|
|
return [brContour.Clone()];
|
|
|
|
|
|
|
|
|
|
if (br.IsRect)
|
|
|
|
|
brContour = new Polyline().Rectangle(br.Width, br.Height);
|
|
|
|
|
|
|
|
|
|
if (offsetInside)
|
|
|
|
|
{
|
|
|
|
|
let dir = Math.sign(brContour.Area2);
|
|
|
|
|
let offsetedCurve = brContour.GetOffsetCurves(-1 * dir)[0] as Polyline;
|
|
|
|
|
if (br.IsSpecialShape && OffsetOutlineSpNotChange(brContour, offsetedCurve))
|
|
|
|
|
if (OffsetOutlineSpNotChange(brContour, offsetedCurve))
|
|
|
|
|
brContour = offsetedCurve;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//避免共线导致的侧面数据对应错误
|
|
|
|
|
let curves = brContour.Explode();
|
|
|
|
|
if (br.IsSpecialShape)
|
|
|
|
|
MergeCurvelist(curves);
|
|
|
|
|
MergeCurvelist(curves);
|
|
|
|
|
|
|
|
|
|
if (curves.length === 1 && curves[0] instanceof Circle)//变成一个圆
|
|
|
|
|
return curves;
|
|
|
|
|