清理m_开头的代码

pull/347/head
ChenX 5 years ago
parent 3cf98d905f
commit 4f6f4576d2

@ -1,19 +1,17 @@
import { Vector3 } from 'three';
import { CADFiler } from '../../src/DatabaseServices/CADFiler';
import { Curve } from '../../src/DatabaseServices/Entity/Curve';
import { Line } from '../../src/DatabaseServices/Entity/Line';
import { RegionParse } from './../../src/Geometry/RegionParse';
import { LoadCurvesFromFileData } from '../Utils/LoadEntity.util';
import { RegionParse } from './../../src/Geometry/RegionParse';
function expectReg(alg: RegionParse)
{
let data1 = alg.m_RegionsInternal.map(o =>
let data1 = alg.RegionsInternal.map(o =>
{
let res = [];
o.forEach(r => { res.push(r.to.position.toArray()) })
return res;
});
let data2 = alg.m_RegionsOutline.map(o =>
let data2 = alg.RegionsOutline.map(o =>
{
let res = [];
o.forEach(r => { res.push(r.to.position.toArray()) })
@ -43,10 +41,10 @@ test('两个相连的区域', () =>
culist.push(l1, l2, l3, l4, l5, l6, l7);
let g = new RegionParse(culist);
g.m_RegionsOutline.length //?
g.m_RegionsInternal.length //?
expect(g.m_RegionsOutline.length).toBe(2);
expect(g.m_RegionsInternal.length).toBe(0);
g.RegionsOutline.length //?
g.RegionsInternal.length //?
expect(g.RegionsOutline.length).toBe(2);
expect(g.RegionsInternal.length).toBe(0);
expectReg(g);
});
@ -67,10 +65,10 @@ test('区域内有分割-三角形', () =>
culist.push(l1, l2, l3, l4, l5);
let g = new RegionParse(culist);
g.m_RegionsOutline.length //?
g.m_RegionsInternal.length //?
expect(g.m_RegionsOutline.length).toBe(1);
expect(g.m_RegionsInternal.length).toBe(2);
g.RegionsOutline.length //?
g.RegionsInternal.length //?
expect(g.RegionsOutline.length).toBe(1);
expect(g.RegionsInternal.length).toBe(2);
expectReg(g);
});
@ -90,10 +88,10 @@ test('区域有延长线', () =>
culist.push(l1, l2, l3, l4, l5, l6);
let g = new RegionParse(culist);
g.m_RegionsOutline.length //?
g.m_RegionsInternal.length //?
expect(g.m_RegionsOutline.length).toBe(1);
expect(g.m_RegionsInternal.length).toBe(2);
g.RegionsOutline.length //?
g.RegionsInternal.length //?
expect(g.RegionsOutline.length).toBe(1);
expect(g.RegionsInternal.length).toBe(2);
expectReg(g);
});
@ -115,10 +113,10 @@ test('区域内多条线', () =>
culist.push(l1, l2, l3, l4, l5, l6, l7);
let g = new RegionParse(culist);
g.m_RegionsOutline.length //?
g.m_RegionsInternal.length //?
expect(g.m_RegionsOutline.length).toBe(1);
expect(g.m_RegionsInternal.length).toBe(3);
g.RegionsOutline.length //?
g.RegionsInternal.length //?
expect(g.RegionsOutline.length).toBe(1);
expect(g.RegionsInternal.length).toBe(3);
expectReg(g);
});
@ -142,10 +140,10 @@ test('包含区域', () =>
culist.push(l1, l2, l3, l4, l5, l6, l7, l8);
let g = new RegionParse(culist);
g.m_RegionsOutline.length //?
g.m_RegionsInternal.length //?
expect(g.m_RegionsOutline.length).toBe(2);
expect(g.m_RegionsInternal.length).toBe(0);
g.RegionsOutline.length //?
g.RegionsInternal.length //?
expect(g.RegionsOutline.length).toBe(2);
expect(g.RegionsInternal.length).toBe(0);
expectReg(g);
});
@ -173,10 +171,10 @@ test('测试复杂形状', () =>
]
let g = new RegionParse(culist);
g.m_RegionsOutline.length //?
g.m_RegionsInternal.length //?
expect(g.m_RegionsOutline.length).toBe(1);
expect(g.m_RegionsInternal.length).toBe(8);
g.RegionsOutline.length //?
g.RegionsInternal.length //?
expect(g.RegionsOutline.length).toBe(1);
expect(g.RegionsInternal.length).toBe(8);
expectReg(g);
});
@ -199,10 +197,10 @@ test('矩形套矩形', () =>
]
let g = new RegionParse(culist);
g.m_RegionsOutline.length //?
g.m_RegionsInternal.length //?
expect(g.m_RegionsOutline.length).toBe(1);
expect(g.m_RegionsInternal.length).toBe(4);
g.RegionsOutline.length //?
g.RegionsInternal.length //?
expect(g.RegionsOutline.length).toBe(1);
expect(g.RegionsInternal.length).toBe(4);
expectReg(g);
});
@ -221,10 +219,10 @@ test('保护伞', () =>
new Line(new Vector3().fromArray([-0.33498759305210946, 0.5583126550868487, 0]), new Vector3().fromArray([-2.0843672456575684, 1.9106699751861045, 0])),
]
let g = new RegionParse(culist);
g.m_RegionsOutline.length //?
g.m_RegionsInternal.length //?
expect(g.m_RegionsOutline.length).toBe(3);
expect(g.m_RegionsInternal.length).toBe(0);
g.RegionsOutline.length //?
g.RegionsInternal.length //?
expect(g.RegionsOutline.length).toBe(3);
expect(g.RegionsInternal.length).toBe(0);
expectReg(g);
});
@ -237,6 +235,6 @@ test('带圆弧的复杂图形测试', () =>
)
let g = new RegionParse(cus);
expect(g.m_RegionsInternal.length).toBe(7);
expect(g.m_RegionsOutline.length).toBe(1);
expect(g.RegionsInternal.length).toBe(7);
expect(g.RegionsOutline.length).toBe(1);
});

@ -66,7 +66,7 @@ function TestFilletPolyline(
)
{
let pl = LoadEntityFromFileData(curveData)[0] as Polyline;
fillet.m_FilletRadius = radius;
fillet.FilletRadius = radius;
let es1 = new PromptEntityResult(pl, undefined);

@ -10,19 +10,19 @@ abstract class PtOnBoard implements Command
prompt: string;
async exec()
{
app.m_Viewer._GripScene.visible = true;
app.Viewer.GripScene.visible = true;
//获取板件
let br = app.m_Editor.m_SelectCtrl.SelectSet.SelectEntityList[0] as Board;
let br = app.Editor.SelectCtrl.SelectSet.SelectEntityList[0] as Board;
if (!br || !(br instanceof Board))
return;
let olducs = app.m_Editor.UCSMatrix;
app.m_Editor.UCSMatrix = br.OCS;
let olducs = app.Editor.UCSMatrix;
app.Editor.UCSMatrix = br.OCS;
//增删点
while (true)
{
let ptRes = await app.m_Editor.GetPoint({
let ptRes = await app.Editor.GetPoint({
AllowDrawRubberBand: true,
AllowNone: true,
Msg: `点击需要${this.prompt}的点`
@ -31,16 +31,16 @@ abstract class PtOnBoard implements Command
if (ptRes.Status !== PromptStatus.OK)
break;
app.m_Database.hm.StartMark();
app.Database.hm.StartMark();
let newContour = this.operation(br, ptRes);
if (newContour === undefined)
continue;
br.ContourCurve = newContour;
let brObj = app.m_Editor.m_SelectCtrl.SelectSet.SelectObjectList[0];
app.m_Viewer._GripScene.Update(brObj);
let brObj = app.Editor.SelectCtrl.SelectSet.SelectObjectList[0];
app.Viewer.GripScene.Update(brObj);
}
app.m_Editor.UCSMatrix = olducs;
app.Editor.UCSMatrix = olducs;
}
abstract operation(br: Board, ptRes: PromptPointResult): Polyline;
}
@ -58,12 +58,12 @@ export class AddPtOnBoard extends PtOnBoard
let index = brContour.GetParamAtPoint(npt);
if (isNaN(index))
{
app.m_Editor.Prompt('加点出错了');
app.Editor.Prompt('加点出错了');
return undefined;
}
if (index % 1 === 0)
{
app.m_Editor.Prompt('检测加点位置在点的位置.加点失败.');
app.Editor.Prompt('检测加点位置在点的位置.加点失败.');
return undefined;
}
newPt.applyMatrix4(brContour.OCSInv);
@ -90,19 +90,19 @@ export class DeletePtOnBoard extends PtOnBoard
}
if (!pindex)
{
app.m_Editor.Prompt("该位置没有点,无法删除");
app.Editor.Prompt("该位置没有点,无法删除");
return undefined;
}
newPt.applyMatrix4(br.OCSInv).setZ(0);
let index = brContour.GetParamAtPoint(newPt);
if (isNaN(index))
{
app.m_Editor.Prompt('删点出错了');
app.Editor.Prompt('删点出错了');
return undefined;
}
if (index % 1 === 0.5)
{
app.m_Editor.Prompt('中点无法删除');
app.Editor.Prompt('中点无法删除');
return undefined;
}
brContour.RemoveVertexAt(index);

@ -99,8 +99,8 @@ export class ArrayStore extends Singleton
}
_Return(state: number)
{
app.m_Editor.m_ModalManage.m_PromisRes({ Status: state });
app.m_Editor.m_ModalManage.Clear();
app.Editor.ModalManage.m_PromisRes({ Status: state });
app.Editor.ModalManage.Clear();
}
}
export class Command_Array implements Command
@ -111,7 +111,7 @@ export class Command_Array implements Command
{
let option = this.arrayStore.m_Option;
let ssRes = await app.m_Editor.GetSelection({ Msg: "请选择阵列对象:", UseSelect: true });
let ssRes = await app.Editor.GetSelection({ Msg: "请选择阵列对象:", UseSelect: true });
if (ssRes.Status !== PromptStatus.OK)
return;
let ss = ssRes.SelectSet;
@ -121,25 +121,25 @@ export class Command_Array implements Command
unionBoxs.union(selectEnt.BoundingBox);
//渲染模态框
app.m_Editor.m_ModalManage.RenderModal(ArrayModal, ModalPosition.Right, { store: this.arrayStore });
app.Editor.ModalManage.RenderModal(ArrayModal, ModalPosition.Right, { store: this.arrayStore });
//鼠标点选
while (true)
{
app.m_Database.hm.StartMark();
app.Database.hm.StartMark();
let res = await app.m_Editor.m_ModalManage.Wait();
let res = await app.Editor.ModalManage.Wait();
if (res.Status === ModalState.Cancel)
return;
//数据准备
let item_total = option.itemTotal;
let fill_angle = option.fillAngle;
let between_angle = option.betweenAngle;
let ucsInv = app.m_Editor.UCSMatrixInv;
let itemTotal = option.itemTotal;
let fillAngle = option.fillAngle;
let betweenAngle = option.betweenAngle;
let ucsInv = app.Editor.UCSMatrixInv;
switch (res.Status)
{
case Pick.centerPoint:
let ptRes1 = await app.m_Editor.GetPoint({ Msg: "请选择中心点:" });
let ptRes1 = await app.Editor.GetPoint({ Msg: "请选择中心点:" });
if (ptRes1.Status === PromptStatus.OK)
{
let pt1Ucs = ptRes1.Point.applyMatrix4(ucsInv);
@ -149,7 +149,7 @@ export class Command_Array implements Command
break;
case Pick.rowOffset:
let disRes1 = await app.m_Editor.GetDistance({
let disRes1 = await app.Editor.GetDistance({
Msg: "请指定行偏移:",
CalcDistance: (baseP, p: Vector3) =>
{
@ -161,7 +161,7 @@ export class Command_Array implements Command
break;
case Pick.colOffset:
let disRes2 = await app.m_Editor.GetDistance({
let disRes2 = await app.Editor.GetDistance({
Msg: "请指定列偏移:",
CalcDistance: (baseP, p: Vector3) =>
{
@ -173,81 +173,81 @@ export class Command_Array implements Command
break;
case Pick.arrayAngle:
let ptRes4 = await app.m_Editor.GetAngle({ Msg: "请指定阵列角度:" });
let ptRes4 = await app.Editor.GetAngle({ Msg: "请指定阵列角度:" });
if (ptRes4.Status === PromptStatus.OK)
option.arrayAngle = Math.round(ptRes4.Distance);
break;
case Pick.fillAngle:
let ptRes6 = await app.m_Editor.GetAngle({ Msg: "请指定填充角度:" });
let ptRes6 = await app.Editor.GetAngle({ Msg: "请指定填充角度:" });
if (ptRes6.Status === PromptStatus.OK)
{
fill_angle = Math.round(ptRes6.Distance);
if (fill_angle === 0 || between_angle === 0)
fillAngle = Math.round(ptRes6.Distance);
if (fillAngle === 0 || betweenAngle === 0)
{
app.m_Editor.Prompt("错误:填充角度或者项目间角度为0!");
app.Editor.Prompt("错误:填充角度或者项目间角度为0!");
}
else if (option.method === CirArrMethod.itemsAndAngle)
{
if (item_total === 1)
if (itemTotal === 1)
{
item_total = 2;
between_angle = fill_angle;
itemTotal = 2;
betweenAngle = fillAngle;
}
else
{
if (fill_angle === 360)
between_angle = Math.round(fill_angle / (item_total));
if (fillAngle === 360)
betweenAngle = Math.round(fillAngle / (itemTotal));
else
between_angle = Math.round(fill_angle / (item_total - 1));
betweenAngle = Math.round(fillAngle / (itemTotal - 1));
}
}
else if (option.method === CirArrMethod.fillAngleAndBeAngle)
{
if (between_angle > fill_angle)
between_angle = fill_angle;
item_total = Math.ceil(fill_angle / between_angle);
if (betweenAngle > fillAngle)
betweenAngle = fillAngle;
itemTotal = Math.ceil(fillAngle / betweenAngle);
}
}
break;
case Pick.betweenAngle:
let ptRes8 = await app.m_Editor.GetAngle({ Msg: "请指定项目间角度:" });
let ptRes8 = await app.Editor.GetAngle({ Msg: "请指定项目间角度:" });
if (ptRes8.Status === PromptStatus.OK)
{
between_angle = Math.round(ptRes8.Distance);
betweenAngle = Math.round(ptRes8.Distance);
//关联计算
if (option.method === CirArrMethod.itemsAndBeAngle)
{
let biggest_Bangle = Math.round(360 / item_total);
if (between_angle > biggest_Bangle)
let biggestBAngle = Math.round(360 / itemTotal);
if (betweenAngle > biggestBAngle)
{
AppToaster.show({ message: `拾取角度超过当前允许最大值(${biggest_Bangle}),请减小项目总数或项目间角度`, timeout: 2000 });
between_angle = biggest_Bangle;
fill_angle = 360;
AppToaster.show({ message: `拾取角度超过当前允许最大值(${biggestBAngle}),请减小项目总数或项目间角度`, timeout: 2000 });
betweenAngle = biggestBAngle;
fillAngle = 360;
}
else
{
if (item_total === 1)
fill_angle = 360;
if (itemTotal === 1)
fillAngle = 360;
else
fill_angle = between_angle * (item_total - 1);
fillAngle = betweenAngle * (itemTotal - 1);
}
}
else if (option.method === CirArrMethod.fillAngleAndBeAngle)
{
if (between_angle !== 0 && fill_angle !== 0)
if (betweenAngle !== 0 && fillAngle !== 0)
{
if (between_angle > fill_angle)
between_angle = fill_angle;
item_total = Math.floor(fill_angle / between_angle);
if (betweenAngle > fillAngle)
betweenAngle = fillAngle;
itemTotal = Math.floor(fillAngle / betweenAngle);
}
}
}
break;
case Pick.rowAndColOffset:
let ptRes = await app.m_Editor.GetPoint({ Msg: "指定第一个角点:" });
let ptRes = await app.Editor.GetPoint({ Msg: "指定第一个角点:" });
if (ptRes.Status != PromptStatus.OK)
break;
@ -255,7 +255,7 @@ export class Command_Array implements Command
let rec = new Polyline();
rec.CloseMark = true;
rec.ApplyMatrix(app.m_Editor.UCSMatrix);
rec.ApplyMatrix(app.Editor.UCSMatrix);
JigUtils.Draw(rec);
let row: number;
@ -281,7 +281,7 @@ export class Command_Array implements Command
{ pt: px4, bul: 0 }];
}
ptRes = await app.m_Editor.GetPoint({
ptRes = await app.Editor.GetPoint({
Msg: "指定另一个角点:",
Callback: (p) => updateRect(p1, p),
RelativeBasePoint: p1
@ -301,11 +301,11 @@ export class Command_Array implements Command
if (res.Status === ModalState.Ok)
break;
//数据提交
option.itemTotal = item_total;
option.fillAngle = fill_angle;
option.betweenAngle = between_angle;
option.itemTotal = itemTotal;
option.fillAngle = fillAngle;
option.betweenAngle = betweenAngle;
//呼出模态框
app.m_Editor.m_ModalManage.RenderModal(ArrayModal, ModalPosition.Old, { store: this.arrayStore });
app.Editor.ModalManage.RenderModal(ArrayModal, ModalPosition.Old, { store: this.arrayStore });
}
//根据模态框tab的选择构造阵列
@ -336,14 +336,14 @@ export class Command_Array implements Command
betweenAngle = -betweenAngle;
CirArray(ss, ptRes, ArrayNum, THREE.Math.degToRad(betweenAngle));
}
app.m_Editor.UpdateScreen();
app.Editor.UpdateScreen();
}
}
//构造矩形阵列
function recArray(ss: SelectSet, rowNum: number, colNum: number, rowOffset: number, colOffset: number, arrayAngle: number = 0)
{
let mat = new Matrix4().extractRotation(app.m_Editor.UCSMatrix)
let mat = new Matrix4().extractRotation(app.Editor.UCSMatrix)
let xVec = rotatePoint(new Vector3(colOffset), arrayAngle).applyMatrix4(mat);
let yVec = rotatePoint(new Vector3(0, rowOffset), arrayAngle).applyMatrix4(mat);
@ -361,7 +361,7 @@ function recArray(ss: SelectSet, rowNum: number, colNum: number, rowOffset: numb
{
let e = en.Clone();
e.ApplyMatrix(moveMat);
app.m_Database.ModelSpace.Append(e);
app.Database.ModelSpace.Append(e);
}
}
}
@ -370,7 +370,7 @@ function recArray(ss: SelectSet, rowNum: number, colNum: number, rowOffset: numb
//构造环形阵列
function CirArray(ss: SelectSet, ptRes: Vector3, itemTotal: number, betweenAngle: number)
{
let mat = new Matrix4().extractRotation(app.m_Editor.UCSMatrix);
let mat = new Matrix4().extractRotation(app.Editor.UCSMatrix);
let pt = ptRes.clone().applyMatrix4(mat);
//平移变换矩阵
let moveMat = MoveMatrix(pt);
@ -388,7 +388,7 @@ function CirArray(ss: SelectSet, ptRes: Vector3, itemTotal: number, betweenAngle
newEnt.ApplyMatrix(moveMatInv);
newEnt.ApplyMatrix(roMat);
newEnt.ApplyMatrix(moveMat);
app.m_Database.ModelSpace.Append(newEnt);
app.Database.ModelSpace.Append(newEnt);
}
}
}

@ -27,7 +27,7 @@ export class BoardBatchCurtail implements Command
{
let store = BoardBatchCurtailStore.GetInstance() as BoardBatchCurtailStore;
let enRes = await app.m_Editor.GetSelection({
let enRes = await app.Editor.GetSelection({
Msg: "选择需要修改的板件",
Filter: {
filterTypes: [Board]
@ -85,9 +85,9 @@ export class BoardBatchCurtail implements Command
store.checkValue[key] = d.allowDist / 2;
}
app.m_Editor.m_ModalManage.RenderModal(BoardBatchCurtailModal, ModalPosition.Center, { store });
app.Editor.ModalManage.RenderModal(BoardBatchCurtailModal, ModalPosition.Center, { store });
let res = await app.m_Editor.m_ModalManage.Wait();
let res = await app.Editor.ModalManage.Wait();
if (res.Status === ModalState.Ok)
{

@ -12,7 +12,7 @@ export class AutoCuttingReactor
const cuttingCommands = ["QG2", "QG", "QG4", "COPY"];
app.m_CommandReactor.OnCommandEnd((cmdName, changeObjects, createObjects) =>
app.CommandReactor.OnCommandEnd((cmdName, changeObjects, createObjects) =>
{
if (!this.Enable) return;
@ -27,7 +27,7 @@ export class AutoCuttingReactor
{
let nc = new NonAssociativeCutting();
let brs: Board[] = [];
for (let ent of app.m_Viewer.VisibleEntitys)
for (let ent of app.Viewer.VisibleEntitys)
{
if (ent instanceof Board && !ents.includes(ent))
brs.push(ent);

@ -14,7 +14,7 @@ export class LinearCutting implements Command
{
async exec()
{
let brsRes = await app.m_Editor.GetSelection({
let brsRes = await app.Editor.GetSelection({
Msg: "选择被切割的板件(空格选择全部)",
UseSelect: true,
Filter: { filterTypes: [Board] },
@ -27,7 +27,7 @@ export class LinearCutting implements Command
let brs: Board[] = brsRes.SelectSet.SelectEntityList as Board[];
if (brs.length === 0)
{
for (let ent of app.m_Viewer.VisibleEntitys)
for (let ent of app.Viewer.VisibleEntitys)
{
if (ent instanceof Board)
brs.push(ent);
@ -35,16 +35,16 @@ export class LinearCutting implements Command
}
//如果只有一个板并且UCS和视图不平行,那么将坐标系临时改成板件坐标系
let ucsDir = new Vector3().setFromMatrixColumn(app.m_Editor.UCSMatrix, 2);
let oldUcs: Matrix4 = app.m_Editor.UCSMatrix;
if (brs.length === 1 && !isParallelTo(ucsDir, app.m_Viewer.m_CameraCtrl.Direction))
app.m_Editor.UCSMatrix = brs[0].OCS;
let ucsDir = new Vector3().setFromMatrixColumn(app.Editor.UCSMatrix, 2);
let oldUcs: Matrix4 = app.Editor.UCSMatrix;
if (brs.length === 1 && !isParallelTo(ucsDir, app.Viewer.CameraCtrl.Direction))
app.Editor.UCSMatrix = brs[0].OCS;
let pts: Vector3[] = [];
while (true)
{
let ptRes = await app.m_Editor.GetPoint({
let ptRes = await app.Editor.GetPoint({
BasePoint: pts.length !== 0 ? arrayLast(pts) : undefined,
AllowDrawRubberBand: true,
AllowNone: true,
@ -52,7 +52,7 @@ export class LinearCutting implements Command
});
if (ptRes.Status === PromptStatus.Cancel)
{
app.m_Editor.UCSMatrix = oldUcs;
app.Editor.UCSMatrix = oldUcs;
return;
}
@ -63,13 +63,13 @@ export class LinearCutting implements Command
}
if (pts.length < 2)
{
app.m_Editor.Prompt("切割必须有2个点以上!");
app.m_Editor.UCSMatrix = oldUcs;
app.Editor.Prompt("切割必须有2个点以上!");
app.Editor.UCSMatrix = oldUcs;
return;
}
let ucsInv = app.m_Editor.UCSMatrixInv;
let ucs = app.m_Editor.UCSMatrix;
let ucsInv = app.Editor.UCSMatrixInv;
let ucs = app.Editor.UCSMatrix;
let ptsWcs = pts;//缓存世界坐标系,支持UCS不同时使用捕捉.
pts = pts.map(p => p.clone().applyMatrix4(ucsInv).setZ(0).applyMatrix4(ucs));
@ -153,7 +153,7 @@ export class LinearCutting implements Command
let regionParse = new RegionParse([...brSplitCus, ...allSplitPls]);
let cus = regionParse.m_RegionsInternal.map(r =>
let cus = regionParse.RegionsInternal.map(r =>
{
let pl = new Polyline();
for (let route of r)
@ -173,15 +173,15 @@ export class LinearCutting implements Command
let br2 = br.Clone();
br2.ContourCurve = cus[i];
br2.GrooveCheckAll(splitBoards);
app.m_Database.ModelSpace.Append(br2);
app.Database.ModelSpace.Append(br2);
}
br.ContourCurve = cus[0];
br.GrooveCheckAll(splitBoards);
for (let nb of splitBoards)
app.m_Database.ModelSpace.Append(nb);
app.Database.ModelSpace.Append(nb);
}
app.m_Editor.UCSMatrix = oldUcs;
app.Editor.UCSMatrix = oldUcs;
}
}

@ -8,7 +8,7 @@ export class NonAssociativeCutting implements Command
{
async exec()
{
let brsRes2 = await app.m_Editor.GetSelection({
let brsRes2 = await app.Editor.GetSelection({
Msg: "选择切割的板件",
UseSelect: true,
Filter: { filterTypes: [Board] }
@ -17,9 +17,9 @@ export class NonAssociativeCutting implements Command
if (brsRes2.Status !== PromptStatus.OK)
return;
let brs2 = brsRes2.SelectSet.SelectEntityList as Board[];
app.m_Editor.Prompt(`选择切割的板件: 总计${brs2.length}`);
app.Editor.Prompt(`选择切割的板件: 总计${brs2.length}`);
let brsRes = await app.m_Editor.GetSelection({
let brsRes = await app.Editor.GetSelection({
Msg: "选择被切割的板件<全部选择>",
UseSelect: true,
Filter: {
@ -38,13 +38,13 @@ export class NonAssociativeCutting implements Command
let brs: Board[] = brsRes.SelectSet.SelectEntityList as Board[];
if (brs.length === 0)
{
for (let ent of app.m_Viewer.VisibleEntitys)
for (let ent of app.Viewer.VisibleEntitys)
{
if (ent instanceof Board && !brs2.includes(ent))
brs.push(ent);
}
}
app.m_Editor.Prompt(`选择了被切割的板件: 总计${brs.length}`);
app.Editor.Prompt(`选择了被切割的板件: 总计${brs.length}`);
for (let br of brs)
this.CuttingBoard(br, brs2);
@ -69,7 +69,7 @@ export class NonAssociativeCutting implements Command
for (let br of splitBoard)
{
app.m_Database.ModelSpace.Append(br);
app.Database.ModelSpace.Append(br);
}
}
}

@ -15,7 +15,7 @@ export class ReferenceCutting implements Command
{
async exec()
{
let brRes = await app.m_Editor.GetSelection({
let brRes = await app.Editor.GetSelection({
Once: true,
Msg: "选择切割的板件(单块)",
Filter: {
@ -26,7 +26,7 @@ export class ReferenceCutting implements Command
if (brRes.Status !== PromptStatus.OK) return;
let brKnife = brRes.SelectSet.SelectEntityList[0] as Board;
brRes = await app.m_Editor.GetSelection({
brRes = await app.Editor.GetSelection({
Msg: "选择被切割的板件(空格选择剩余全部)",
Filter: {
filterTypes: [Board],
@ -41,13 +41,13 @@ export class ReferenceCutting implements Command
let brs: Board[] = brRes.SelectSet.SelectEntityList as Board[];
if (brs.length === 0)
{
for (let ent of app.m_Viewer.VisibleEntitys)
for (let ent of app.Viewer.VisibleEntitys)
{
if (ent instanceof Board && ent !== brKnife)
brs.push(ent);
}
}
app.m_Editor.Prompt(`选择了被切割的板件: 总计${brs.length}`);
app.Editor.Prompt(`选择了被切割的板件: 总计${brs.length}`);
//偏移量
let offset: number;
@ -56,8 +56,8 @@ export class ReferenceCutting implements Command
let option = referenceCuttingStore.m_Option;
option.halfThickness = brKnife.Thickness / 2;
option.boardType = brKnife.BoardType;
app.m_Editor.m_ModalManage.RenderModal(ReferenceCuttingModal, ModalPosition.Center, { store: referenceCuttingStore });
let res = await app.m_Editor.m_ModalManage.Wait();
app.Editor.ModalManage.RenderModal(ReferenceCuttingModal, ModalPosition.Center, { store: referenceCuttingStore });
let res = await app.Editor.ModalManage.Wait();
if (res.Status === ModalState.Ok)
{
@ -87,7 +87,7 @@ export class ReferenceCutting implements Command
if (!equaln(brNorm.dot(brKnifNorm), 0))//垂直测试
{
failCount++;
app.m_Editor.Prompt('板件不垂直,无法切割!');
app.Editor.Prompt('板件不垂直,无法切割!');
continue;
}
@ -109,7 +109,7 @@ export class ReferenceCutting implements Command
if (pts1.length < 2 && pts2.length < 2)
{
failCount++;
app.m_Editor.Prompt("板件与板件没有交集.");
app.Editor.Prompt("板件与板件没有交集.");
continue;
}
@ -132,7 +132,7 @@ export class ReferenceCutting implements Command
cutCus = cutCus.filter(c => brContour.PtInCurve(c.GetPointAtParam(0.5)));
let regionParse = new RegionParse([...brCus, ...cutCus]);
let contours = regionParse.m_RegionsInternal.map(r =>
let contours = regionParse.RegionsInternal.map(r =>
{
let pl = new Polyline();
for (let route of r)
@ -144,7 +144,7 @@ export class ReferenceCutting implements Command
if (contours.length === 0)
{
//预期之外.
app.m_Editor.Prompt(`切割中断:第${i}个切割失败了!`);
app.Editor.Prompt(`切割中断:第${i}个切割失败了!`);
return;
}
@ -153,10 +153,10 @@ export class ReferenceCutting implements Command
{
let br2 = br.Clone();
br2.ContourCurve = contours[i];
app.m_Database.ModelSpace.Append(br2);
app.Database.ModelSpace.Append(br2);
}
br.ContourCurve = contours[0];
}
app.m_Editor.Prompt(`切割成功: 有效${brs.length - failCount}个, 无效${failCount}`);
app.Editor.Prompt(`切割成功: 有效${brs.length - failCount}个, 无效${failCount}`);
}
}

@ -53,8 +53,8 @@ export class ReferenceCuttingStore extends Singleton
}
_Return(state: number)
{
app.m_Editor.m_ModalManage.m_PromisRes({ Status: state });
app.m_Editor.m_ModalManage.Clear();
app.Editor.ModalManage.m_PromisRes({ Status: state });
app.Editor.ModalManage.Clear();
}
HasInvailValue()
{
@ -95,8 +95,8 @@ export class ReferenceCuttingModal extends React.Component<{ store: ReferenceCut
}
registerEvent()
{
app.m_Editor.m_ModalManage.events.push(
begin(app.m_Editor.m_ModalManage, app.m_Editor.m_ModalManage.OnKeyDown, (e: KeyboardEvent) =>
app.Editor.ModalManage.events.push(
begin(app.Editor.ModalManage, app.Editor.ModalManage.OnKeyDown, (e: KeyboardEvent) =>
{
if (e.keyCode === KeyBoard.Enter || e.keyCode === KeyBoard.Space)
{

@ -23,10 +23,10 @@ export class BoardFindModify implements Command
async exec()
{
const store = BoardFindStore.GetInstance() as BoardFindStore;
app.m_Editor.m_ModalManage.RenderModeless(BoardFindModifyModal, ModalPosition.Right, { store });
app.m_Editor.m_SelectCtrl.Cancel();
app.Editor.ModalManage.RenderModeless(BoardFindModifyModal, ModalPosition.Right, { store });
app.Editor.SelectCtrl.Cancel();
app.m_Editor.m_ModalManage.Callback = async (res) =>
app.Editor.ModalManage.Callback = async (res) =>
{
switch (res.type)
{
@ -47,22 +47,22 @@ export class BoardFindModify implements Command
default:
break;
}
app.m_Editor.m_ModalManage.ToggleShow();
app.Editor.ModalManage.ToggleShow();
if (store.m_Option.isClose)
{
app.m_Editor.m_ModalManage.Clear();
app.m_Editor.m_ModalManage.EndCmd();
app.Editor.ModalManage.Clear();
app.Editor.ModalManage.EndCmd();
}
else
{
app.m_Editor.m_MaskManage.ShowMask();
app.Editor.MaskManage.ShowMask();
}
}
}
private async GetBoards(otherEnts = [])
{
let enRes = await app.m_Editor.GetSelection({
let enRes = await app.Editor.GetSelection({
Msg: "选择板件",
Filter: { filterTypes: [Board, ...otherEnts] }
});
@ -73,10 +73,10 @@ export class BoardFindModify implements Command
}
private PutSelectList(brs: Board[])
{
let selectData = new SelectSetBase(app.m_Viewer);
let selectData = new SelectSetBase(app.Viewer);
selectData.m_SelectList.push(...brs.map(e => e.DrawObject));
app.m_Editor.m_SelectCtrl.SelectSet.AddSelect(selectData);
app.m_Editor.m_SelectCtrl.UpdateView();
app.Editor.SelectCtrl.SelectSet.AddSelect(selectData);
app.Editor.SelectCtrl.UpdateView();
}
private async FindBrs(option: IBoardFindOption)
{
@ -224,7 +224,7 @@ export class BoardFindModify implements Command
}
private async ModifyBrs(option: IBoardFindOption)
{
let brs = app.m_Editor.m_SelectCtrl.SelectSet.SelectEntityList as Board[];
let brs = app.Editor.SelectCtrl.SelectSet.SelectEntityList as Board[];
if (brs.length === 0)
brs = await this.GetBoards();
@ -329,7 +329,7 @@ export class BoardFindModify implements Command
}
private async GetBoardOption(option: IBoardFindOption, data: { key: string, content: string })
{
let brRes = await app.m_Editor.GetEntity({
let brRes = await app.Editor.GetEntity({
Msg: data.content,
Filter: { filterTypes: [Board] }
});

@ -19,7 +19,7 @@ function RegionsBoolOperate(regs: Region[], boolType: BoolOpeartionType): Region
async function SelectRegions(): Promise<Region[]>
{
let enRes = await app.m_Editor.GetSelection({
let enRes = await app.Editor.GetSelection({
Msg: "选择面域"
});
if (enRes.Status === PromptStatus.OK)

@ -8,7 +8,7 @@ export class Command_Break implements Command
{
async exec()
{
let cuRes = await app.m_Editor.GetEntity({
let cuRes = await app.Editor.GetEntity({
Msg: "请选择被打断的曲线:"
});
if (cuRes.Status !== PromptStatus.OK)
@ -21,8 +21,8 @@ export class Command_Break implements Command
while (true)
{
app.m_Database.hm.StartMark();
let ptRes = await app.m_Editor.GetPoint({
app.Database.hm.StartMark();
let ptRes = await app.Editor.GetPoint({
Msg: "请点击被打断的点:"
, KeyWordList: breakPts.length === 0 ? [{ key: "D", msg: "定距等分" }, { key: "S", msg: "定数等分" }] : []
});
@ -37,13 +37,13 @@ export class Command_Break implements Command
{
if (ptRes.StringResult === "D")
{
let divRes = await app.m_Editor.GetDistance({ Msg: "请输入等分距离:" });
let divRes = await app.Editor.GetDistance({ Msg: "请输入等分距离:" });
if (divRes.Status !== PromptStatus.OK)
return;
if (divRes.Distance === 0)
{
app.m_Editor.Prompt("距离不能为0!");
app.Editor.Prompt("距离不能为0!");
continue;
}
let lenDiv = cu.Length / divRes.Distance;
@ -52,13 +52,13 @@ export class Command_Break implements Command
}
else if (ptRes.StringResult === "S")
{
let divRes = await app.m_Editor.GetDistance({ Msg: "请输入等分个数:" });
let divRes = await app.Editor.GetDistance({ Msg: "请输入等分个数:" });
if (divRes.Status !== PromptStatus.OK)
return;
if (divRes.Distance === 0)
{
app.m_Editor.Prompt("个数不能为0!");
app.Editor.Prompt("个数不能为0!");
return;
}
let divCount = cu.Length / divRes.Distance;
@ -67,7 +67,7 @@ export class Command_Break implements Command
}
else
{
app.m_Editor.Prompt("未知输入!");
app.Editor.Prompt("未知输入!");
continue;
}
@ -83,7 +83,7 @@ export class Command_Break implements Command
cu.Erase();
cus.forEach(c =>
{
app.m_Database.ModelSpace.Append(c);
app.Database.ModelSpace.Append(c);
});
}
}

@ -10,7 +10,7 @@ export class ChangeColor implements Command
}
async exec()
{
let enRes = await app.m_Editor.GetSelection({
let enRes = await app.Editor.GetSelection({
Msg: '选择对象',
UseSelect: true
});

@ -12,7 +12,7 @@ export class FeedingCommand implements Command
{
async exec()
{
let brRes = await app.m_Editor.GetSelection({
let brRes = await app.Editor.GetSelection({
Msg: "选择板件",
UseSelect: true,
Filter: { filterTypes: [Board] }
@ -29,7 +29,7 @@ export class FeedingCommand implements Command
let retCus = brs.map(br => feedingTool.TestCalcPath(br));
let ptRes = await app.m_Editor.GetPoint({ Msg: "点取位置" });
let ptRes = await app.Editor.GetPoint({ Msg: "点取位置" });
if (ptRes.Status === PromptStatus.OK)
{
@ -45,8 +45,8 @@ export class FeedingCommand implements Command
for (let cu of cus)
{
cu.ApplyMatrix(MoveMatrix(pos));
app.m_Database.ModelSpace.Append(cu);
app.m_Database.ModelSpace.Append(new Point(cu.StartPoint));
app.Database.ModelSpace.Append(cu);
app.Database.ModelSpace.Append(new Point(cu.StartPoint));
}
}
}

@ -7,7 +7,7 @@ export class Command_CommandPanel implements Command
{
async exec()
{
let store = app.m_Editor.m_CommandStore;
app.m_Editor.m_ModalManage.RenderModal(CommandPanel, ModalPosition.Top, { store });
let store = app.Editor.CommandStore;
app.Editor.ModalManage.RenderModal(CommandPanel, ModalPosition.Top, { store });
}
}

@ -8,6 +8,6 @@ export class Command_Options implements Command
async exec()
{
let OptionStore = OptionModalStore.GetInstance() as OptionModalStore;
app.m_Editor.m_ModalManage.RenderModal(OptionModal, ModalPosition.Center, { store: OptionStore });
app.Editor.ModalManage.RenderModal(OptionModal, ModalPosition.Center, { store: OptionStore });
}
}

@ -13,11 +13,11 @@ export class Command_Copy implements Command
{
async exec()
{
let ssRes = await app.m_Editor.GetSelection({ Msg: "请选择需要拷贝的实体:", UseSelect: true });
let ssRes = await app.Editor.GetSelection({ Msg: "请选择需要拷贝的实体:", UseSelect: true });
if (ssRes.Status !== PromptStatus.OK)
return;
let ptRes = await app.m_Editor.GetPoint({ Msg: "请选择复制基点:" });
let ptRes = await app.Editor.GetPoint({ Msg: "请选择复制基点:" });
if (ptRes.Status !== PromptStatus.OK)
return;
@ -37,8 +37,8 @@ export class Command_Copy implements Command
let jigEns = orgEns.map(e => JigUtils.Draw(e));
while (true)
{
app.m_Database.hm.StartMark();
let ptRes2 = await app.m_Editor.GetPoint({
app.Database.hm.StartMark();
let ptRes2 = await app.Editor.GetPoint({
Msg: "请选择复制终点:",
Callback: (p) =>
{
@ -53,7 +53,7 @@ export class Command_Copy implements Command
if (ptRes2.Status === PromptStatus.OK)
{
let moveM = MoveMatrix(ptRes2.Point.sub(ptBase));
let cloneEns = app.m_Database.DeepCloneObjects(orgEns, app.m_Database.ModelSpace) as Entity[];
let cloneEns = app.Database.DeepCloneObjects(orgEns, app.Database.ModelSpace) as Entity[];
for (let en of cloneEns)
{

@ -9,7 +9,7 @@ export class CopyClip
{
async exec()
{
let ss = app.m_Editor.m_SelectCtrl.SelectSet;
let ss = app.Editor.SelectCtrl.SelectSet;
if (ss.SelectEntityList.length === 0) return;
let ens = ss.SelectEntityList;
@ -21,7 +21,7 @@ export class CopyClip
ens.forEach(e => f.WriteObject(e));
copyTextToClipboard(JSON.stringify({
file: f.Data,
basePt: app.m_Editor.m_MouseCtrl.m_CurMousePointWCS,
basePt: app.Editor.MouseCtrl.m_CurMousePointWCS,
}));
}
}

@ -6,7 +6,7 @@ export class Command_CopyPoint
{
async exec()
{
let ptRes = await app.m_Editor.GetPoint();
let ptRes = await app.Editor.GetPoint();
if (ptRes.Status === PromptStatus.OK)
copyTextToClipboard(`new Vector3().fromArray(${JSON.stringify(ptRes.Point.toArray())});`);

@ -8,7 +8,7 @@ export class CustomUcs implements Command
{
async exec()
{
let p1Res = await app.m_Editor.GetPoint(
let p1Res = await app.Editor.GetPoint(
{
Msg: "请点击坐标原点或",
KeyWordList: [{ key: "W", msg: "世界" }]
@ -18,30 +18,30 @@ export class CustomUcs implements Command
{
if (p1Res.StringResult === "W")
{
app.m_Editor.UCSMatrix = new Matrix4();
app.Editor.UCSMatrix = new Matrix4();
}
}
if (p1Res.Status != PromptStatus.OK) return;
let mat = app.m_Editor.UCSMatrix;
let mat = app.Editor.UCSMatrix;
let oldMat = mat.clone();
mat.setPosition(p1Res.Point);
app.m_Editor.UCSMatrix = mat;
app.Editor.UCSMatrix = mat;
let xv: Vector3, yv: Vector3, zv: Vector3;
while (true)
{
let xRes = await app.m_Editor.GetPoint({ Msg: "请点击X轴方向:", BasePoint: p1Res.Point, AllowDrawRubberBand: true });
let xRes = await app.Editor.GetPoint({ Msg: "请点击X轴方向:", BasePoint: p1Res.Point, AllowDrawRubberBand: true });
if (xRes.Status !== PromptStatus.OK)
{
app.m_Editor.UCSMatrix = oldMat;
app.Editor.UCSMatrix = oldMat;
return;
}
else
{
if (equalv3(xRes.Point, p1Res.Point))
{
app.m_Editor.Prompt("与第一个点重复!");
app.Editor.Prompt("与第一个点重复!");
}
else
{
@ -57,7 +57,7 @@ export class CustomUcs implements Command
while (true)
{
let yRes = await app.m_Editor.GetPoint({
let yRes = await app.Editor.GetPoint({
Msg: "XY轴平面上的点(接受):",
BasePoint: p1Res.Point,
AllowDrawRubberBand: true,
@ -68,7 +68,7 @@ export class CustomUcs implements Command
else if (yRes.Status === PromptStatus.OK)
{
if (equalv3(yRes.Point, p1Res.Point))
app.m_Editor.Prompt("与第一个点重复!");
app.Editor.Prompt("与第一个点重复!");
else
{
yv = yRes.Point.sub(p1Res.Point).normalize();
@ -80,7 +80,7 @@ export class CustomUcs implements Command
}
else
{
app.m_Editor.UCSMatrix = oldMat;
app.Editor.UCSMatrix = oldMat;
return;
}
}
@ -90,6 +90,6 @@ export class CustomUcs implements Command
{
mat.makeBasis(xv.normalize(), yv.normalize(), zv.normalize());
mat.setPosition(p1Res.Value);
app.m_Editor.UCSMatrix = mat;
app.Editor.UCSMatrix = mat;
}
}

@ -29,7 +29,7 @@ export async function CreateBoardFromData(data: Object)
br.material = boardMaterial;
br.castShadow = true;
br.receiveShadow = true;
app.m_Viewer.Scene.add(board);
app.Viewer.Scene.add(board);
}
//加载fbx文件
@ -51,10 +51,10 @@ export async function CreateBoardFromData(data: Object)
{
let meshC = mesh.clone();
meshC.applyMatrix(fbxState.object.matrix);
app.m_Viewer.Scene.add(meshC);
app.Viewer.Scene.add(meshC);
}
}
}
app.m_Viewer.m_bNeedUpdate = true;
app.Viewer.UpdateRender();
}

@ -38,24 +38,24 @@ export class Command_DXFImport
};
});
pl.CloseMark = en.shape;
app.m_Database.ModelSpace.Append(pl);
app.Database.ModelSpace.Append(pl);
}
else if (en.type === "ARC")
{
let arc = new Arc(AsVector3(en.center), en.radius, en.startAngle, en.endAngle, false);
app.m_Database.ModelSpace.Append(arc);
app.Database.ModelSpace.Append(arc);
}
else if (en.type === "CIRCLE")
{
let cir = new Circle(AsVector3(en.center), en.radius);
app.m_Database.ModelSpace.Append(cir);
app.Database.ModelSpace.Append(cir);
}
else if (en.type === "LINE")
{
if (!(en.vertices.length === 2))
return;
let line = new Line(AsVector3(en.vertices[0]), AsVector3(en.vertices[1]));
app.m_Database.ModelSpace.Append(line);
app.Database.ModelSpace.Append(line);
}
}
}

@ -8,7 +8,7 @@ export class CMD_Divide implements Command
{
async exec()
{
let enRes = await app.m_Editor.GetEntity(
let enRes = await app.Editor.GetEntity(
{
Msg: "请选择定数等分的对象",
KeyWordList: [{ key: "D", msg: "定数等分" }, { key: "S", msg: "定距等分" }]
@ -43,14 +43,14 @@ export class CMD_Divide implements Command
async Divided(enRes: PromptEntityResult)//定数等分
{
let numRes = await app.m_Editor.GetDistance({ Msg: "请输入段数" });
let numRes = await app.Editor.GetDistance({ Msg: "请输入段数" });
if (numRes.Status != PromptStatus.OK)
return;
let divCount = numRes.Distance;
if (divCount === 0)
{
app.m_Editor.Prompt("您不能等分0");
app.Editor.Prompt("您不能等分0");
return;
}
if (enRes.Entity instanceof Curve)
@ -66,19 +66,19 @@ export class CMD_Divide implements Command
{
let pt = cu.GetPointAtDistance(divLen * (i + 1));
let ptEnt = new Point(pt);
app.m_Database.ModelSpace.Append(ptEnt);
app.Database.ModelSpace.Append(ptEnt);
}
}
}
async Measured()//定距等分
{
let enRes = await app.m_Editor.GetEntity({ Msg: "请选择定距等分的对象" });
let numRes = await app.m_Editor.GetDistance({ Msg: "请指定分段的长度" });
let enRes = await app.Editor.GetEntity({ Msg: "请选择定距等分的对象" });
let numRes = await app.Editor.GetDistance({ Msg: "请指定分段的长度" });
let divLen = numRes.Distance;
if (divLen === 0)
{
app.m_Editor.Prompt("分段长度不能为0");
app.Editor.Prompt("分段长度不能为0");
return;
}
if (enRes.Entity instanceof Curve)
@ -87,7 +87,7 @@ export class CMD_Divide implements Command
let len = cu.Length;
if (divLen > len)
{
app.m_Editor.Prompt("分段长度不能超过对象长度");
app.Editor.Prompt("分段长度不能超过对象长度");
return;
}
let divCount = len / divLen;
@ -95,7 +95,7 @@ export class CMD_Divide implements Command
{
let pt = cu.GetPointAtDistance(divLen * (i + 1));
let ptEnt = new Point(pt);
app.m_Database.ModelSpace.Append(ptEnt);
app.Database.ModelSpace.Append(ptEnt);
}
}
}

@ -9,17 +9,17 @@ export class DrawArc implements Command
{
async exec()
{
let ptRes = await app.m_Editor.GetPoint({ Msg: "请输入第一个点:" });
let ptRes = await app.Editor.GetPoint({ Msg: "请输入第一个点:" });
if (ptRes.Status != PromptStatus.OK)
return;
let pt1 = ptRes.Point;
let ptRes2 = await app.m_Editor.GetPoint({ Msg: "请输入第二个点:", BasePoint: pt1, AllowDrawRubberBand: true });
let ptRes2 = await app.Editor.GetPoint({ Msg: "请输入第二个点:", BasePoint: pt1, AllowDrawRubberBand: true });
if (ptRes2.Status != PromptStatus.OK)
return;
let pt2 = ptRes2.Point;
let arc = new Arc();
arc.ApplyMatrix(app.m_Editor.UCSMatrix);
arc.ApplyMatrix(app.Editor.UCSMatrix);
const updateArc = (p) =>
{
@ -31,7 +31,7 @@ export class DrawArc implements Command
}
JigUtils.Draw(arc);
let ptRes3 = await app.m_Editor.GetPoint({
let ptRes3 = await app.Editor.GetPoint({
Msg: "请输入第三个点:",
Callback: updateArc
});
@ -39,7 +39,7 @@ export class DrawArc implements Command
if (ptRes3.Status === PromptStatus.OK)
{
updateArc(ptRes3.Point);
app.m_Database.ModelSpace.Append(arc);
app.Database.ModelSpace.Append(arc);
}
JigUtils.End();
}

@ -87,7 +87,7 @@ export class DrawBehindBoard extends DrawBoardTool
)));
b.ApplyMatrix(spaceOcs);
app.m_Database.ModelSpace.Append(b);
app.Database.ModelSpace.Append(b);
}
}
}

@ -32,12 +32,12 @@ export abstract class DrawBoardTool implements Command
this.store = BehindBoardStore.GetInstance();
this.modalType = BoardModalType.Be;
}
app.m_Editor.m_ModalManage.RenderModeless(
app.Editor.ModalManage.RenderModeless(
BoardModal,
ModalPosition.Center,
{ store: this.store, type: this.modalType });
app.m_Editor.m_ModalManage.Callback = async () =>
app.Editor.ModalManage.Callback = async () =>
{
await this.SelectAndBuildBoard();
}
@ -45,8 +45,8 @@ export abstract class DrawBoardTool implements Command
private async SelectAndBuildBoard()
{
//原来禁用捕捉开启状态
let oldSnapState = app.m_Editor.GetPointServices.snapServices.Disabled;
app.m_Editor.GetPointServices.snapServices.Disabled = true;
let oldSnapState = app.Editor.GetPointServices.snapServices.Disabled;
app.Editor.GetPointServices.snapServices.Disabled = true;
while (true)
{
@ -55,7 +55,7 @@ export abstract class DrawBoardTool implements Command
if (selectSpace.GetPointRes.Status === PromptStatus.None)
{
app.m_Editor.m_ModalManage.RenderModeless(
app.Editor.ModalManage.RenderModeless(
BoardModal,
ModalPosition.Old,
{ store: this.store, type: this.modalType });
@ -71,13 +71,13 @@ export abstract class DrawBoardTool implements Command
this.buildBoard();
app.m_Editor.UpdateScreen();
app.Editor.UpdateScreen();
if (!userConfig.isContinuousDraw)
break;
}
//恢复原先状态
app.m_Editor.GetPointServices.snapServices.Disabled = oldSnapState;
app.Editor.GetPointServices.snapServices.Disabled = oldSnapState;
}
//构建板件

@ -19,7 +19,7 @@ export class DrawClosingStrip implements Command
private store: ClosingStripStore;
async exec()
{
let exSsRes = await app.m_Editor.GetSelection({ Msg: "请选择对象<全部选择>:", UseSelect: true, Filter: { filterTypes: [Board] } });
let exSsRes = await app.Editor.GetSelection({ Msg: "请选择对象<全部选择>:", UseSelect: true, Filter: { filterTypes: [Board] } });
if (exSsRes.Status === PromptStatus.Cancel)
return;
@ -28,7 +28,7 @@ export class DrawClosingStrip implements Command
if (boards.length > 0)
{
this.store = ClosingStripStore.GetInstance();
app.m_Editor.m_ModalManage.RenderModeless(BoardModal, ModalPosition.Center, { store: this.store, type: BoardModalType.Skt });
app.Editor.ModalManage.RenderModeless(BoardModal, ModalPosition.Center, { store: this.store, type: BoardModalType.Skt });
let useOptionCallback = begin(this.store, this.store.UpdateOption, (cof) =>
{
@ -44,7 +44,7 @@ export class DrawClosingStrip implements Command
useOptionCallback();
useOptionCallback = null;
})
let res = await app.m_Editor.m_ModalManage.Wait();
let res = await app.Editor.ModalManage.Wait();
if (res.Status !== ModalState.Ok) return;
@ -58,7 +58,7 @@ export class DrawClosingStrip implements Command
message: "收口条已绘制",
timeout: 1000
});
res = await app.m_Editor.m_ModalManage.Wait();
res = await app.Editor.ModalManage.Wait();
if (res.Status !== ModalState.Ok)
break;
}
@ -157,9 +157,9 @@ export class DrawClosingStrip implements Command
//收口条颜色
b.ColorIndex = 4;
b.ApplyMatrix(rot);
app.m_Database.ModelSpace.Append(b);
app.Database.ModelSpace.Append(b);
}
app.m_Editor.UpdateScreen();
app.Editor.UpdateScreen();
}
}

@ -33,8 +33,8 @@ export class DrawDoor implements Command
store.totalDepth = parseFloat(ToFixed(size.y, 2));
store.m_Option.depth = store.totalDepth;
app.m_Editor.m_ModalManage.RenderModal(DoorModal, ModalPosition.Center, { store });
let res = await app.m_Editor.m_ModalManage.Wait();
app.Editor.ModalManage.RenderModal(DoorModal, ModalPosition.Center, { store });
let res = await app.Editor.ModalManage.Wait();
if (res.Status === ModalState.Ok)
{
@ -129,7 +129,7 @@ export class DrawDoor implements Command
for (let br of brs)
{
br.ApplyMatrix(spaceParse.m_SpaceOCS);
app.m_Database.ModelSpace.Append(br);
app.Database.ModelSpace.Append(br);
}
}
}

@ -25,8 +25,8 @@ export class DrawDrawrer implements Command
store.totalDepth = parseFloat(FixedNotZero(size.y, 2));
store.m_Option.depth = store.totalDepth;
app.m_Editor.m_ModalManage.RenderModal(DoorModal, ModalPosition.Center, { store });
let res = await app.m_Editor.m_ModalManage.Wait();
app.Editor.ModalManage.RenderModal(DoorModal, ModalPosition.Center, { store });
let res = await app.Editor.ModalManage.Wait();
if (res.Status === ModalState.Ok)
{

@ -86,7 +86,7 @@ export class DrawLayerBoard extends DrawBoardTool
b.ApplyMatrix(spaceOCS);
//绘制层板钉
this.buildLayerNail(b);
app.m_Database.ModelSpace.Append(b);
app.Database.ModelSpace.Append(b);
}
}
//初始化层板钉
@ -284,7 +284,7 @@ export class DrawLayerBoard extends DrawBoardTool
for (let nailProps of buildNails)
{
nailProps.nail.ApplyMatrix(br.OCS);
app.m_Database.ModelSpace.Append(nailProps.nail);
app.Database.ModelSpace.Append(nailProps.nail);
nailIDs.push(nailProps.nail.Id);
if (nailProps.pos === NailPos.Left)

@ -15,9 +15,9 @@ export class DrawLeftRight implements Command
{
let store = SideBoardStore.GetInstance();
app.m_Editor.m_ModalManage.RenderModeless(BoardModal, ModalPosition.Center, { store, type: BoardModalType.LR });
app.Editor.ModalManage.RenderModeless(BoardModal, ModalPosition.Center, { store, type: BoardModalType.LR });
app.m_Editor.m_ModalManage.Callback = async () =>
app.Editor.ModalManage.Callback = async () =>
{
let data = store.m_Option;
let lenght = data.height;
@ -29,7 +29,7 @@ export class DrawLeftRight implements Command
let rightBoard = JigUtils.Draw(Board.CreateBoard(lenght, width, thickness, BoardType.Vertical));
rightBoard.ApplyMatrix(MoveMatrix(new Vector3(spacing - thickness)));
let ptRes = await app.m_Editor.GetPoint({
let ptRes = await app.Editor.GetPoint({
Msg: "请拾取基点:",
Callback: (v) =>
{
@ -51,8 +51,8 @@ export class DrawLeftRight implements Command
rightBoard.Name = "右侧板"
rightBoard.BoardProcessOption = store.BoardProcessOption;
app.m_Database.ModelSpace.Append(leftBoard);
app.m_Database.ModelSpace.Append(rightBoard);
app.Database.ModelSpace.Append(leftBoard);
app.Database.ModelSpace.Append(rightBoard);
}
JigUtils.End();

@ -14,9 +14,9 @@ export class DrawSingleBoard implements Command
async exec()
{
let store = SingleBoardStore.GetInstance();
app.m_Editor.m_ModalManage.RenderModeless(BoardModal, ModalPosition.Center, { store, type: BoardModalType.Sg });
app.Editor.ModalManage.RenderModeless(BoardModal, ModalPosition.Center, { store, type: BoardModalType.Sg });
app.m_Editor.m_ModalManage.Callback = async () =>
app.Editor.ModalManage.Callback = async () =>
{
const opt = store.m_Option;
let board = JigUtils.Draw(Board.CreateBoard(opt.height, opt.width, opt.thickness, opt.type));
@ -28,7 +28,7 @@ export class DrawSingleBoard implements Command
board.RotateBoard(rx, ry, rz);
let ptRes = await app.m_Editor.GetPoint({
let ptRes = await app.Editor.GetPoint({
Msg: "选择基点",
Callback: v =>
{
@ -41,7 +41,7 @@ export class DrawSingleBoard implements Command
{
let vec = ptRes.Point.sub(board.MinPoint);
board.ApplyMatrix(MoveMatrix(vec));
app.m_Database.ModelSpace.Append(board);
app.Database.ModelSpace.Append(board);
}
JigUtils.End();

@ -23,7 +23,7 @@ export async function selectOutlinePosition(cus: Curve[] | Curve)
else
moveCus = cus;
let ptRes = await app.m_Editor.GetPoint({
let ptRes = await app.Editor.GetPoint({
Msg: "点取位置",
Callback: v =>
{
@ -33,7 +33,7 @@ export async function selectOutlinePosition(cus: Curve[] | Curve)
});
if (ptRes.Status === PromptStatus.OK)
moveCus.forEach(cu => app.m_Database.ModelSpace.Append(cu));
moveCus.forEach(cu => app.Database.ModelSpace.Append(cu));
JigUtils.End();
}
@ -55,7 +55,7 @@ export function BoardApplyContour(contour: ExtureContour, brs: Board[], isKeepSi
br.Width = oldWidth;
}
}
app.m_Editor.UpdateScreen();
app.Editor.UpdateScreen();
}
@ -72,7 +72,7 @@ export async function SelectExtrudeContour(selectInside = false, useExtrude = fa
let Msg = useExtrude ? "请选择(拉伸实体,面域或曲线):" : "请选择(面域或曲线):";
let filterTypes = useExtrude ? [Region, ExtureSolid, Curve] : [Region, Curve];
let ssRes = await app.m_Editor.GetSelection({
let ssRes = await app.Editor.GetSelection({
Msg,
Filter: { filterTypes },
Once: true
@ -87,7 +87,7 @@ export async function SelectExtrudeContour(selectInside = false, useExtrude = fa
{
if (selectInside || !en.IsClose)
{
let cus = app.m_Viewer.VisibleEntitys.filter(e => e instanceof Curve) as Curve[];
let cus = app.Viewer.VisibleEntitys.filter(e => e instanceof Curve) as Curve[];
let cuGroups = curveLinkGroup(cus);
@ -148,9 +148,9 @@ export function ExtrudeApplyContour(ext: ExtureSolid, contour: ExtureContour): M
applyMatrix = ext.OCSInv;
else if (isParallelTo(
contour.Normal,
new Vector3().setFromMatrixColumn(app.m_Editor.UCSMatrix, 2)
new Vector3().setFromMatrixColumn(app.Editor.UCSMatrix, 2)
))
applyMatrix = app.m_Editor.UCSMatrixInv;
applyMatrix = app.Editor.UCSMatrixInv;
else
applyMatrix = contour.OCSInv;

@ -25,9 +25,9 @@ export class DrawSpecialShapedBoard implements Command
store.m_Option.height = parseFloat(FixedNotZero(this.ext.Height, 2));
store.m_Option.width = parseFloat(FixedNotZero(this.ext.Width, 2));
app.m_Editor.m_ModalManage.RenderModeless(SpecialShapeBoardModal, ModalPosition.Center, { store });
app.Editor.ModalManage.RenderModeless(SpecialShapeBoardModal, ModalPosition.Center, { store });
app.m_Editor.m_ModalManage.Callback = async () =>
app.Editor.ModalManage.Callback = async () =>
{
let br = new Board();
br.BoardType = store.m_Option.type;
@ -61,7 +61,7 @@ export class DrawSpecialShapedBoard implements Command
}
br.ApplyMatrix(toCurve);
ExtrudeApplyContour(br, contour);
app.m_Database.ModelSpace.Append(br);
app.Database.ModelSpace.Append(br);
//删除被应用的轮廓
if (useCurves)
@ -70,6 +70,6 @@ export class DrawSpecialShapedBoard implements Command
}
}
else
app.m_Editor.Prompt('选择对象无效')
app.Editor.Prompt('选择对象无效')
}
}

@ -8,7 +8,7 @@ export class DrawSpecialShapedBoardByContour implements Command
{
async exec()
{
let brRes = await app.m_Editor.GetSelection({
let brRes = await app.Editor.GetSelection({
Msg: "请选择应用异形轮廓的板件",
Filter: { filterTypes: [Board] }
})
@ -24,7 +24,7 @@ export class DrawSpecialShapedBoardByContour implements Command
return;
}
let keyWord = await app.m_Editor.GetKeyWords({
let keyWord = await app.Editor.GetKeyWords({
Msg: "不改变板件大小:",
KeyWordList: [{ key: "Y", msg: "是" }, { key: "N", msg: "否" }]
});

@ -18,9 +18,9 @@ export class DrawTopBottomBoard implements Command
async exec()
{
this.store = TopBottomBoardStore.GetInstance();
app.m_Editor.m_ModalManage.RenderModal(BoardModal, ModalPosition.Center, { store: this.store, type: BoardModalType.TB });
app.Editor.ModalManage.RenderModal(BoardModal, ModalPosition.Center, { store: this.store, type: BoardModalType.TB });
let res = await app.m_Editor.m_ModalManage.Wait();
let res = await app.Editor.ModalManage.Wait();
if (res.Status === ModalState.Ok)
{
@ -149,7 +149,7 @@ export class DrawTopBottomBoard implements Command
basePt.add(new Vector3(rightExt, -frontDist));
board.ApplyMatrix(MoveMatrix(basePt));
board.ApplyMatrix(spaceParse.m_SpaceOCS);
app.m_Database.ModelSpace.Append(board);
app.Database.ModelSpace.Append(board);
}
private DrawFoolBoard(opt: TBBoardOption, spaceParse: ISpaceParse)
@ -166,7 +166,7 @@ export class DrawTopBottomBoard implements Command
footBoard.BoardProcessOption.lines = LinesType.Reverse;
footBoard.ApplyMatrix(MoveMatrix(spaceParse.m_SpaceBox.min.add(new Vector3(0, opt.footThickness + opt.footBehindShrink))));
footBoard.ApplyMatrix(spaceParse.m_SpaceOCS);
app.m_Database.ModelSpace.Append(footBoard);
app.Database.ModelSpace.Append(footBoard);
}
}
}

@ -70,7 +70,7 @@ export class DrawVerticalBoard extends DrawBoardTool
)));
b.ApplyMatrix(spaceOCS);
app.m_Database.ModelSpace.Append(b);
app.Database.ModelSpace.Append(b);
}
}
}

@ -10,7 +10,7 @@ export class DrawCircle implements Command
{
async exec()
{
let ptRes = await app.m_Editor.GetPoint({
let ptRes = await app.Editor.GetPoint({
Msg: "指定圆的圆心",
KeyWordList: [{ key: "3P", msg: "三点" }, { key: "2P", msg: "二点" }, { key: "T", msg: "切点、切点、半径" }]
});
@ -44,10 +44,10 @@ export class DrawCircle implements Command
async DrawCircleUseRadious(val: Vector3)
{
let cir = new Circle();
cir.ApplyMatrix(app.m_Editor.UCSMatrix);
cir.ApplyMatrix(app.Editor.UCSMatrix);
cir.Center = val;
JigUtils.Draw(cir);
let disRes = await app.m_Editor.GetDistance({
let disRes = await app.Editor.GetDistance({
Msg: "指定圆的半径:",
BasePoint: val,
Callback: (v) => cir.Radius = v,
@ -55,18 +55,18 @@ export class DrawCircle implements Command
if (disRes.Status === PromptStatus.OK)
{
cir.Radius = disRes.Distance;
app.m_Database.ModelSpace.Append(cir);
app.Database.ModelSpace.Append(cir);
}
JigUtils.Destroy();
}
async DrawCicleUseTwoPoint()
{
let ptRes1 = await app.m_Editor.GetPoint({ Msg: "指定圆直径的第一个端点:" });
let ptRes1 = await app.Editor.GetPoint({ Msg: "指定圆直径的第一个端点:" });
if (ptRes1.Status != PromptStatus.OK)
return;
let cir = new Circle();
JigUtils.Draw(cir);
let ptRes2 = await app.m_Editor.GetPoint({
let ptRes2 = await app.Editor.GetPoint({
Msg: "指定圆直径的第二个端点:",
BasePoint: ptRes1.Point,
AllowDrawRubberBand: true,
@ -80,18 +80,18 @@ export class DrawCircle implements Command
{
cir.Radius = ptRes2.Point.distanceTo(ptRes1.Point) / 2;
cir.Center = midPoint(ptRes2.Point, ptRes1.Point);
app.m_Database.ModelSpace.Append(cir);
app.Database.ModelSpace.Append(cir);
}
JigUtils.Destroy();
}
async DrawCicleUseThreePoint()
{
let ptRes1 = await app.m_Editor.GetPoint({ Msg: "指定圆上第一个点:" });
let ptRes1 = await app.Editor.GetPoint({ Msg: "指定圆上第一个点:" });
if (ptRes1.Status != PromptStatus.OK)
return;
let cir = new Circle();
let ar = new Arc();
let ptRes2 = await app.m_Editor.GetPoint({
let ptRes2 = await app.Editor.GetPoint({
Msg: "指定圆上第二个点:",
BasePoint: ptRes1.Point,
AllowDrawRubberBand: true
@ -99,7 +99,7 @@ export class DrawCircle implements Command
if (ptRes2.Status != PromptStatus.OK)
return;
JigUtils.Draw(cir);
let ptRes3 = await app.m_Editor.GetPoint({
let ptRes3 = await app.Editor.GetPoint({
Msg: "指定圆上第三个点:",
BasePoint: ptRes2.Point,
AllowDrawRubberBand: true,
@ -115,7 +115,7 @@ export class DrawCircle implements Command
ar.FromThreePoint(ptRes1.Point, ptRes2.Point, ptRes3.Point);
cir.Radius = ar.Radius;
cir.Center = ar.Center;
app.m_Database.ModelSpace.Append(cir);
app.Database.ModelSpace.Append(cir);
}
JigUtils.Destroy();
}

@ -8,14 +8,14 @@ export class DrawCylineder implements Command
{
async exec()
{
let ptRes = await app.m_Editor.GetPoint({ Msg: "指定底面中心点" });
let ptRes = await app.Editor.GetPoint({ Msg: "指定底面中心点" });
if (ptRes.Status === PromptStatus.Cancel)
return;
let cylineder = JigUtils.Draw(new Cylineder());
cylineder.Center = ptRes.Point;
let disRes = await app.m_Editor.GetDistance({
let disRes = await app.Editor.GetDistance({
Msg: "指定底圆的半径:",
BasePoint: ptRes.Point,
Callback: (v) => cylineder.Radius = v,
@ -24,7 +24,7 @@ export class DrawCylineder implements Command
return;
cylineder.Radius = disRes.Distance;
disRes = await app.m_Editor.GetDistance({
disRes = await app.Editor.GetDistance({
Msg: "指定圆柱高度:",
BasePoint: ptRes.Point,
Callback: (v) => cylineder.Height = v,
@ -34,7 +34,7 @@ export class DrawCylineder implements Command
if (disRes.Status === PromptStatus.OK)
{
cylineder.Height = disRes.Distance;
app.m_Database.ModelSpace.Append(cylineder);
app.Database.ModelSpace.Append(cylineder);
}
}
}

@ -28,7 +28,7 @@ export class Command_DimContinue implements Command
{
async exec()
{
let dimRes = await app.m_Editor.GetEntity({
let dimRes = await app.Editor.GetEntity({
Msg: "选择连续标注",
Filter: { filterTypes: [AlignedDimension, LineAngularDimension, LinearDimension] }
});

@ -11,13 +11,13 @@ export class DimContinue
async StartDraw(lastDim: Dimension)
{
this.m_LastDim = lastDim.Clone();
let oldUcs = app.m_Editor.UCSMatrix;
app.m_Editor.UCSMatrix = this.m_LastDim.OCS;
let oldUcs = app.Editor.UCSMatrix;
app.Editor.UCSMatrix = this.m_LastDim.OCS;
while (true)
{
let newDim = this.CloneDimension(this.m_LastDim);
JigUtils.Draw(newDim);
let ptRes = await app.m_Editor.GetPoint({
let ptRes = await app.Editor.GetPoint({
AllowNone: true,
BasePoint: this.m_BasePoint,
Msg: "指定第二个尺寸原点",
@ -27,14 +27,14 @@ export class DimContinue
{
let p = ptRes.Point;
this.UpdateNextPoint(p, newDim);
app.m_Database.ModelSpace.Append(newDim);
app.Database.ModelSpace.Append(newDim);
this.Drawed(newDim, p);
}
else
break;
}
this.EndDraw();
app.m_Editor.UCSMatrix = oldUcs;
app.Editor.UCSMatrix = oldUcs;
}
/**
* : ,,

@ -23,7 +23,7 @@ export class Command_Draw2LineAngularDim
{
if (l1)
msg = "请选择第二条直线";
let lineRes = await app.m_Editor.GetEntity({
let lineRes = await app.Editor.GetEntity({
Msg: msg,
Filter: {
filterTypes: [Curve],
@ -85,7 +85,7 @@ export class Command_Draw2LineAngularDim
{
if (!cenPt)
{
let cenPtRes = await app.m_Editor.GetPoint({
let cenPtRes = await app.Editor.GetPoint({
Msg: "指定角的顶点"
})
if (cenPtRes.Status === PromptStatus.Cancel)
@ -94,7 +94,7 @@ export class Command_Draw2LineAngularDim
}
if (!p1)
{
let ptRes = await app.m_Editor.GetPoint({
let ptRes = await app.Editor.GetPoint({
Msg: "指定角的第一个端点",
BasePoint: cenPt,
AllowDrawRubberBand: true
@ -104,7 +104,7 @@ export class Command_Draw2LineAngularDim
p1 = ptRes.Point;
}
let ptRes = await app.m_Editor.GetPoint({
let ptRes = await app.Editor.GetPoint({
Msg: "指定角的第二个端点",
BasePoint: cenPt,
AllowDrawRubberBand: true
@ -124,14 +124,14 @@ export class Command_Draw2LineAngularDim
let derv2 = l2.GetFistDeriv(0).normalize();
if (isParallelTo(derv1, derv2))
{
app.m_Editor.Prompt("两直线平行!");
app.Editor.Prompt("两直线平行!");
return;
}
let norm = derv1.clone().cross(derv2);
let ocs: Matrix4;
for (const mat of [app.m_Editor.UCSMatrix, l1.OCS, l2.OCS])
for (const mat of [app.Editor.UCSMatrix, l1.OCS, l2.OCS])
{
if (isParallelTo(
new Vector3().setFromMatrixColumn(mat, 2),
@ -144,7 +144,7 @@ export class Command_Draw2LineAngularDim
}
if (!ocs)
{
app.m_Editor.Prompt("绘制的标注实体和当前的UCS坐标系不一致,绘制失败.");
app.Editor.Prompt("绘制的标注实体和当前的UCS坐标系不一致,绘制失败.");
return;
}
let dim = new LineAngularDimension();
@ -160,7 +160,7 @@ export class Command_Draw2LineAngularDim
JigUtils.Draw(dim);
let ptRes = await app.m_Editor.GetPoint({
let ptRes = await app.Editor.GetPoint({
Callback: (p) =>
{
dim.UpdateDimData(undefined, undefined, undefined, undefined, p);
@ -169,7 +169,7 @@ export class Command_Draw2LineAngularDim
if (ptRes.Status === PromptStatus.OK)
{
app.m_Database.ModelSpace.Append(dim);
app.Database.ModelSpace.Append(dim);
await ContinueDrawDimension(dim);
}
}

@ -23,7 +23,7 @@ export class DrawAlignedDimension implements Command
protected DimType = DimensionType.Align;
async exec()
{
let ptRes = await app.m_Editor.GetPoint({ Msg: "请指定第一条尺寸线原点:", AllowNone: true });
let ptRes = await app.Editor.GetPoint({ Msg: "请指定第一条尺寸线原点:", AllowNone: true });
if (ptRes.Status === PromptStatus.OK)
await this.SelectPointDim(ptRes.Point);
@ -33,7 +33,7 @@ export class DrawAlignedDimension implements Command
}
private async SelectPointDim(footPt1: Vector3)
{
let ptRes = await app.m_Editor.GetPoint({
let ptRes = await app.Editor.GetPoint({
Msg: "请输入第二条尺寸线原点:",
BasePoint: footPt1,
AllowDrawRubberBand: true,
@ -47,7 +47,7 @@ export class DrawAlignedDimension implements Command
}
private async PickUpDim()
{
let enRes = await app.m_Editor.GetEntity({
let enRes = await app.Editor.GetEntity({
Msg: "选择对象",
Filter: { filterTypes: [Curve] }
});
@ -84,7 +84,7 @@ export class DrawAlignedDimension implements Command
else
alDim = new LinearDimension();
alDim.ApplyMatrix(app.m_Editor.UCSMatrix);
alDim.ApplyMatrix(app.Editor.UCSMatrix);
alDim.FootP1 = footPt1;
alDim.ArmP1 = footPt1;
@ -105,7 +105,7 @@ export class DrawAlignedDimension implements Command
return p;
}
let ptRes = await app.m_Editor.GetPoint({
let ptRes = await app.Editor.GetPoint({
Msg: "指定尺寸线位置:",
Callback: (v) => { alDim.TextPosition = getPt(v); }
});
@ -113,7 +113,7 @@ export class DrawAlignedDimension implements Command
if (ptRes.Status == PromptStatus.OK)
{
alDim.TextPosition = getPt(ptRes.Point);
app.m_Database.ModelSpace.Append(alDim);
app.Database.ModelSpace.Append(alDim);
await ContinueDrawDimension(alDim);
}
}

@ -22,7 +22,7 @@ export class DrawRadiusDim implements Command
let cu: Arc | Circle;
while (true)
{
let enRes = await app.m_Editor.GetEntity({
let enRes = await app.Editor.GetEntity({
Msg: "选择圆或者圆弧",
Filter: { filterTypes: [Circle, Arc] }
});
@ -45,7 +45,7 @@ export class DrawRadiusDim implements Command
JigUtils.Draw(dim);
let ptRes = await app.m_Editor.GetPoint({
let ptRes = await app.Editor.GetPoint({
Msg: "指定尺寸线位置",
Callback: (p) =>
{
@ -55,7 +55,7 @@ export class DrawRadiusDim implements Command
if (ptRes.Status === PromptStatus.OK)
{
this.UpdateDim(dim, ptRes.Point, startPt, rad);
app.m_Database.ModelSpace.Append(dim);
app.Database.ModelSpace.Append(dim);
}
}
private UpdateDim(dim: RadiusDimension, endPt: Vector3, startPt: Vector3, rad: number)

@ -54,7 +54,7 @@ export class DeleteDrill implements Command
break;
}
let brRes = await app.m_Editor.GetSelection({
let brRes = await app.Editor.GetSelection({
Msg: promptMsg,
KeyWordList: kw,
Filter: { filterTypes }

@ -9,7 +9,7 @@ export class DrawDrilling implements Command
{
async exec()
{
let brsRes = await app.m_Editor.GetSelection({
let brsRes = await app.Editor.GetSelection({
Msg: "选择板件",
UseSelect: true,
Filter: { filterTypes: [Board] }

@ -220,7 +220,7 @@ export class DrawDrillingTool extends Singleton
cloneD.FId = this.m_Face.m_LocalBoard.Id;
cloneD.ApplyMatrix(MoveMatrix(new Vector3(dist)))
.ApplyMatrix(this.m_Face.OCS);
app.m_Database.ModelSpace.Append(cloneD);
app.Database.ModelSpace.Append(cloneD);
newDrillEnts.push(cloneD.Id);
}
newDrillentList.push(newDrillEnts);
@ -420,7 +420,7 @@ export class DrawDrillingTool extends Singleton
if (!suitableOption)
{
app.m_Editor.Prompt("长度" + f.m_Length + "没有合适的规则,或者当前配置不存在" + f.drillType + "类型排钻");
app.Editor.Prompt("长度" + f.m_Length + "没有合适的规则,或者当前配置不存在" + f.drillType + "类型排钻");
continue;
}
let notGangDist = suitableOption.notGangDist;

@ -9,6 +9,6 @@ export class DrillConfig implements Command
async exec()
{
let store = DrillStore.GetInstance();
app.m_Editor.m_ModalManage.RenderModal(DrillModal, ModalPosition.Center, { store });
app.Editor.ModalManage.RenderModal(DrillModal, ModalPosition.Center, { store });
}
}

@ -13,7 +13,7 @@ export class DrillingReactor
constructor()
{
this.Enable = userConfig.openDrillingReactor;
app.m_CommandReactor.OnCommandEnd((cmdName: string, changeObjects, createObjects) =>
app.CommandReactor.OnCommandEnd((cmdName: string, changeObjects, createObjects) =>
{
if (!this.Enable) return;
@ -47,7 +47,7 @@ export class DrillingReactor
private GetSurroundBoards(brList: Board[])
{
let brs: Board[] = [];
for (let ent of app.m_Viewer.VisibleEntitys)
for (let ent of app.Viewer.VisibleEntitys)
{
if (ent instanceof Board && !brList.includes(ent))
brs.push(ent);

@ -15,7 +15,7 @@ export class DrawEllipse implements Command
{
async exec()
{
let ptRes = await app.m_Editor.GetPoint({
let ptRes = await app.Editor.GetPoint({
Msg: "指定椭圆中心",
});
@ -23,7 +23,7 @@ export class DrawEllipse implements Command
return;
//椭圆X轴半径点
let radXRes = await app.m_Editor.GetPoint({
let radXRes = await app.Editor.GetPoint({
Msg: "指定轴端点:",
BasePoint: ptRes.Point,
AllowDrawRubberBand: true,
@ -32,7 +32,7 @@ export class DrawEllipse implements Command
return;
let disVec = radXRes.Point.sub(ptRes.Point);
let ucs = app.m_Editor.UCSMatrix;
let ucs = app.Editor.UCSMatrix;
disVec.applyMatrix4(new Matrix4().getInverse(ucs));
//实例化椭圆
let ellipse = new Ellipse(new Vector3(), disVec.length(), 0, Math.atan2(disVec.y, disVec.x));
@ -41,7 +41,7 @@ export class DrawEllipse implements Command
JigUtils.Draw(ellipse);
//椭圆Y轴
let radYRes = await app.m_Editor.GetDistance({
let radYRes = await app.Editor.GetDistance({
Msg: "指定轴端点:",
BasePoint: ptRes.Point,
Callback: (v) => ellipse.RadY = v,
@ -50,7 +50,7 @@ export class DrawEllipse implements Command
if (radYRes.Status === PromptStatus.OK)
{
ellipse.RadY = radYRes.Distance;
app.m_Database.ModelSpace.Append(ellipse);
app.Database.ModelSpace.Append(ellipse);
}
JigUtils.Destroy();
}

@ -11,7 +11,7 @@ export class DrawFloor implements Command
get scene()
{
return app.m_Viewer.Scene;
return app.Viewer.Scene;
}
constructor()
{
@ -19,7 +19,7 @@ export class DrawFloor implements Command
}
async exec()
{
app.m_Viewer.Camera.position.set(0, 0, 2);
app.Viewer.Camera.position.set(0, 0, 2);
this.drawFloor();
this.drawLight();
@ -34,7 +34,7 @@ export class DrawFloor implements Command
this.loadMaterial();
app.m_Viewer.m_Render.toneMappingExposure = Math.pow(0.68, 5.0); // to allow for very bright scenes.
app.Viewer.Renderer.toneMappingExposure = Math.pow(0.68, 5.0); // to allow for very bright scenes.
}
async loadFbx()
@ -153,12 +153,12 @@ export class DrawFloor implements Command
var clock = new THREE.Clock();
begin(app.m_Viewer, app.m_Viewer.StartRender, () =>
begin(app.Viewer, app.Viewer.StartRender, () =>
{
var time = Date.now() * 0.0005;
var delta = clock.getDelta();
bulbLight.position.z = Math.cos(time) * 0.75 + 1.25;
app.m_Viewer.m_bNeedUpdate = true;
app.Viewer.UpdateRender();
})
}
private drawHemiLight()

@ -14,9 +14,9 @@ export class DrawGripStretch implements Command
{
async exec()
{
if (app.m_Viewer.m_OutlinePass.selectedObjects.length === 0)
if (app.Viewer.OutlinePass.selectedObjects.length === 0)
{
app.m_Editor.Prompt("未选择对象:");
app.Editor.Prompt("未选择对象:");
return;
}
@ -30,7 +30,7 @@ export class DrawGripStretch implements Command
});
for (let en of app.m_Viewer.m_OutlinePass.selectedObjects)
for (let en of app.Viewer.OutlinePass.selectedObjects)
{
if (en instanceof THREE.Mesh || en instanceof THREE.Line)
{
@ -43,7 +43,7 @@ export class DrawGripStretch implements Command
}
}
let pts = new THREE.Points(geometry, material);
app.m_Viewer.Scene.add(pts);
app.Viewer.Scene.add(pts);
}
}
}

@ -9,12 +9,12 @@ export class DrawPointLight implements Command
{
let light = JigUtils.Draw(new PointLight());
let ptRes = await app.m_Editor.GetPoint({
let ptRes = await app.Editor.GetPoint({
Msg: "选择点光源位置",
Callback: p => light.Position = p
});
let valRes = await app.m_Editor.GetDistance({
let valRes = await app.Editor.GetDistance({
Msg: "设置点光源强度",
Default: 1
});
@ -23,7 +23,7 @@ export class DrawPointLight implements Command
return;
light.Intensity = valRes.Distance;
valRes = await app.m_Editor.GetDistance({
valRes = await app.Editor.GetDistance({
Msg: "设置点光源照射距离",
Default: 100
});
@ -31,7 +31,7 @@ export class DrawPointLight implements Command
if (ptRes.Status === PromptStatus.OK)
{
light.Distance = valRes.Distance;
app.m_Database.ModelSpace.Append(light);
app.Database.ModelSpace.Append(light);
}
}
}
@ -41,7 +41,7 @@ export class DrawPointLight2 implements Command
{
let light = JigUtils.Draw(new PointLight());
let ptRes = await app.m_Editor.GetPoint({
let ptRes = await app.Editor.GetPoint({
Msg: "选择点光源位置",
Callback: p => light.Position = p
});
@ -49,7 +49,7 @@ export class DrawPointLight2 implements Command
if (ptRes.Status === PromptStatus.OK)
{
light.Position = ptRes.Point;
app.m_Database.ModelSpace.Append(light);
app.Database.ModelSpace.Append(light);
}
}
}

@ -10,24 +10,24 @@ export class DrawRectAreaLight implements Command
{
async exec()
{
let ptRes = await app.m_Editor.GetPoint({
let ptRes = await app.Editor.GetPoint({
Msg: "选择矩形光范围点"
});
if (ptRes.Status === PromptStatus.Cancel)
return;
let light = JigUtils.Draw(new RectAreaLight());
light.ApplyMatrix(app.m_Editor.UCSMatrix);
light.ApplyMatrix(app.Editor.UCSMatrix);
let p1 = ptRes.Point;
ptRes = await app.m_Editor.GetPoint({
ptRes = await app.Editor.GetPoint({
Msg: "选择矩形光范围点2",
Callback: p => this.UpdateLight(p1, p, light)
});
if (ptRes.Status === PromptStatus.OK)
{
this.UpdateLight(p1, ptRes.Point, light);
app.m_Database.ModelSpace.Append(light);
app.Database.ModelSpace.Append(light);
}
}
private UpdateLight(p1: Vector3, p2: Vector3, light: RectAreaLight)
@ -37,7 +37,7 @@ export class DrawRectAreaLight implements Command
light.Target = cen.add(light.Normal.multiplyScalar(100).negate());
let box = new Box3();
box.setFromPoints([p1, p2].map(p => p.clone().applyMatrix4(app.m_Editor.UCSMatrixInv)));
box.setFromPoints([p1, p2].map(p => p.clone().applyMatrix4(app.Editor.UCSMatrixInv)));
let size = box.getSize(new Vector3());
if (equaln(size.x, 0) || equaln(size.y, 0)) return;
if (!equaln(light.Normal.x, 0))

@ -10,7 +10,7 @@ export class DrawSpotLight implements Command
{
async exec()
{
let ptRes = await app.m_Editor.GetPoint({
let ptRes = await app.Editor.GetPoint({
Msg: "选择光源位置"
});
@ -18,10 +18,10 @@ export class DrawSpotLight implements Command
return;
let light = JigUtils.Draw(new SpotLight());
light.ApplyMatrix(app.m_Editor.UCSMatrix);
light.ApplyMatrix(app.Editor.UCSMatrix);
light.Position = ptRes.Point;
ptRes = await app.m_Editor.GetPoint({
ptRes = await app.Editor.GetPoint({
Msg: "选择照射目标点",
BasePoint: ptRes.Point,
Callback: p => light.Target = p
@ -30,7 +30,7 @@ export class DrawSpotLight implements Command
if (ptRes.Status === PromptStatus.OK)
{
light.Target = ptRes.Point;
app.m_Database.ModelSpace.Append(light);
app.Database.ModelSpace.Append(light);
}
}
@ -40,8 +40,8 @@ export class DrawSpotLight2 implements Command
async exec()
{
let light = JigUtils.Draw(new SpotLight());
light.ApplyMatrix(app.m_Editor.UCSMatrix);
let ptRes = await app.m_Editor.GetPoint({
light.ApplyMatrix(app.Editor.UCSMatrix);
let ptRes = await app.Editor.GetPoint({
Msg: "选择射灯位置",
Callback: p => this.update(light, p)
});
@ -49,13 +49,13 @@ export class DrawSpotLight2 implements Command
if (ptRes.Status === PromptStatus.OK)
{
this.update(light, ptRes.Point);
app.m_Database.ModelSpace.Append(light);
app.Database.ModelSpace.Append(light);
}
}
update(light: SpotLight, p: Vector3)
{
let ucs = app.m_Editor.UCSMatrix;
let ucsInv = app.m_Editor.UCSMatrixInv;
let ucs = app.Editor.UCSMatrix;
let ucsInv = app.Editor.UCSMatrixInv;
light.Position = p;
let target = p.clone().applyMatrix4(ucsInv)
.setZ(0).applyMatrix4(ucs);

@ -13,7 +13,7 @@ export class DrawLine implements Command
{
async exec()
{
let ptRes = await app.m_Editor.GetPoint({ Msg: "请输入第一个点:" });
let ptRes = await app.Editor.GetPoint({ Msg: "请输入第一个点:" });
if (ptRes.Status != PromptStatus.OK)
return;
@ -22,8 +22,8 @@ export class DrawLine implements Command
let cir: Circle | Arc;
if (isTan)
{
let pick = new SelectPick(app.m_Viewer, app.m_Viewer.WorldToScreen(ptRes.Point));
pick.Select(app.m_Viewer.VisibleObjects, { filterTypes: [Circle, Arc] });
let pick = new SelectPick(app.Viewer, app.Viewer.WorldToScreen(ptRes.Point));
pick.Select(app.Viewer.VisibleObjects, { filterTypes: [Circle, Arc] });
let cirs = pick.SelectEntityList as Circle[];
for (let e of cirs)
@ -37,7 +37,7 @@ export class DrawLine implements Command
while (true)
{
let line = new Line();
let ucsMatrix = app.m_Editor.UCSMatrix;
let ucsMatrix = app.Editor.UCSMatrix;
line.ApplyMatrix(ucsMatrix);
line.StartPoint = ptLast;
@ -59,7 +59,7 @@ export class DrawLine implements Command
line.EndPoint = p;
}
ptRes = await app.m_Editor.GetPoint({
ptRes = await app.Editor.GetPoint({
Msg: "请输入点2:",
BasePoint: isFirstAndTan ? undefined : ptLast,
AllowDrawRubberBand: true,
@ -75,7 +75,7 @@ export class DrawLine implements Command
{
updateEndPt(ptRes.Point);
app.m_Database.ModelSpace.Append(line);
app.Database.ModelSpace.Append(line);
drawLines.push(line);
ptLast = ptRes.Point;
continue;
@ -87,7 +87,7 @@ export class DrawLine implements Command
if (drawLines.length > 0)
{
let lastLine = drawLines[drawLines.length - 1];
app.m_Database.ModelSpace.Remove(lastLine);
app.Database.ModelSpace.Remove(lastLine);
drawLines.pop();
ptLast = lastLine.StartPoint;
@ -98,7 +98,7 @@ export class DrawLine implements Command
if (drawLines.length > 1)
{
let line = new Line(ptLast, drawLines[0].StartPoint);
app.m_Database.ModelSpace.Append(line);
app.Database.ModelSpace.Append(line);
break;
}
}

@ -10,14 +10,14 @@ export class CMD_DrawPoint implements Command
{
while (true)
{
app.m_Database.hm.StartMark();
let ptRes = await app.m_Editor.GetPoint({ Msg: "请输入或点取点的位置" });
app.Database.hm.StartMark();
let ptRes = await app.Editor.GetPoint({ Msg: "请输入或点取点的位置" });
if (ptRes.Status != PromptStatus.OK)
break;
else
{
let ptEnt = new Point(ptRes.Point);
app.m_Database.ModelSpace.Append(ptEnt);
app.Database.ModelSpace.Append(ptEnt);
continue;
}
}

@ -21,8 +21,8 @@ export class DrawPolyline
this.model = PolylineModel.Line;
let pl = new Polyline();
pl.ApplyMatrix(app.m_Editor.UCSMatrix);
app.m_Database.ModelSpace.Append(pl);
pl.ApplyMatrix(app.Editor.UCSMatrix);
app.Database.ModelSpace.Append(pl);
let plJig = JigUtils.Draw(pl);
@ -50,7 +50,7 @@ export class DrawPolyline
}
plJig.AddVertexAt(plJig.NumberOfVertices, new Vector2());
let p = await app.m_Editor.GetPoint(ops);
let p = await app.Editor.GetPoint(ops);
if (p.Status === PromptStatus.OK)
{
@ -104,7 +104,7 @@ export class DrawPolyline
JigUtils.End();
if (pl.NumberOfVertices < 2)
{
app.m_Database.ModelSpace.Remove(pl);
app.Database.ModelSpace.Remove(pl);
return true;
}
}
@ -133,7 +133,7 @@ export class DrawPolyline
pl.SetBulgeAt(ptCout - 2, Math.tan(cirAng * 0.25));
}
app.m_Editor.UpdateScreen();
app.Editor.UpdateScreen();
}
RemoveLastVertex(pl: Polyline)

@ -7,15 +7,15 @@ export class DrawRect implements Command
async exec()
{
let rectRes = await app.m_Editor.GetRectPoint();
let rectRes = await app.Editor.GetRectPoint();
if (rectRes.Status === PromptStatus.OK)
{
let rec = new Polyline();
rec.Create2Pt(rectRes.Point1UCS, rectRes.Point2UCS);
rec.ApplyMatrix(app.m_Editor.UCSMatrix);
rec.ApplyMatrix(app.Editor.UCSMatrix);
app.m_Database.ModelSpace.Append(rec);
app.Database.ModelSpace.Append(rec);
}
}
}

@ -9,7 +9,7 @@ export class DrawRegion implements Command
{
async exec()
{
let ssRes = await app.m_Editor.GetSelection({ UseSelect: true, Filter: { filterTypes: [Curve] } });
let ssRes = await app.Editor.GetSelection({ UseSelect: true, Filter: { filterTypes: [Curve] } });
if (ssRes.Status !== PromptStatus.OK)
return;
@ -23,9 +23,9 @@ export class DrawRegion implements Command
if (cu.IsClose)
{
let reg = Region.CreateFromCurves([cu.Clone() as Curve]);
if(reg)
if (reg)
{
app.m_Database.ModelSpace.Append(reg);
app.Database.ModelSpace.Append(reg);
cu.Erase();
}
}
@ -36,9 +36,9 @@ export class DrawRegion implements Command
{
let reg = new RegionParse(lines, 3);
for (let routes of reg.m_RegionsOutline)
for (let routes of reg.RegionsOutline)
this.DrawRegion(routes);
for (let routes of reg.m_RegionsInternal)
for (let routes of reg.RegionsInternal)
this.DrawRegion(routes);
for (let cu of cus)
@ -47,11 +47,11 @@ export class DrawRegion implements Command
cu.Erase();
}
for (let [, cus] of reg.m_ExpLineMap)
for (let [, cus] of reg.ExpLineMap)
{
for (let c of cus)
if (!reg.GetCueveUsed(c))
app.m_Database.ModelSpace.Append(c);
app.Database.ModelSpace.Append(c);
}
}
}
@ -62,6 +62,6 @@ export class DrawRegion implements Command
cus.push(r.curve);
let reg = Region.CreateFromCurves(cus);
if (reg)
app.m_Database.ModelSpace.Append(reg);
app.Database.ModelSpace.Append(reg);
}
}

@ -9,7 +9,7 @@ export class DrawSky implements Command
async exec()
{
let sky = new Sky();
app.m_Viewer.Scene.add(sky);
app.Viewer.Scene.add(sky);
sky.scale.setScalar(50);
sky.rotateY(Math.PI);

@ -6,12 +6,12 @@ export class DrawSphere implements Command
async exec()
{
let sphere = new Mesh(new SphereGeometry(1, 16, 16));
let ptRes = app.m_Editor.GetPoint({
let ptRes = app.Editor.GetPoint({
Callback: (pt) =>
{
sphere.position.copy(pt);
}
});
app.m_Viewer.Scene.add(sphere);
app.Viewer.Scene.add(sphere);
}
}

@ -9,8 +9,8 @@ export class DrawSpline implements Command
{
async exec()
{
app.m_Editor.Prompt("请输入一个点:");
let ptRes = await app.m_Editor.GetPoint({ Msg: "请输入第一个点:" });
app.Editor.Prompt("请输入一个点:");
let ptRes = await app.Editor.GetPoint({ Msg: "请输入第一个点:" });
if (ptRes.Status != PromptStatus.OK)
return;
let ptLast = ptRes.Point;
@ -25,10 +25,10 @@ export class DrawSpline implements Command
pts.push(ptLast);
if (pts.length === 2)
{
app.m_Database.ModelSpace.Append(spline);
app.Database.ModelSpace.Append(spline);
}
app.m_Editor.Prompt("请输入点2:");
ptRes = await app.m_Editor.GetPoint({
app.Editor.Prompt("请输入点2:");
ptRes = await app.Editor.GetPoint({
Msg: "请输入点2:",
BasePoint: ptLast,
AllowDrawRubberBand: true,

@ -167,17 +167,17 @@ export class DrawRegTest implements Command
for (let e of culist)
{
app.m_Database.ModelSpace.Append(e);
app.Database.ModelSpace.Append(e);
}
let alg = new RegionParse(culist);
for (let r of alg.m_RegionsOutline)
for (let r of alg.RegionsOutline)
{
createReg(r);
}
for (let r of alg.m_RegionsInternal)
for (let r of alg.RegionsInternal)
{
createReg(r);
}
@ -208,5 +208,5 @@ function createReg(r: Set<Route>)
let cus: Curve[] = [];
r.forEach(route => cus.push(route.curve.Clone() as Curve));
let re = Region.CreateFromCurves(cus)
app.m_Database.ModelSpace.Append(re);
app.Database.ModelSpace.Append(re);
}

@ -9,11 +9,11 @@ export class DrawText implements Command
{
async exec()
{
let ptRes = await app.m_Editor.GetPoint({ Msg: "指定文字的起点" });
let ptRes = await app.Editor.GetPoint({ Msg: "指定文字的起点" });
if (ptRes.Status === PromptStatus.Cancel)
return;
let startPoint = ptRes.Point;
let hRes = await app.m_Editor.GetDistance({
let hRes = await app.Editor.GetDistance({
Msg: "指定高度",
BasePoint: startPoint,
Default: 30
@ -24,7 +24,7 @@ export class DrawText implements Command
if (equaln(height, 0) || !height) return;
hRes = await app.m_Editor.GetAngle({
hRes = await app.Editor.GetAngle({
Msg: "指定文字旋转角度",
BasePoint: startPoint,
Default: 0

@ -13,7 +13,7 @@ import { Line } from "../DatabaseServices/Entity/Line";
/**构建顶线 */
export async function buildTopline(outline: Polyline)
{
let brsRes = await app.m_Editor.GetSelection({
let brsRes = await app.Editor.GetSelection({
Msg: "选择柜体或者曲线",
Filter: { filterTypes: [Board, Arc, Line, Polyline] }
});
@ -52,7 +52,7 @@ async function handleBoard(outline: Polyline, brs: Board[])
JigUtils.Draw(cu);
updateBrsVisible(false);
let cuRes = await app.m_Editor.GetSelection({
let cuRes = await app.Editor.GetSelection({
Msg: "选择没有靠墙的边",
Filter: { filterTypes: [Curve] }
})
@ -77,6 +77,6 @@ function draw(outline: Polyline, cus: Curve[])
path.Join(c);
let sweepSolid = new SweepSolid(outline, path);
app.m_Database.ModelSpace.Append(sweepSolid);
app.Database.ModelSpace.Append(sweepSolid);
}
}

@ -9,6 +9,6 @@ export class ConfigureWineRack implements Command
async exec()
{
let store = WineRackStore.GetInstance() as WineRackStore;
app.m_Editor.m_ModalManage.RenderModal(WineRackModal, ModalPosition.Center, { store });
app.Editor.ModalManage.RenderModal(WineRackModal, ModalPosition.Center, { store });
}
}

@ -642,7 +642,7 @@ export class DrawBlisWineRackTool extends DrawWineRackTool
br.ApplyMatrix(MoveMatrix(new Vector3(this.space.Size.x - actualWidth)));
}
br.ApplyMatrix(this.space.m_SpaceOCS);
app.m_Database.ModelSpace.Append(br);
app.Database.ModelSpace.Append(br);
}
}
}

@ -99,7 +99,7 @@ export class DrawUprightWineRackTool extends DrawWineRackTool
let br = verBr.Clone();
br.Name = "右板" + i;
br.ApplyMatrix(MoveMatrix(min.clone().add(new Vector3(config.gripWidth * i + (i - 1) * brThick)))).ApplyMatrix(space.m_SpaceOCS);
app.m_Database.ModelSpace.Append(br);
app.Database.ModelSpace.Append(br);
}
@ -112,7 +112,7 @@ export class DrawUprightWineRackTool extends DrawWineRackTool
br.ApplyMatrix(MoveMatrix(
min.clone().add(new Vector3(spaceWidth, 0, gripHeight * i + (i - 1) * brThick))))
.ApplyMatrix(space.m_SpaceOCS);
app.m_Database.ModelSpace.Append(br);
app.Database.ModelSpace.Append(br);
}
}
ParseBrTooth(br: Board, gripHeight?: number)

@ -135,7 +135,7 @@ export class DrawWineRackTool extends Singleton
br.BoardProcessOption.bigHoleDir = FaceDirection.Back;
br.Position = position;
br.ApplyMatrix(this.space.m_SpaceOCS);
app.m_Database.ModelSpace.Append(br);
app.Database.ModelSpace.Append(br);
}
if (config.isDrawVer && (config.arrayType === EWRackArrayType.Fixed || config.fullType === EFullType.ByHeight))
{
@ -157,7 +157,7 @@ export class DrawWineRackTool extends Singleton
this.GetBoardProcessOption(br);
br.Position = position;
br.ApplyMatrix(this.space.m_SpaceOCS);
app.m_Database.ModelSpace.Append(br);
app.Database.ModelSpace.Append(br);
}
}
}

@ -10,16 +10,16 @@ export class DrawCircle0 implements Command
async exec()
{
let cir = new Circle(new THREE.Vector3(0, 0, 0), 10);
app.m_Database.ModelSpace.Append(cir);
app.Database.ModelSpace.Append(cir);
let p = new THREE.Vector3(0, 0, 0);
app.m_Viewer.WorldToScreen(p);
app.Viewer.WorldToScreen(p);
app.m_Viewer.ScreenToWorld(p);
app.Viewer.ScreenToWorld(p);
let line = new Line(new THREE.Vector3(0, 0, 0), new THREE.Vector3(100, 0, 0));
app.m_Database.ModelSpace.Append(line);
app.Database.ModelSpace.Append(line);
}
}

@ -13,13 +13,13 @@ export class Entsel implements Command
async exec()
{
let dyn = new PromptBlock(DynamicInputManage.GetManage());
let en = await app.m_Editor.GetEntity({
let en = await app.Editor.GetEntity({
Callback: (res) =>
{
if (res.Status == PromptStatus.OK)
{
dyn.Visible = true;
let vcs = app.m_Editor.m_MouseCtrl.m_CurMousePointVCS.clone();
let vcs = app.Editor.MouseCtrl.m_CurMousePointVCS.clone();
vcs.add(new Vector3(0, -20, 0));
dyn.SetPostion(vcs);
@ -36,7 +36,7 @@ export class Entsel implements Command
if (en.Status == PromptStatus.OK)
{
en.Entity.ColorIndex = 1;
app.m_Viewer.m_bNeedUpdate = true;
app.Viewer.UpdateRender();
}
dyn.Destroy();

@ -7,7 +7,7 @@ export class Command_Erase implements Command
{
async exec()
{
let ssRes = await app.m_Editor.GetSelection({ UseSelect: true });
let ssRes = await app.Editor.GetSelection({ UseSelect: true });
if (ssRes.Status != PromptStatus.OK) return;
for (let obj of ssRes.SelectSet.SelectObjectList)

@ -5,6 +5,6 @@ export class Command_Esc implements Command
{
async exec()
{
app.m_Editor.m_SelectCtrl.Cancel();
app.Editor.SelectCtrl.Cancel();
}
}

@ -9,7 +9,7 @@ export class Command_Explode implements Command
{
async exec()
{
let ssRes = await app.m_Editor.GetSelection({ UseSelect: true });
let ssRes = await app.Editor.GetSelection({ UseSelect: true });
if (ssRes.Status != PromptStatus.OK) return;
let ss = ssRes.SelectSet;
@ -18,7 +18,7 @@ export class Command_Explode implements Command
{
if (en instanceof Line || en instanceof Arc || en instanceof Circle)
{
app.m_Editor.Prompt('无法分解');
app.Editor.Prompt('无法分解');
continue;
}
let ens = en.Explode();
@ -26,7 +26,7 @@ export class Command_Explode implements Command
for (let e of ens)
{
app.m_Database.ModelSpace.Append(e);
app.Database.ModelSpace.Append(e);
}
}
}

@ -16,7 +16,7 @@ export class Command_ExplosionMap implements Command
count = 0;
async exec()
{
let view = app.m_Viewer;
let view = app.Viewer;
if (this.timer)
{
clearInterval(this.timer);
@ -31,7 +31,7 @@ export class Command_ExplosionMap implements Command
view.UpdateRender();
}
let brs = await app.m_Editor.GetSelection({
let brs = await app.Editor.GetSelection({
UseSelect: true,
Msg: "请选择需要展示爆炸图的板件",
Filter: {
@ -57,7 +57,7 @@ export class Command_ExplosionMap implements Command
if (this.moveObjs.length === 0)
{
app.m_Editor.Prompt("没有检测到板件,无法展示爆炸图");
app.Editor.Prompt("没有检测到板件,无法展示爆炸图");
return;
}

@ -27,7 +27,7 @@ export class Command_Extend implements Command
{
async exec()
{
let exRefSsRes = await app.m_Editor.GetSelection({
let exRefSsRes = await app.Editor.GetSelection({
Msg: "请选择对象<全部选择>:",
AllowNone: true,
UseSelect: true,
@ -37,14 +37,14 @@ export class Command_Extend implements Command
let exRefCus = exRefSsRes.SelectSet.SelectEntityList as Curve[];
if (exRefCus.length === 0)
exRefCus = (app.m_Database.ModelSpace.Entitys as Curve[])
exRefCus = (app.Database.ModelSpace.Entitys as Curve[])
.filter(en => en instanceof Curve && !en.IsErase);
while (true)
{
app.m_Database.hm.StartMark();
app.Database.hm.StartMark();
//选择延伸的对象.
let exSs = await app.m_Editor.GetSelection({
let exSs = await app.Editor.GetSelection({
Msg: "请选择延伸对象:",
Once: true,
AllowNone: true,
@ -67,7 +67,7 @@ export class Command_Extend implements Command
{
JigUtils.End();
this.Extend(entss.SelectSet, exRefCus, true);
app.m_Editor.UpdateScreen();
app.Editor.UpdateScreen();
}
Extend(selectSet: SelectSet, exRefCus: Curve[], bDynmic: boolean = false)
@ -86,7 +86,7 @@ export class Command_Extend implements Command
{
selectCenterPt = set.m_PickPointVcs.clone();
}
app.m_Viewer.ScreenToWorld(selectCenterPt);
app.Viewer.ScreenToWorld(selectCenterPt);
for (let cu of set.SelectEntityList as Curve[])
{

@ -25,11 +25,11 @@ export class CommandFillet implements Command
}
async exec()
{
this.m_FilletUtils.m_FilletRadius = this.m_FilletRadius;
this.m_FilletUtils.FilletRadius = this.m_FilletRadius;
let oldUcs = app.m_Editor.UCSMatrix;
let oldUcs = app.Editor.UCSMatrix;
app.m_Editor.Prompt(`倒角半径:${FixedNotZero(this.m_FilletRadius, 3)}`);
app.Editor.Prompt(`倒角半径:${FixedNotZero(this.m_FilletRadius, 3)}`);
//拾取曲线
let enRes1 = await this.SelectCurve([
{ msg: "放弃", key: "U" },
@ -37,7 +37,7 @@ export class CommandFillet implements Command
{ msg: "半径", key: "R" },
{ msg: "修剪", key: "T" },
{ msg: "多个", key: "M" }]);
app.m_Editor.UCSMatrix = oldUcs;
app.Editor.UCSMatrix = oldUcs;
if (!enRes1) return;
enRes1.Entity.UpdateJigMaterial();
@ -56,35 +56,35 @@ export class CommandFillet implements Command
if (!res2.Entity)
{
lastCu = undefined;
app.m_Editor.UpdateScreen();
app.Editor.UpdateScreen();
return;
}
app.m_Editor.UCSMatrix = res2.Entity.OCS;
app.Editor.UCSMatrix = res2.Entity.OCS;
res2.Entity.UpdateJigMaterial();
lastCu = res2.Entity as Curve;
let fres = this.m_FilletUtils.Fillet(enRes1, res2);
for (let v in fres)
if (fres[v])
JigUtils.Draw(fres[v])
app.m_Editor.UpdateScreen();
app.Editor.UpdateScreen();
}
let keydownUpdateRadius = (e: KeyboardEvent) =>
{
if (enRes2 && e.code === KeyCode.ShiftLeft)
{
if (app.m_Editor.m_KeyCtrl.KeyIsDown(KeyCode.ShiftLeft))
this.m_FilletUtils.m_FilletRadius = 0;
if (app.Editor.KeyCtrl.KeyIsDown(KeyCode.ShiftLeft))
this.m_FilletUtils.FilletRadius = 0;
else
this.m_FilletUtils.m_FilletRadius = this.m_FilletRadius;
this.m_FilletUtils.FilletRadius = this.m_FilletRadius;
jigCallBack(enRes2);
}
}
let rm1 = end(app.m_Editor.m_KeyCtrl, app.m_Editor.m_KeyCtrl.OnKeyDown, keydownUpdateRadius);
let rm2 = end(app.m_Editor.m_KeyCtrl, app.m_Editor.m_KeyCtrl.OnKeyUp, keydownUpdateRadius);
let rm1 = end(app.Editor.KeyCtrl, app.Editor.KeyCtrl.OnKeyDown, keydownUpdateRadius);
let rm2 = end(app.Editor.KeyCtrl, app.Editor.KeyCtrl.OnKeyUp, keydownUpdateRadius);
while (true)
{
enRes2 = await app.m_Editor.GetEntity({
enRes2 = await app.Editor.GetEntity({
Msg: "选择第二个对象,或按住shift键选择对象以应用角点或输入半径:",
Filter: {
filterTypes: [Curve],
@ -108,7 +108,7 @@ export class CommandFillet implements Command
else if (enRes2.Status !== PromptStatus.None)
break;
}
app.m_Editor.UCSMatrix = oldUcs;
app.Editor.UCSMatrix = oldUcs;
rm1();
rm2();
@ -135,24 +135,24 @@ export class CommandFillet implements Command
enRes2.Entity.Erase();
if (res.arc)
app.m_Database.ModelSpace.Append(res.arc);
app.Database.ModelSpace.Append(res.arc);
}
}
UpdateFilletRadius(newRadius: number)
{
if (newRadius < 0 || isNaN(newRadius))
app.m_Editor.Prompt("半径不能为负!");
app.Editor.Prompt("半径不能为负!");
this.m_FilletRadius = Math.abs(newRadius);
window.localStorage.setItem(RADKEY, this.m_FilletRadius.toString());
this.m_FilletUtils.m_FilletRadius = this.m_FilletRadius;
this.m_FilletUtils.FilletRadius = this.m_FilletRadius;
}
async FilletBoard(enRes: PromptEntityResult)
{
//------1.画辅助线
let ptRes = await app.m_Editor.GetPoint({
let ptRes = await app.Editor.GetPoint({
BasePoint: enRes.Point,
AllowDrawRubberBand: true,
AllowNone: true,
@ -169,14 +169,14 @@ export class CommandFillet implements Command
br.ContourCurve = fres;
}
else
app.m_Editor.Prompt(fres);
app.Editor.Prompt(fres);
}
async SelectCurve(keyword: KeyWord[]): Promise<PromptEntityResult>
{
while (true)
{
let enRes = await app.m_Editor.GetEntity({
let enRes = await app.Editor.GetEntity({
Msg: `选择第一个对象<R:${FixedNotZero(this.m_FilletRadius, 3)}>:`,
KeyWordList: keyword,
Filter: { filterTypes: [Curve, Board] },
@ -184,7 +184,7 @@ export class CommandFillet implements Command
{
//将用户坐标系转换到实体坐标系
if (res.Entity)
app.m_Editor.UCSMatrix = res.Entity.OCS;
app.Editor.UCSMatrix = res.Entity.OCS;
},
});
switch (enRes.Status)
@ -204,7 +204,7 @@ export class CommandFillet implements Command
case PromptStatus.Keyword:
if (enRes.StringResult === "R")
{
let ret = await app.m_Editor.GetDistance({ Msg: "指定圆角半径:", Default: this.m_FilletRadius });
let ret = await app.Editor.GetDistance({ Msg: "指定圆角半径:", Default: this.m_FilletRadius });
if (ret.Status === PromptStatus.OK)
this.UpdateFilletRadius(ret.Distance);
else if (ret.Status === PromptStatus.Cancel)
@ -218,7 +218,7 @@ export class CommandFillet implements Command
let enRes: PromptEntityResult;
while (this.m_FilletRadius === 0)
{
let ret = await app.m_Editor.GetDistance({ Msg: "当前半径为0请指定圆角半径:", Default: this.m_FilletRadius });
let ret = await app.Editor.GetDistance({ Msg: "当前半径为0请指定圆角半径:", Default: this.m_FilletRadius });
if (ret.Status === PromptStatus.OK)
this.UpdateFilletRadius(Math.abs(ret.Distance));
else if (ret.Status === PromptStatus.Cancel)
@ -226,7 +226,7 @@ export class CommandFillet implements Command
}
while (true)
{
enRes = await app.m_Editor.GetEntity({
enRes = await app.Editor.GetEntity({
Msg: "请选择二维多段线或输入半径:",
Filter: { filterTypes: [Polyline] },
Callback: (e) =>
@ -240,7 +240,7 @@ export class CommandFillet implements Command
if (!e || !e.Entity)
{
app.m_Editor.UpdateScreen();
app.Editor.UpdateScreen();
lastPl = undefined;
return;
}
@ -252,7 +252,7 @@ export class CommandFillet implements Command
lastPl = e.Entity as Polyline;
lastPl.UpdateJigMaterial();
app.m_Editor.UpdateScreen();
app.Editor.UpdateScreen();
}
});

@ -74,7 +74,7 @@ type CurveExtend = { Curve: Curve, ExtType: ExtendType };
export class FilletUtils
{
m_FilletRadius: number;
FilletRadius: number;
Fillet(enRes1: PromptEntityResult, enRes2: PromptEntityResult): FilletRes
{
CircleEnResToArc(enRes1);
@ -110,7 +110,7 @@ export class FilletUtils
let splitedCu1 = this.SplitCurve(enRes1, iPt, interPts);
let splitedCu2 = this.SplitCurve(enRes2, iPt, interPts);
let fRadius = this.m_FilletRadius;
let fRadius = this.FilletRadius;
let res: FilletRes = { cu1: splitedCu1.Curve, cu2: splitedCu2.Curve, arc: undefined };
@ -172,7 +172,7 @@ export class FilletUtils
let v2 = arcP2.clone().sub(center).applyMatrix4(cu1RoOcsInv);
//绘制圆弧
let arc = new Arc(new Vector3(), this.m_FilletRadius, angle(v1), angle(v2), v1.cross(v2).z < 0);
let arc = new Arc(new Vector3(), this.FilletRadius, angle(v1), angle(v2), v1.cross(v2).z < 0);
arc.ApplyMatrix(splitedCu1.Curve.OCS);
arc.Center = center;
res.arc = arc;
@ -552,8 +552,8 @@ export class FilletUtils
let a1 = enRes1.Entity as Arc;
let a2 = enRes2.Entity as Arc;
let arcO1 = a1.GetOffsetCurves(this.m_FilletRadius * (a1.IsClockWise ? -1 : 1))[0];
let arcO2 = a2.GetOffsetCurves(this.m_FilletRadius * (a2.IsClockWise ? -1 : 1))[0];
let arcO1 = a1.GetOffsetCurves(this.FilletRadius * (a1.IsClockWise ? -1 : 1))[0];
let arcO2 = a2.GetOffsetCurves(this.FilletRadius * (a2.IsClockWise ? -1 : 1))[0];
// arcO1.ColorIndex = 6;
// arcO2.ColorIndex = 6;
@ -578,7 +578,7 @@ export class FilletUtils
let narcP1 = a1.GetClosestPointTo(narcCenter, true);//两圆弧和相切弧的交点
let narcP2 = a2.GetClosestPointTo(narcCenter, true);
let tempCircle = new Circle(narcCenter, this.m_FilletRadius);
let tempCircle = new Circle(narcCenter, this.FilletRadius);
let closestPt = a1.GetClosestPointTo(a2.Center, true);//两曲线距离对方圆心最近的点
let narcMP = tempCircle.GetClosestPointTo(closestPt, false);//相切圆距离closestPt最近的点
@ -631,8 +631,8 @@ export class FilletUtils
let dir = GetPointAtCurveDir(line, arc.Center) ? 1 : -1;
let lineO = line.GetOffsetCurves(this.m_FilletRadius * dir)[0];
let arcO = arc.GetOffsetCurves(this.m_FilletRadius * (arc.IsClockWise ? -1 : 1))[0];// tip面积逆时针为正, 顺时针为负.
let lineO = line.GetOffsetCurves(this.FilletRadius * dir)[0];
let arcO = arc.GetOffsetCurves(this.FilletRadius * (arc.IsClockWise ? -1 : 1))[0];// tip面积逆时针为正, 顺时针为负.
// lineO.ColorIndex = 6;
// arcO.ColorIndex = 6;
@ -657,7 +657,7 @@ export class FilletUtils
let arcP1 = line.GetClosestPointTo(arcCenter, true);//直线与相切圆的交点
let arcP2 = arc.GetClosestPointTo(arcCenter, true);//圆弧与相切圆的交点
let tempCircle = new Circle(arcCenter, this.m_FilletRadius);
let tempCircle = new Circle(arcCenter, this.FilletRadius);
let { closestPt, param } = line.GetClosestAtPoint(arc.Center, true);
let arcMP = tempCircle.GetClosestPointTo(closestPt, false);

@ -17,12 +17,12 @@ export async function Gesture_DrawLayerBoard(dirs: GestureDir[], path: Vector2[]
if (isLayer || isLb)
{
let vcs = AsVector3(path[0]);
let view = app.m_Viewer;
let view = app.Viewer;
let ptSelect = new PointSelectBoards(vcs, view, view.Scene.children);
if (ptSelect.SelectBoards.length === 0)
{
app.m_Editor.Prompt("请选择有效的板件,或者周围没有效板件");
app.Editor.Prompt("请选择有效的板件,或者周围没有效板件");
return;
}
@ -51,8 +51,8 @@ export async function Gesture_DrawLayerBoard(dirs: GestureDir[], path: Vector2[]
commandMachine.CommandStart("gs")
app.m_Database.ModelSpace.Append(br);
app.m_Editor.UpdateScreen();
app.Database.ModelSpace.Append(br);
app.Editor.UpdateScreen();
commandMachine.CommandEnd();
return true;

@ -6,14 +6,14 @@ export class Command_HideSelected implements Command
{
async exec()
{
let selects = app.m_Editor.m_SelectCtrl.SelectSet.SelectEntityList;
let selects = app.Editor.SelectCtrl.SelectSet.SelectEntityList;
if (selects.length !== 0)
for (let e of selects)
e.Visible = false;
else
app.m_Editor.Prompt("没有选中实体,隐藏失败!");
app.Editor.Prompt("没有选中实体,隐藏失败!");
app.m_Viewer.m_OutlinePass.selectedObjects.length = 0;
app.Viewer.OutlinePass.selectedObjects.length = 0;
}
}
@ -21,7 +21,7 @@ export class Command_ShowAll implements Command
{
async exec()
{
app.m_Database.ModelSpace.Entitys.forEach(o =>
app.Database.ModelSpace.Entitys.forEach(o =>
{
o.Visible = true;
});
@ -32,9 +32,9 @@ export class Command_HideUnselected implements Command
{
async exec()
{
let selects = app.m_Editor.m_SelectCtrl.SelectSet.SelectEntityList;
let selects = app.Editor.SelectCtrl.SelectSet.SelectEntityList;
let count = 0;
app.m_Database.ModelSpace.Entitys.forEach(o =>
app.Database.ModelSpace.Entitys.forEach(o =>
{
if (!selects.includes(o) && !(o instanceof Light))
{
@ -43,6 +43,6 @@ export class Command_HideUnselected implements Command
}
});
if (count === 0)
app.m_Editor.Prompt("没有未选中的实体,隐藏失败!");
app.Editor.Prompt("没有未选中的实体,隐藏失败!");
}
}

@ -25,9 +25,9 @@ export class Command_Insert implements Command
finfo = f;
}
};
app.m_Editor.m_ModalManage.RenderModal(InsertModal, ModalPosition.Center, props);
app.Editor.ModalManage.RenderModal(InsertModal, ModalPosition.Center, props);
let state = await app.m_Editor.m_ModalManage.Wait();
let state = await app.Editor.ModalManage.Wait();
if (state.Status !== ModalState.Ok || !finfo)
return;
@ -45,7 +45,7 @@ export class Command_Insert implements Command
{
let ensClone = db.ModelSpace.Entitys.map(e => JigUtils.Draw(e));
let ptLast = new Vector3();
let ptRes = await app.m_Editor.GetPoint(
let ptRes = await app.Editor.GetPoint(
{
Msg: "请点击移动终点:",
Callback: (p: Vector3) =>
@ -58,7 +58,7 @@ export class Command_Insert implements Command
if (ptRes.Status === PromptStatus.OK)
{
let ens = app.m_Database.DeepCloneObjects(db.ModelSpace.Entitys, app.m_Database.ModelSpace) as Entity[];
let ens = app.Database.DeepCloneObjects(db.ModelSpace.Entitys, app.Database.ModelSpace) as Entity[];
let moveM = MoveMatrix(ptRes.Point);
ens.forEach(e => e.ApplyMatrix(moveM));
}

@ -18,7 +18,7 @@ export class Command_Join implements Command
{
async exec()
{
let exSsRes = await app.m_Editor.GetSelection({ Msg: "请选择对象<全部选择>:", UseSelect: true, Filter: { filterTypes: [Curve, Board] } });
let exSsRes = await app.Editor.GetSelection({ Msg: "请选择对象<全部选择>:", UseSelect: true, Filter: { filterTypes: [Curve, Board] } });
if (exSsRes.Status === PromptStatus.Cancel)
return;
@ -84,7 +84,7 @@ export class Command_Join implements Command
}
if (pl.Id === undefined)
app.m_Database.ModelSpace.Append(pl);
app.Database.ModelSpace.Append(pl);
}
}
@ -138,7 +138,7 @@ export class Command_Join implements Command
{
if (isConverToCircle === undefined)
{
let keyRes = await app.m_Editor.GetKeyWords({
let keyRes = await app.Editor.GetKeyWords({
Msg: "合并的圆弧段组成了一个圆。要转换为圆吗?",
KeyWordList: [
{ msg: "是", key: "Y" },
@ -152,7 +152,7 @@ export class Command_Join implements Command
arc.Erase();
arc2.Erase();
let cir = new Circle(arc.Center, arc.Radius);
app.m_Database.ModelSpace.Append(cir);
app.Database.ModelSpace.Append(cir);
}
}
else

@ -11,9 +11,9 @@ export class DrawLattice implements Command
async exec()
{
const store = LatticeDrawerStore.GetInstance() as LatticeDrawerStore;
app.m_Editor.m_ModalManage.RenderModal(LatticeDrawer, ModalPosition.Center, { store });
app.Editor.ModalManage.RenderModal(LatticeDrawer, ModalPosition.Center, { store });
let res = await app.m_Editor.m_ModalManage.Wait();
let res = await app.Editor.ModalManage.Wait();
if (res.Status === ModalState.Cancel)
return;

@ -70,7 +70,7 @@ export class DrawLatticeDrawerTool extends Singleton
pos.add(new Vector3(gripWidth * i + (i - 1) * config.thickness));
br.Position = pos;
br.ApplyMatrix(space.m_SpaceOCS);
app.m_Database.ModelSpace.Append(br);
app.Database.ModelSpace.Append(br);
}
let beBr = Board.CreateBoard(size.z, size.x, config.thickness, BoardType.Behind);
@ -86,7 +86,7 @@ export class DrawLatticeDrawerTool extends Singleton
pos.add(new Vector3(0, (gripDepth + config.thickness) * i));
br.Position = pos;
br.ApplyMatrix(space.m_SpaceOCS);
app.m_Database.ModelSpace.Append(br);
app.Database.ModelSpace.Append(br);
}
this.End();

@ -10,12 +10,12 @@ export class Command_Length implements Command
{
while (true)
{
let enRes = await app.m_Editor.GetEntity();
let enRes = await app.Editor.GetEntity();
if (enRes.Status === PromptStatus.OK)
{
if (enRes.Entity instanceof Curve)
{
app.m_Editor.Prompt(enRes.Entity.Length.toFixed(8));
app.Editor.Prompt(enRes.Entity.Length.toFixed(8));
}
}
else

@ -8,7 +8,7 @@ export class Command_Lisp
{
async exec()
{
let ssRes = await app.m_Editor.GetEntity();
let ssRes = await app.Editor.GetEntity();
if (ssRes.Status != PromptStatus.OK) return;
let pl = ssRes.Entity as Polyline;

@ -18,14 +18,14 @@ export class MirrorCommand implements Command
{
async exec()
{
let enRes = await app.m_Editor.GetSelection({
let enRes = await app.Editor.GetSelection({
Msg: "选择对象", UseSelect: true
});
if (enRes.Status === PromptStatus.Cancel)
return;
let ens = enRes.SelectSet.SelectEntityList;
let ptRes = await app.m_Editor.GetPoint({
let ptRes = await app.Editor.GetPoint({
Msg: "选择镜像第一点"
});
if (ptRes.Status === PromptStatus.Cancel)
@ -33,7 +33,7 @@ export class MirrorCommand implements Command
let p1 = ptRes.Point;
let cloneEns = ens.map(en => JigUtils.Draw(en));
ptRes = await app.m_Editor.GetPoint({
ptRes = await app.Editor.GetPoint({
Msg: "选择镜像第二点",
BasePoint: p1,
AllowDrawRubberBand: true,
@ -55,7 +55,7 @@ export class MirrorCommand implements Command
if (ptRes.Status === PromptStatus.Cancel)
return;
let kwRes = await app.m_Editor.GetKeyWords({
let kwRes = await app.Editor.GetKeyWords({
Msg: "是否保留源对象",
KeyWordList: [{ msg: "是", key: "Y" }, { msg: "否", key: "N" }]
});
@ -69,6 +69,6 @@ export class MirrorCommand implements Command
}
for (let e of cloneEns)
app.m_Database.ModelSpace.Append(e);
app.Database.ModelSpace.Append(e);
}
}

@ -8,10 +8,10 @@ export class Command_Move implements Command
{
async exec()
{
let ssRes = await app.m_Editor.GetSelection({ UseSelect: true });
let ssRes = await app.Editor.GetSelection({ UseSelect: true });
if (ssRes.Status != PromptStatus.OK) return;
let ptRes = await app.m_Editor.GetPoint({ Msg: "请点击移动基点:" });
let ptRes = await app.Editor.GetPoint({ Msg: "请点击移动基点:" });
if (ptRes.Status != PromptStatus.OK)
return;
@ -22,7 +22,7 @@ export class Command_Move implements Command
let ptBase = ptRes.Point;
let ptLast = ptBase.clone();
let moveMatrix = new Matrix4();
ptRes = await app.m_Editor.GetPoint(
ptRes = await app.Editor.GetPoint(
{
Msg: "请点击移动终点:",
Callback: (p: THREE.Vector3) =>

@ -15,7 +15,7 @@ export class Command_Offset implements Command
offsetDis: number = 1;
async exec()
{
let disRes = await app.m_Editor.GetDistance({
let disRes = await app.Editor.GetDistance({
Msg: "指定偏移距离:",
KeyWordList: [{ msg: "通过:", key: "T" }],
Default: this.offsetDis
@ -29,15 +29,15 @@ export class Command_Offset implements Command
else
return;
let oldUCS = app.m_Editor.UCSMatrix;
let oldUCS = app.Editor.UCSMatrix;
while (true)
{
app.m_Database.hm.StartMark();
app.Database.hm.StartMark();
let enRes = await app.m_Editor.GetEntity({ Msg: "选择要偏移的对象:" });
let enRes = await app.Editor.GetEntity({ Msg: "选择要偏移的对象:" });
if (enRes.Status === PromptStatus.OK)
{
app.m_Editor.UCSMatrix = enRes.Entity.OCS;
app.Editor.UCSMatrix = enRes.Entity.OCS;
}
else if (enRes.Status === PromptStatus.None)
continue;
@ -47,7 +47,7 @@ export class Command_Offset implements Command
let cu = enRes.Entity as Curve;
if (cu instanceof Curve)
{
app.m_Viewer.m_OutlinePass.selectedObjects = [cu.DrawObject];
app.Viewer.OutlinePass.selectedObjects = [cu.DrawObject];
let state: GetOffsetStatus;
if (isDyn)
state = await this.GetDynOffsetDist(cu);
@ -64,7 +64,7 @@ export class Command_Offset implements Command
}
}
app.m_Editor.UCSMatrix = oldUCS;
app.Editor.UCSMatrix = oldUCS;
}//end exec
//绘制偏移的对象
@ -72,7 +72,7 @@ export class Command_Offset implements Command
{
cu.GetOffsetCurves(offsetDist).forEach(c =>
{
app.m_Database.ModelSpace.Append(c);
app.Database.ModelSpace.Append(c);
});
}
@ -81,9 +81,9 @@ export class Command_Offset implements Command
{
let oldDir = 0;
let oldSnap = app.m_Editor.GetPointServices.snapServices.Disabled;
app.m_Editor.GetPointServices.snapServices.Disabled = true;
let ptRes = await app.m_Editor.GetPoint({
let oldSnap = app.Editor.GetPointServices.snapServices.Disabled;
app.Editor.GetPointServices.snapServices.Disabled = true;
let ptRes = await app.Editor.GetPoint({
Msg: "指定要偏移的那一侧的点",
Callback: (p: Vector3) =>
{
@ -97,7 +97,7 @@ export class Command_Offset implements Command
}
}
});
app.m_Editor.GetPointServices.snapServices.Disabled = oldSnap;
app.Editor.GetPointServices.snapServices.Disabled = oldSnap;
let status = { Status: ptRes.Status, offsetDist: 0 };
if (ptRes.Status === PromptStatus.OK)
{
@ -116,7 +116,7 @@ export class Command_Offset implements Command
while (true)
{
let dir: number = 0;
let distRes = await app.m_Editor.GetDistance(
let distRes = await app.Editor.GetDistance(
{
Msg: "指定通过点或输入偏移距离:",
KeyWordList: [{ key: "D", msg: isMulti ? "单个" : "多个" }],
@ -149,7 +149,7 @@ export class Command_Offset implements Command
else if (distRes.StringResult === "D")
{
isMulti = !isMulti;
app.m_Editor.Prompt(`切换成功,当前<${isMulti ? "多个" : "单个"}>`);
app.Editor.Prompt(`切换成功,当前<${isMulti ? "多个" : "单个"}>`);
}
else
return { Status: distRes.Status, offsetDist: distRes.Distance };

@ -10,7 +10,7 @@ export class OffsetX implements Command
offsetDis: number = 1;
async exec()
{
let ssRes = await app.m_Editor.GetEntity();
let ssRes = await app.Editor.GetEntity();
if (ssRes.Status != PromptStatus.OK) return;
let pl = ssRes.Entity as Polyline;
if (!pl) return;
@ -25,7 +25,7 @@ export class OffsetX implements Command
}
else
{
let disRes = await app.m_Editor.GetDistance({
let disRes = await app.Editor.GetDistance({
Msg: "指定偏移距离:",
KeyWordList: [{ msg: "通过", key: "T" }],
Default: this.offsetDis
@ -36,7 +36,7 @@ export class OffsetX implements Command
dis = -this.offsetDis;
if (pl.IsClockWise) dis = -dis;
let disRes1 = await app.m_Editor.GetDistance({
let disRes1 = await app.Editor.GetDistance({
Msg: "步长:",
KeyWordList: [{ msg: "通过", key: "T" }],
Default: 1
@ -61,7 +61,7 @@ export class OffsetX implements Command
if (step === 0)
{
app.m_Editor.Prompt("步长不能为0,已经帮你转换成" + dis / 10);
app.Editor.Prompt("步长不能为0,已经帮你转换成" + dis / 10);
step = dis / 10;
}
let count = dis / step;
@ -77,6 +77,6 @@ export class OffsetX implements Command
}
}
offRes.forEach(c => app.m_Database.ModelSpace.Append(c));
offRes.forEach(c => app.Database.ModelSpace.Append(c));
}
}

@ -19,9 +19,9 @@ export class Open implements Command
store.m_CurrentFileId = fid;
let cadF = new CADFiler();
cadF.database = app.m_Database;
cadF.database = app.Database;
cadF.Data = file;
app.m_Database.FileRead(cadF);
app.Database.FileRead(cadF);
RightPanelStore.GetInstance().lightStore.InitScene();
}
}

@ -29,14 +29,14 @@ export class PasteClip
}
let oldBasePt = data.basePt || new Vector3();
let oldPt = app.m_Editor.m_MouseCtrl.m_CurMousePointWCS;
let oldPt = app.Editor.MouseCtrl.m_CurMousePointWCS;
for (let en of ens)
{
let vec = en.Position.sub(oldBasePt);
en.Position = oldPt.clone().add(vec);
}
let ptRes = await app.m_Editor.GetPoint({
let ptRes = await app.Editor.GetPoint({
BasePoint: oldPt,
Callback: p =>
{
@ -52,12 +52,12 @@ export class PasteClip
if (ptRes.Status === PromptStatus.OK)
for (let e of ens)
app.m_Database.ModelSpace.Append(e);
app.Database.ModelSpace.Append(e);
}
}
catch (error)
{
app.m_Editor.Prompt("黏贴遇到错误:" + error);
app.Editor.Prompt("黏贴遇到错误:" + error);
}
}
}

@ -12,7 +12,7 @@ export class Pedit implements Command
{
async exec()
{
let exSsRes = await app.m_Editor.GetSelection({
let exSsRes = await app.Editor.GetSelection({
Msg: "请选择对象<全部选择>:",
Filter: { filterTypes: [Curve] },
UseSelect: true
@ -33,7 +33,7 @@ export class Pedit implements Command
if (cirs.length !== 0)
{
let keyRes = await app.m_Editor.GetKeyWords({
let keyRes = await app.Editor.GetKeyWords({
Msg: "检测到了圆,要转换为多段线吗?",
KeyWordList: [
{ msg: "是", key: "Y" },
@ -46,7 +46,7 @@ export class Pedit implements Command
{
c.Erase();
let pl = ConverCircleToPolyline(c);
app.m_Database.ModelSpace.Append(pl);
app.Database.ModelSpace.Append(pl);
}
}
}
@ -65,7 +65,7 @@ export class Pedit implements Command
pl.Join(cu);
cu.Erase();
}
app.m_Database.ModelSpace.Append(pl);
app.Database.ModelSpace.Append(pl);
}
}
}

@ -6,15 +6,15 @@ export class Command_RevPl implements Command
{
async exec()
{
let ss = await app.m_Editor.GetSelection({ UseSelect: true, Filter: { filterTypes: [Curve] } });
let ss = await app.Editor.GetSelection({ UseSelect: true, Filter: { filterTypes: [Curve] } });
for (let en of ss.SelectSet.SelectEntityList)
{
if (en instanceof Curve)
{
en.Reverse();
app.m_Editor.Prompt("成功翻转曲线");
app.Editor.Prompt("成功翻转曲线");
}
}
app.m_Editor.UpdateScreen();
app.Editor.UpdateScreen();
}
}

@ -10,11 +10,11 @@ export class Command_Rotate implements Command
{
async exec()
{
let ss = await app.m_Editor.GetSelection({ Msg: "请选择需要旋转的对象:", UseSelect: true });
let ss = await app.Editor.GetSelection({ Msg: "请选择需要旋转的对象:", UseSelect: true });
if (ss.Status != PromptStatus.OK)
return;
let ptRes = await app.m_Editor.GetPoint({ Msg: "请输入第一个点:" });
let ptRes = await app.Editor.GetPoint({ Msg: "请输入第一个点:" });
if (ptRes.Status != PromptStatus.OK)
return;
@ -32,7 +32,7 @@ export class Command_Rotate implements Command
let basePt = pt1;
while (true)
{
let anRes = await app.m_Editor.GetAngle({
let anRes = await app.Editor.GetAngle({
Msg: msg,
KeyWordList: keyword,
Callback: (newan: number) =>
@ -48,7 +48,7 @@ export class Command_Rotate implements Command
if (isCopy)
{
this.Update(pt1, anRes.Distance - refAng, cloneEns);
cloneEns.forEach(en => app.m_Database.ModelSpace.Append(en));
cloneEns.forEach(en => app.Database.ModelSpace.Append(en));
}
else
this.Update(pt1, anRes.Distance - refAng, ens);
@ -62,7 +62,7 @@ export class Command_Rotate implements Command
}
else if (anRes.StringResult === "R")
{
let newAnRes = await app.m_Editor.GetAngle({ Msg: "指定参照角" });
let newAnRes = await app.Editor.GetAngle({ Msg: "指定参照角" });
if (newAnRes.Status === PromptStatus.Cancel)
break;
refAng = newAnRes.Distance;
@ -83,7 +83,7 @@ export class Command_Rotate implements Command
let moveMat = new Matrix4().setPosition(basePt);
let moveMatInv = new Matrix4().getInverse(moveMat);
let roMat = new Matrix4()
.makeRotationAxis(ZAxis.clone().applyMatrix4(app.m_Editor.UCSMatrix), Math.degToRad(an));
.makeRotationAxis(ZAxis.clone().applyMatrix4(app.Editor.UCSMatrix), Math.degToRad(an));
let mat = moveMat.multiply(roMat).multiply(moveMatInv);
ens.forEach(en => en.ApplyMatrix(mat));
}

@ -34,13 +34,13 @@ export class RotateLayerBoard implements Command
async exec()
{
let store = RotateLayerBoardStore.GetInstance() as RotateLayerBoardStore;
app.m_Editor.m_ModalManage.RenderModal(RotateLayerBoardModal, ModalPosition.Center, { store });
app.Editor.ModalManage.RenderModal(RotateLayerBoardModal, ModalPosition.Center, { store });
let res = await app.m_Editor.m_ModalManage.Wait();
let res = await app.Editor.ModalManage.Wait();
if (res.Status === ModalState.Ok)
{
let enRes = await app.m_Editor.GetSelection({
let enRes = await app.Editor.GetSelection({
Msg: "选择修改的层板",
Filter: {
filterTypes: [Board],

@ -35,11 +35,11 @@ export class Save implements Command
getBlob()
{
//生成预览图
app.m_Viewer.OnSize(100, 100);
app.m_Viewer.Render();
let url = app.m_Viewer.m_Render.domElement.toDataURL("image/jpeg");
app.m_Viewer.OnSize();
app.m_Viewer.Render();
app.Viewer.OnSize(100, 100);
app.Viewer.Render();
let url = app.Viewer.Renderer.domElement.toDataURL("image/jpeg");
app.Viewer.OnSize();
app.Viewer.Render();
return dataURItoBlob(url);
}

@ -11,12 +11,12 @@ export class Command_Scale implements Command
{
async exec()
{
let ssRes = await app.m_Editor.GetSelection({ UseSelect: true });
let ssRes = await app.Editor.GetSelection({ UseSelect: true });
if (ssRes.Status != PromptStatus.OK)
return;
let ptRes = await app.m_Editor.GetPoint({ Msg: "请点击拉伸基点:" });
let ptRes = await app.Editor.GetPoint({ Msg: "请点击拉伸基点:" });
if (ptRes.Status != PromptStatus.OK)
return;
@ -44,7 +44,7 @@ export class Command_Scale implements Command
while (true)
{
let scaleRes = await app.m_Editor.GetDistance({
let scaleRes = await app.Editor.GetDistance({
BasePoint: ptRes.Point,
Msg: "请输入缩放比例或:",
KeyWordList: [{ key: "C", msg: "复制" }, { key: "R", msg: "参照" }],
@ -62,7 +62,7 @@ export class Command_Scale implements Command
{
JigUtils.Restore();
let disRes = await app.m_Editor.GetDistance({
let disRes = await app.Editor.GetDistance({
Msg: "点取或输入参照长度",
});
if (disRes.Status === PromptStatus.Cancel)
@ -71,7 +71,7 @@ export class Command_Scale implements Command
//参照缩放长度
let referLen = disRes.Distance;
let scaleRes = await app.m_Editor.GetDistance({
let scaleRes = await app.Editor.GetDistance({
Msg: "指定新的长度或",
BasePoint: ptRes.Point,
KeyWordList: [{ key: "P", msg: "点" }],
@ -91,7 +91,7 @@ export class Command_Scale implements Command
{
JigUtils.End();
let disRes = await app.m_Editor.GetDistance({
let disRes = await app.Editor.GetDistance({
Msg: "点取或输入参照长度",
});
if (disRes.Status === PromptStatus.Cancel)
@ -124,7 +124,7 @@ export class Command_Scale implements Command
if (isCopy)
{
let br = en.Clone().ApplyMatrix(scMat);
app.m_Database.ModelSpace.Append(br);
app.Database.ModelSpace.Append(br);
}
else
en.ApplyMatrix(scMat);

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save