|
|
|
@ -11,6 +11,7 @@ import { UpdateBoardInfoModal } from "../../UI/Components/Board/UpdateBoardInfos
|
|
|
|
|
import { AppToaster } from "../../UI/Components/Toaster";
|
|
|
|
|
import { DRILL_KEYS } from "../../UI/Store/BoardFindInterface";
|
|
|
|
|
import { updateBoardInfoStore } from "../../UI/Store/UpdateBoardInfoStore";
|
|
|
|
|
import { CuttingBoardByBoard } from "../BoardCutting/CuttingUtils2";
|
|
|
|
|
|
|
|
|
|
//根据板件名改属性
|
|
|
|
|
export class UpdateBoardInfos implements Command
|
|
|
|
@ -32,6 +33,8 @@ export class UpdateBoardInfos implements Command
|
|
|
|
|
|
|
|
|
|
const nameOptionMap = toJS(updateBoardInfoStore.nameOptionMap, { exportMapsAsObjects: false });
|
|
|
|
|
const currentOption = nameOptionMap.get(updateBoardInfoStore.currentBoardName);
|
|
|
|
|
let knifBoards: Board[] = [];
|
|
|
|
|
let knifrefBoards: Board[] = [];
|
|
|
|
|
|
|
|
|
|
for (let br of brs)
|
|
|
|
|
{
|
|
|
|
@ -39,16 +42,56 @@ export class UpdateBoardInfos implements Command
|
|
|
|
|
{
|
|
|
|
|
const option = nameOptionMap.get(br.Name);
|
|
|
|
|
if (option)
|
|
|
|
|
{
|
|
|
|
|
UpdateBoardInfos.ModifyBr(br, option);
|
|
|
|
|
if (option.condition.autoCutOption.isAutoCut)
|
|
|
|
|
{
|
|
|
|
|
if (option.condition.autoCutOption.isRelevance)
|
|
|
|
|
knifrefBoards.push(br);
|
|
|
|
|
else
|
|
|
|
|
knifBoards.push(br);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (currentOption && br.Name === updateBoardInfoStore.currentBoardName)
|
|
|
|
|
{
|
|
|
|
|
UpdateBoardInfos.ModifyBr(br, currentOption);
|
|
|
|
|
if (currentOption.condition.autoCutOption.isAutoCut)
|
|
|
|
|
{
|
|
|
|
|
if (currentOption.condition.autoCutOption.isRelevance)
|
|
|
|
|
knifrefBoards.push(br);
|
|
|
|
|
else
|
|
|
|
|
knifBoards.push(br);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (knifBoards.length > 0)
|
|
|
|
|
{
|
|
|
|
|
let meatBoards: Board[] = [];
|
|
|
|
|
let boards = new Set(knifBoards);
|
|
|
|
|
for (let ent of app.Database.ModelSpace.Entitys)
|
|
|
|
|
{
|
|
|
|
|
if (!ent.IsErase && ent instanceof Board && !boards.has(ent))
|
|
|
|
|
meatBoards.push(ent);
|
|
|
|
|
}
|
|
|
|
|
CuttingBoardByBoard(meatBoards, knifBoards, false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (knifrefBoards.length > 0)
|
|
|
|
|
{
|
|
|
|
|
let meatBoards: Board[] = [];
|
|
|
|
|
let boards = new Set(knifrefBoards);
|
|
|
|
|
for (let ent of app.Database.ModelSpace.Entitys)
|
|
|
|
|
{
|
|
|
|
|
if (!ent.IsErase && ent instanceof Board && !boards.has(ent))
|
|
|
|
|
meatBoards.push(ent);
|
|
|
|
|
}
|
|
|
|
|
CuttingBoardByBoard(meatBoards, knifrefBoards);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
static ModifyBr(br: Board, option: IUpdateBoardInfosOption)
|
|
|
|
|
{
|
|
|
|
|