!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 { DrawLeftRightOpenDoor } from "./DrawDoorDrawer/DrawLeftRightOpenDoor";
import { DrawUpDownOpenDoor } from "./DrawDoorDrawer/DrawUpDownOpenDoor";
import { AutoCutting } from "../BoardCutting/AutoCuttingReactor";
export class DrawDoor implements Command
{
@ -52,18 +51,10 @@ export class DrawDoor implements Command
let tool: DrawDoorTool;
if (isUpDownOpenDir)
tool = new DrawUpDownOpenDoor(
store.m_Option, spaceParse, toJS(store.doorDrawersInfo)
);
tool = new DrawUpDownOpenDoor(store, spaceParse);
else
tool = new DrawLeftRightOpenDoor(
store.m_Option, spaceParse, toJS(store.doorDrawersInfo)
);
tool = new DrawLeftRightOpenDoor(store, spaceParse);
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 { equaln, isParallelTo } from "../../../Geometry/GeUtils";
import { TemplateSizeBoard } from "../../../DatabaseServices/Template/ProgramTempate/TemplateSizeBoard";
import { openDirTitle } from "../../../UI/Store/DoorDrawerStore/DoorStore";
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
{
@ -32,12 +34,17 @@ export class DrawDoorTool
/** 每个格子的信息Map*/
protected rowColIdMap: Map<string, IDoorInfo> = new Map();
private hingeSet: Set<ObjectId> = new Set();
protected option: IDoorConfigOption;
protected doorInfos: IDoorInfo[];
private currentHandleProps: INeedUpdateParams[];
constructor(
protected option: IDoorConfigOption,
store: DoorStore,
protected spaceParse: ISpaceParse,
protected doorInfos: IDoorInfo[],
)
{
this.option = store.m_Option;
this.doorInfos = toJS(store.doorDrawersInfo);
this.currentHandleProps = store.currentHandleProp;
}
private GetHeightExpr(expr: string)
{
@ -255,6 +262,20 @@ export class DrawDoorTool
handleSpace.PZParam.expr = zExpr;
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;
handleSpace.Children.push(handleTemp.Id);
handleTemp.HParam.expr = "0";

@ -25,9 +25,11 @@ import { ModalState } from "../../UI/Components/Modal/ModalInterface";
import { DrawerStore } from "../../UI/Store/DoorDrawerStore/DrawerStore";
import { DisableChangeParName, HandleHorPos, HandleVePos, IDrawerConfigOption, IDrawerInfo } from "../../UI/Store/DoorInterface";
import { BoardType } from "../../UI/Store/BoardInterface";
import { INeedUpdateParams } from "../../UI/Components/Template/TemplateComponent";
export class DrawDrawrer implements Command
{
private currentHandleProp: INeedUpdateParams[];
async exec()
{
let selectSpace = new PointSelectSpaceClamp();
@ -124,6 +126,8 @@ export class DrawDrawrer implements Command
return;
}
this.currentHandleProp = store.currentHandleProp;
//每行每列的宽高
let colWidths: (number | string)[] = [];
let rowHeighs: (number | string)[] = [];
@ -556,6 +560,20 @@ export class DrawDrawrer implements Command
rowTemplate.Children.push(handleSpace.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;
handleSpace.Children.push(handleTemp.Id);
handleTemp.HParam.expr = "0";

@ -142,7 +142,7 @@ export interface ISelectTempInfo
/**抽屉一定要有的参数 */
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"];

Loading…
Cancel
Save