|
|
|
@ -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({
|
|
|
|
|