!2544 优化:矩形槽走刀在最后走刀时多走一个矩形刀问题

pull/2540/MERGE
黄诗津 9 months ago committed by ChenX
parent f4a4f21fb8
commit f6ba152f0e

@ -94,12 +94,15 @@ export class FeedingToolPath extends Singleton
let tempOffsetCus = GetOffsetCurves(outline, offsetDist * dir, rectInfo);
retCus.push(...tempOffsetCus);
//最后一次内偏移如果是矩形,需在偏移一个刀半径避免没切到中心
//最后一次内偏移如果是矩形
if (retCus.length === 0 && rectInfo && offsetDist > knifRadius)
{
offsetDist -= knifRadius;
if (hasRedK) offsetDist += redundancyKnif;
retCus.push(...GetOffsetCurves(outline, offsetDist * dir, rectInfo));
const rectMinLengthHalf = Math.min(rectInfo.size.x, rectInfo.size.y) / 2;
//如果最后一个矩形最小边区间一半小于刀半径减去冗余值的一半,则偏移到中心处切一次
if (!equaln(offsetDist, rectMinLengthHalf, 1e-5) && offsetDist - rectMinLengthHalf - 1e-5 < knifRadius - redundancyKnif / 2)
{
retCus.push(...GetOffsetCurves(outline, rectMinLengthHalf * dir, rectInfo));
}
}
if (retCus.length === 0) break;

Loading…
Cancel
Save