fix #ILSUB 画板时用Jig

pull/88/head
Zoe 6 years ago
parent d784fa6cdc
commit 3fe0040f9e

@ -8,6 +8,7 @@ import { MoveMatrix } from '../../Geometry/GeUtils';
import { BoardModal, BoardModalType } from '../../UI/Components/Board/BoardModal'; import { BoardModal, BoardModalType } from '../../UI/Components/Board/BoardModal';
import { ModalPosition } from '../../UI/Components/Modal/ModalsManage'; import { ModalPosition } from '../../UI/Components/Modal/ModalsManage';
import { SideBoardStore } from '../../UI/Store/BoardStore'; import { SideBoardStore } from '../../UI/Store/BoardStore';
import { Jig } from '../../Editor/Jig';
export class DrawLeftRight implements Command export class DrawLeftRight implements Command
@ -26,28 +27,26 @@ export class DrawLeftRight implements Command
let thickness = parseFloat(data.thickness); let thickness = parseFloat(data.thickness);
let spacing = parseFloat(data.spaceSize); let spacing = parseFloat(data.spaceSize);
let leftBarod = Board.CreateBoard(lenght, width, thickness, BoardType.Vertical) let leftBoard = Jig.Draw(Board.CreateBoard(lenght, width, thickness, BoardType.Vertical));
let rightBoard = Board.CreateBoard(lenght, width, thickness, BoardType.Vertical); let rightBoard = Jig.Draw(Board.CreateBoard(lenght, width, thickness, BoardType.Vertical));
rightBoard.ApplyMatrix(MoveMatrix(new Vector3(spacing - thickness))); rightBoard.ApplyMatrix(MoveMatrix(new Vector3(spacing - thickness)));
app.m_Database.ModelSpace.Append(leftBarod);
app.m_Database.ModelSpace.Append(rightBoard);
let ptRes = await app.m_Editor.GetPoint({ let ptRes = await app.m_Editor.GetPoint({
Msg: "请拾取基点:", Msg: "请拾取基点:",
Callback: (v) => Callback: (v) =>
{ {
let currentPt = leftBarod.Position; let vec = v.clone().sub(leftBoard.Position);
let vec = v.clone().sub(currentPt); leftBoard.ApplyMatrix(MoveMatrix(vec));
leftBarod.ApplyMatrix(MoveMatrix(vec));
rightBoard.ApplyMatrix(MoveMatrix(vec)) rightBoard.ApplyMatrix(MoveMatrix(vec))
} }
}); });
if (ptRes.Status === PromptStatus.Cancel)
Jig.End();
if (ptRes.Status === PromptStatus.OK)
{ {
rightBoard.Erase(); app.m_Database.ModelSpace.Append(leftBoard);
leftBarod.Erase(); app.m_Database.ModelSpace.Append(rightBoard);
} }
} }
} }

@ -7,6 +7,7 @@ import { MoveMatrix } from '../../Geometry/GeUtils';
import { BoardModal, BoardModalType } from '../../UI/Components/Board/BoardModal'; import { BoardModal, BoardModalType } from '../../UI/Components/Board/BoardModal';
import { ModalPosition } from '../../UI/Components/Modal/ModalsManage'; import { ModalPosition } from '../../UI/Components/Modal/ModalsManage';
import { SingleBoardStore } from '../../UI/Store/BoardStore'; import { SingleBoardStore } from '../../UI/Store/BoardStore';
import { Jig } from '../../Editor/Jig';
export class DrawSingleBoard implements Command export class DrawSingleBoard implements Command
{ {
@ -18,21 +19,22 @@ export class DrawSingleBoard implements Command
app.m_Editor.m_ModalManage.Callback = async () => app.m_Editor.m_ModalManage.Callback = async () =>
{ {
let opt = store.m_BoardOption; let opt = store.m_BoardOption;
let board = Board.CreateBoard(parseFloat(opt.height), parseFloat(opt.width), parseFloat(opt.thickness), opt.type); let board = Jig.Draw(Board.CreateBoard(parseFloat(opt.height), parseFloat(opt.width), parseFloat(opt.thickness), opt.type));
app.m_Database.ModelSpace.Append(board);
let ptRes = await app.m_Editor.GetPoint({ let ptRes = await app.m_Editor.GetPoint({
Msg: "选择基点", Msg: "选择基点",
Callback: v => Callback: v =>
{ {
let oldPt = board.Position; let vec = v.clone().sub(board.Position);
let vec = v.clone().sub(oldPt);
board.ApplyMatrix(MoveMatrix(vec)); board.ApplyMatrix(MoveMatrix(vec));
} }
}); });
if (ptRes.Status === PromptStatus.Cancel)
Jig.End();
if (ptRes.Status === PromptStatus.OK)
{ {
board.Erase(); app.m_Database.ModelSpace.Append(board);
} }
} }
} }

Loading…
Cancel
Save