!2668 修复:弧形板偏心轮模拟走刀孔位丢失

Merge pull request !2668 from 林三/fix_outline_size
pull/2671/MERGE
林三 6 months ago
parent 144441bdb7
commit a8b1cf83be

@ -504,6 +504,12 @@ export namespace Production
let cus = br.SweepVisibleFace === FaceDirection.Front ? ArcBoardBuild.SweepCurves2 : ArcBoardBuild.SweepCurves1;
let brBoxSize = br.Shape.Outline.Curve.Clone().ApplyMatrix(ArcBoardBuild.Rotate2OCSMtx).BoundingBox.getSize(new Vector3);
if (br.SweepAngle)
{
let extrude = Board.CreateBoard(brBoxSize.y, brBoxSize.x, 1);
sealedContour = extrude.ContourCurve;
}
let currentLength = 0;
for (let cu of cus)
{
@ -522,11 +528,8 @@ export namespace Production
let ocs = br.OCS;
if (br.SweepAngle)
{
ocs.multiply(ArcBoardBuild.Rotate2OCSMtx);
let extrude = Board.CreateBoard(brBoxSize.y, cu.Length, 1);
sealedContour = extrude.ContourCurve;
}
ocs.multiply(m.setPosition(cu.StartPoint.clone().applyMatrix4(new Matrix4().makeRotationX(Math.PI / 2))));
for (let [, driss] of br.DrillList)
@ -688,6 +691,10 @@ export namespace Production
{
addPos = cyHole["__CacheAddPos__"];
let ocs = cyHole["__CacheBrOCS__"];
cyHole["__CacheAddPos__"] = undefined;
cyHole["__CacheBrOCS__"] = undefined;
if (!ocs || !addPos)
return;
else
@ -721,8 +728,8 @@ export namespace Production
{
if (isParallelTo(cyHole.Normal, brNormal, CanDrawHoleFuzz))
{
if (!IsBetweenA2B(position.x, -cyHole.Radius, br.Width + cyHole.Radius, 1e-6)
|| !IsBetweenA2B(position.y, -cyHole.Radius, br.Height + cyHole.Radius, 1e-6)
if (!IsBetweenA2B(position.x, -cyHole.Radius, outlineWidth + cyHole.Radius, 1e-6)
|| !IsBetweenA2B(position.y, -cyHole.Radius, outlineHeight + cyHole.Radius, 1e-6)
|| !HoleInBoard(position.clone().setZ(0), cyHole.Radius, outline, cyHole.AllowPxl)) return;
position.sub(offsetTanslation);
@ -841,9 +848,6 @@ export namespace Production
position.applyMatrix4(ocsInv);
endPt?.applyMatrix4(ocsInv);
}
cyHole["__CacheAddPos__"] = undefined;
cyHole["__CacheBrOCS__"] = undefined;
}
holes.push({

Loading…
Cancel
Save