|
|
@ -1,4 +1,4 @@
|
|
|
|
import { Box3, Matrix4, Vector3 } from "three";
|
|
|
|
import { Matrix4, Vector3 } from "three";
|
|
|
|
import { HostApplicationServices } from "../../ApplicationServices/HostApplicationServices";
|
|
|
|
import { HostApplicationServices } from "../../ApplicationServices/HostApplicationServices";
|
|
|
|
import { EBoardKeyList } from "../../Common/BoardKeyList";
|
|
|
|
import { EBoardKeyList } from "../../Common/BoardKeyList";
|
|
|
|
import { CylinderHole, GangDrillType } from "../../DatabaseServices/3DSolid/CylinderHole";
|
|
|
|
import { CylinderHole, GangDrillType } from "../../DatabaseServices/3DSolid/CylinderHole";
|
|
|
@ -9,6 +9,7 @@ import { Circle } from "../../DatabaseServices/Entity/Circle";
|
|
|
|
import { Curve } from "../../DatabaseServices/Entity/Curve";
|
|
|
|
import { Curve } from "../../DatabaseServices/Entity/Curve";
|
|
|
|
import { Line } from "../../DatabaseServices/Entity/Line";
|
|
|
|
import { Line } from "../../DatabaseServices/Entity/Line";
|
|
|
|
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
|
|
|
|
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
|
|
|
|
|
|
|
|
import { Box3Ext } from "../../Geometry/Box";
|
|
|
|
import { ZAxis, isParallelTo, rotatePoint } from "../../Geometry/GeUtils";
|
|
|
|
import { ZAxis, isParallelTo, rotatePoint } from "../../Geometry/GeUtils";
|
|
|
|
import { DrillType } from "./DrillType";
|
|
|
|
import { DrillType } from "./DrillType";
|
|
|
|
|
|
|
|
|
|
|
@ -20,7 +21,7 @@ export function CyHoleInBoard(cys: CylinderHole[], br: Board, ocs: Matrix4, chec
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
|
|
|
|
|
|
|
|
const outline = br.ContourCurve;
|
|
|
|
const outline = br.ContourCurve;
|
|
|
|
let box = new Box3();
|
|
|
|
let box = new Box3Ext();
|
|
|
|
let pxl: CylinderHole;
|
|
|
|
let pxl: CylinderHole;
|
|
|
|
let ljg: CylinderHole;
|
|
|
|
let ljg: CylinderHole;
|
|
|
|
let ymj: CylinderHole;
|
|
|
|
let ymj: CylinderHole;
|
|
|
@ -51,7 +52,7 @@ export function CyHoleInBoard(cys: CylinderHole[], br: Board, ocs: Matrix4, chec
|
|
|
|
let outlineBox = outline.BoundingBox;
|
|
|
|
let outlineBox = outline.BoundingBox;
|
|
|
|
outlineBox.max.setZ(br.Thickness);
|
|
|
|
outlineBox.max.setZ(br.Thickness);
|
|
|
|
|
|
|
|
|
|
|
|
if (!box.intersectsBox(outlineBox))
|
|
|
|
if (!box.intersectsBox(outlineBox, 1e-5))
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
|
|
|
|
|
|
|
|
let nor = new Vector3();
|
|
|
|
let nor = new Vector3();
|
|
|
|