!1403 修复: 应用拉手参数

pull/1403/MERGE
ZoeLeeFZ 4 years ago committed by ChenX
parent fd12ebf867
commit c7350a1c09

@ -12,7 +12,6 @@ import { DoorOpenDir } from "../../UI/Store/DoorInterface";
import { DrawDoorTool } from "./DrawDoorDrawer/DrawDoorDrawerTool"; import { DrawDoorTool } from "./DrawDoorDrawer/DrawDoorDrawerTool";
import { DrawLeftRightOpenDoor } from "./DrawDoorDrawer/DrawLeftRightOpenDoor"; import { DrawLeftRightOpenDoor } from "./DrawDoorDrawer/DrawLeftRightOpenDoor";
import { DrawUpDownOpenDoor } from "./DrawDoorDrawer/DrawUpDownOpenDoor"; import { DrawUpDownOpenDoor } from "./DrawDoorDrawer/DrawUpDownOpenDoor";
import { AutoCutting } from "../BoardCutting/AutoCuttingReactor";
export class DrawDoor implements Command export class DrawDoor implements Command
{ {
@ -52,18 +51,10 @@ export class DrawDoor implements Command
let tool: DrawDoorTool; let tool: DrawDoorTool;
if (isUpDownOpenDir) if (isUpDownOpenDir)
tool = new DrawUpDownOpenDoor( tool = new DrawUpDownOpenDoor(store, spaceParse);
store.m_Option, spaceParse, toJS(store.doorDrawersInfo)
);
else else
tool = new DrawLeftRightOpenDoor( tool = new DrawLeftRightOpenDoor(store, spaceParse);
store.m_Option, spaceParse, toJS(store.doorDrawersInfo)
);
await tool.Draw(); await tool.Draw();
//我们在界面已经移除了它,所以我们也移除这个切割
// if (store.autoCutOption.isAutoCut)
// await AutoCutting(store.autoCutOption.isRelevance);
} }
} }
} }

@ -16,8 +16,10 @@ import { TemplateVisualSpace } from "../../../DatabaseServices/Template/ProgramT
import { Vector3 } from "three"; import { Vector3 } from "three";
import { equaln, isParallelTo } from "../../../Geometry/GeUtils"; import { equaln, isParallelTo } from "../../../Geometry/GeUtils";
import { TemplateSizeBoard } from "../../../DatabaseServices/Template/ProgramTempate/TemplateSizeBoard"; import { TemplateSizeBoard } from "../../../DatabaseServices/Template/ProgramTempate/TemplateSizeBoard";
import { openDirTitle } from "../../../UI/Store/DoorDrawerStore/DoorStore";
import { ExtureContourCurve } from "../../../DatabaseServices/Entity/Extrude"; import { ExtureContourCurve } from "../../../DatabaseServices/Entity/Extrude";
import { DoorStore, openDirTitle } from "../../../UI/Store/DoorDrawerStore/DoorStore";
import { toJS } from "mobx";
import { INeedUpdateParams } from "../../../UI/Components/Template/TemplateComponent";
export class DrawDoorTool export class DrawDoorTool
{ {
@ -32,12 +34,17 @@ export class DrawDoorTool
/** 每个格子的信息Map*/ /** 每个格子的信息Map*/
protected rowColIdMap: Map<string, IDoorInfo> = new Map(); protected rowColIdMap: Map<string, IDoorInfo> = new Map();
private hingeSet: Set<ObjectId> = new Set(); private hingeSet: Set<ObjectId> = new Set();
protected option: IDoorConfigOption;
protected doorInfos: IDoorInfo[];
private currentHandleProps: INeedUpdateParams[];
constructor( constructor(
protected option: IDoorConfigOption, store: DoorStore,
protected spaceParse: ISpaceParse, protected spaceParse: ISpaceParse,
protected doorInfos: IDoorInfo[],
) )
{ {
this.option = store.m_Option;
this.doorInfos = toJS(store.doorDrawersInfo);
this.currentHandleProps = store.currentHandleProp;
} }
private GetHeightExpr(expr: string) private GetHeightExpr(expr: string)
{ {
@ -255,6 +262,20 @@ export class DrawDoorTool
handleSpace.PZParam.expr = zExpr; handleSpace.PZParam.expr = zExpr;
let handleTemp = this._idTempMap.get(info.tempInfo.handleTemp.id); let handleTemp = this._idTempMap.get(info.tempInfo.handleTemp.id);
//应用一次用户输入的拉手参数
if (this.currentHandleProps)
{
for (let prop of this.currentHandleProps)
{
if (DisableChangeParName.includes(prop.name)) continue;
let par = handleTemp.GetParam(prop.name);
if (par)
par.expr = prop.expr;
}
this.currentHandleProps = null;
}
handleTemp = app.Database.WblockCloneObejcts([handleTemp], app.Database.TemplateTable, new Map(), DuplicateRecordCloning.Ignore)[0] as TemplateRecord; handleTemp = app.Database.WblockCloneObejcts([handleTemp], app.Database.TemplateTable, new Map(), DuplicateRecordCloning.Ignore)[0] as TemplateRecord;
handleSpace.Children.push(handleTemp.Id); handleSpace.Children.push(handleTemp.Id);
handleTemp.HParam.expr = "0"; handleTemp.HParam.expr = "0";

@ -25,9 +25,11 @@ import { ModalState } from "../../UI/Components/Modal/ModalInterface";
import { DrawerStore } from "../../UI/Store/DoorDrawerStore/DrawerStore"; import { DrawerStore } from "../../UI/Store/DoorDrawerStore/DrawerStore";
import { DisableChangeParName, HandleHorPos, HandleVePos, IDrawerConfigOption, IDrawerInfo } from "../../UI/Store/DoorInterface"; import { DisableChangeParName, HandleHorPos, HandleVePos, IDrawerConfigOption, IDrawerInfo } from "../../UI/Store/DoorInterface";
import { BoardType } from "../../UI/Store/BoardInterface"; import { BoardType } from "../../UI/Store/BoardInterface";
import { INeedUpdateParams } from "../../UI/Components/Template/TemplateComponent";
export class DrawDrawrer implements Command export class DrawDrawrer implements Command
{ {
private currentHandleProp: INeedUpdateParams[];
async exec() async exec()
{ {
let selectSpace = new PointSelectSpaceClamp(); let selectSpace = new PointSelectSpaceClamp();
@ -124,6 +126,8 @@ export class DrawDrawrer implements Command
return; return;
} }
this.currentHandleProp = store.currentHandleProp;
//每行每列的宽高 //每行每列的宽高
let colWidths: (number | string)[] = []; let colWidths: (number | string)[] = [];
let rowHeighs: (number | string)[] = []; let rowHeighs: (number | string)[] = [];
@ -556,6 +560,20 @@ export class DrawDrawrer implements Command
rowTemplate.Children.push(handleSpace.Id); rowTemplate.Children.push(handleSpace.Id);
let handleTemp = idTempMap.get(info.tempInfo.handleTemp.id); let handleTemp = idTempMap.get(info.tempInfo.handleTemp.id);
//应用一次用户输入的拉手参数
if (this.currentHandleProp)
{
for (let prop of this.currentHandleProp)
{
if (DisableChangeParName.includes(prop.name)) continue;
let par = handleTemp.GetParam(prop.name);
if (par)
par.expr = prop.expr;
}
this.currentHandleProp = null;
}
handleTemp = app.Database.WblockCloneObejcts([handleTemp], app.Database.TemplateTable, new Map(), DuplicateRecordCloning.Ignore)[0] as TemplateRecord; handleTemp = app.Database.WblockCloneObejcts([handleTemp], app.Database.TemplateTable, new Map(), DuplicateRecordCloning.Ignore)[0] as TemplateRecord;
handleSpace.Children.push(handleTemp.Id); handleSpace.Children.push(handleTemp.Id);
handleTemp.HParam.expr = "0"; handleTemp.HParam.expr = "0";

@ -142,7 +142,7 @@ export interface ISelectTempInfo
/**抽屉一定要有的参数 */ /**抽屉一定要有的参数 */
export const DrawerTempParName = ["ZYS", "YYS", "SYS", "XYS"]; export const DrawerTempParName = ["ZYS", "YYS", "SYS", "XYS"];
/**禁止改的属性 */ /**禁止改的属性 */
export const DisableChangeParName = ["L", "W", "H", "ZYS", "YYS", "SYS", "XYS", "ZG", "YG", "SG", "XG"]; export const DisableChangeParName = ["L", "W", "H", "ZYS", "YYS", "SYS", "XYS", "ZG", "YG", "SG", "XG", "BH"];
/**门板需要的参数 */ /**门板需要的参数 */
export const DoorNeedParamNames = ["L", "W", "H", "PX", "PY", "PZ", "RX", "RY", "RZ", "SG", "XG", "ZG", "YG", "XBH", "BH"]; export const DoorNeedParamNames = ["L", "W", "H", "PX", "PY", "PZ", "RX", "RY", "RZ", "SG", "XG", "ZG", "YG", "XBH", "BH"];

Loading…
Cancel
Save