|
|
|
@ -1,6 +1,5 @@
|
|
|
|
|
import { app } from "../../ApplicationServices/Application";
|
|
|
|
|
import { CommandNames } from "../../Common/CommandNames";
|
|
|
|
|
import { ExtrudeHole } from "../../DatabaseServices/3DSolid/ExtrudeHole";
|
|
|
|
|
import { Board } from "../../DatabaseServices/Entity/Board";
|
|
|
|
|
import { HardwareCompositeEntity } from "../../DatabaseServices/Hardware/HardwareCompositeEntity";
|
|
|
|
|
import { CuttingBoardByHardware } from "./CuttingUtils2";
|
|
|
|
@ -18,7 +17,7 @@ export class HardwareCuttingReactor
|
|
|
|
|
if (!this.EnableHardware && !hardwareCmds.has(cmdName)) return;
|
|
|
|
|
|
|
|
|
|
let brs = new Set<Board>();
|
|
|
|
|
let hardwaresAndExtrudeHoles: (HardwareCompositeEntity | ExtrudeHole)[] = [];
|
|
|
|
|
let hardwares: HardwareCompositeEntity[] = [];
|
|
|
|
|
|
|
|
|
|
for (let e of createObjects)
|
|
|
|
|
{
|
|
|
|
@ -27,18 +26,16 @@ export class HardwareCuttingReactor
|
|
|
|
|
if (e instanceof Board)
|
|
|
|
|
brs.add(e);
|
|
|
|
|
else if (e instanceof HardwareCompositeEntity && e.HardwareOption.isHole)
|
|
|
|
|
hardwaresAndExtrudeHoles.push(e);
|
|
|
|
|
else if (e instanceof ExtrudeHole && e.isHole)
|
|
|
|
|
hardwaresAndExtrudeHoles.push(e);
|
|
|
|
|
hardwares.push(e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (hardwaresAndExtrudeHoles.length > 0)
|
|
|
|
|
await this.StartReactor(hardwaresAndExtrudeHoles, brs);
|
|
|
|
|
if (hardwares.length > 0)
|
|
|
|
|
await this.StartReactor(hardwares, brs);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async StartReactor(hardwares: (HardwareCompositeEntity | ExtrudeHole)[], ents: Set<Board>)
|
|
|
|
|
async StartReactor(hardwares: HardwareCompositeEntity[], ents: Set<Board>)
|
|
|
|
|
{
|
|
|
|
|
let brs: Board[] = [];
|
|
|
|
|
for (let ent of app.Database.ModelSpace.Entitys)
|
|
|
|
|