!2282 开发:铰链替换,继承旧铰链MOVE参数

pull/2462/MERGE
林三 10 months ago committed by ChenX
parent 7021222c35
commit a41f66b140

@ -26,7 +26,7 @@ import { AsVector3, ZAxis, ZeroVec, equaln, isParallelTo, isPerpendicularityTo }
import { ClampSpaceParse } from "../../Geometry/SpaceParse/ClampSpaceParse"; import { ClampSpaceParse } from "../../Geometry/SpaceParse/ClampSpaceParse";
import { ISpaceParse } from "../../Geometry/SpaceParse/ISpaceParse"; import { ISpaceParse } from "../../Geometry/SpaceParse/ISpaceParse";
import { IGetRoomInfo } from "../../UI/Components/Template/GetRoomCabName"; import { IGetRoomInfo } from "../../UI/Components/Template/GetRoomCabName";
import { followAttribute } from "../../UI/Components/Template/TemplateComponent"; import { TemplateOptionInfo, followAttribute } from "../../UI/Components/Template/TemplateComponent";
import { TemplateEditor } from "../../UI/Components/Template/TemplateEditor"; import { TemplateEditor } from "../../UI/Components/Template/TemplateEditor";
import { AppToaster } from "../../UI/Components/Toaster"; import { AppToaster } from "../../UI/Components/Toaster";
import { ITemplateParam } from "../../UI/Store/RightPanelStore/ITemplateParam"; import { ITemplateParam } from "../../UI/Store/RightPanelStore/ITemplateParam";
@ -1270,7 +1270,7 @@ export async function ReplaceTemplate(oldTemp: TemplateRecord, newTemp: Template
} }
} }
function GetEntityInfo(en: Entity, entTemp: TemplateRecord, option: IGetRoomInfo) function GetEntityInfo(en: Entity, entTemp: TemplateRecord, option: TemplateOptionInfo)
{ {
if (en instanceof Board) if (en instanceof Board)
{ {
@ -1301,6 +1301,11 @@ function GetEntityInfo(en: Entity, entTemp: TemplateRecord, option: IGetRoomInfo
}); });
} }
option.hingeName = hwd.HardwareOption.name; option.hingeName = hwd.HardwareOption.name;
//获取铰链的MOVE参数
let moveParam = entTemp.GetParam("MOVE");
if (moveParam)
option.hingeMoveParam = moveParam.expr ?? moveParam.value;
} }
option.material = hwd.HardwareOption.material; option.material = hwd.HardwareOption.material;

@ -39,7 +39,7 @@ import { arrayRemoveOnce } from '../../../Nest/Common/ArrayExt';
import { IDrawerDoorTempInfo } from '../../Store/DoorInterface'; import { IDrawerDoorTempInfo } from '../../Store/DoorInterface';
import { kuGanStore } from '../../Store/KuGanStore'; import { kuGanStore } from '../../Store/KuGanStore';
import { IDrawBoardAutoCutOption } from "../../Store/OptionInterface/IOptionInterface"; import { IDrawBoardAutoCutOption } from "../../Store/OptionInterface/IOptionInterface";
import { IDir, IHasAutoCutOption, ITemplateManage, ITemplateManageOption, TemplateManageOption } from '../../Store/OptionInterface/TemplateManageOption'; import { IDir, IHasAutoCutOption, ITemplateManage, ITemplateManageOption, TemplateManageOption, TemplateOptionInfo } from '../../Store/OptionInterface/TemplateManageOption';
import { ITemplateParam } from "../../Store/RightPanelStore/ITemplateParam"; import { ITemplateParam } from "../../Store/RightPanelStore/ITemplateParam";
import { tempalteManageStore } from '../../Store/TemplateManageStore'; import { tempalteManageStore } from '../../Store/TemplateManageStore';
import { AutoCutCheckbox } from '../Board/BoardCommon'; import { AutoCutCheckbox } from '../Board/BoardCommon';
@ -61,7 +61,7 @@ import { TemplateList } from './TemplateList';
@observer @observer
export class TemplateManage extends React.Component<ITemplateManage, {}> { export class TemplateManage extends React.Component<ITemplateManage, {}> {
private option: IGetRoomInfo = { private option: TemplateOptionInfo = {
roomName: "", roomName: "",
cabName: "", cabName: "",
originCabName: "", originCabName: "",
@ -75,7 +75,8 @@ export class TemplateManage extends React.Component<ITemplateManage, {}> {
useMaterial: false, useMaterial: false,
openDir: BoardOpenDir.None, openDir: BoardOpenDir.None,
followAttribute: true, followAttribute: true,
hingeName: "" hingeName: "",
hingeMoveParam: "",
}; };
@observable autoCutOption: IDrawBoardAutoCutOption = { isAutoCut: false, isRelevance: false }; @observable autoCutOption: IDrawBoardAutoCutOption = { isAutoCut: false, isRelevance: false };
private uiOption = { navigationWidth: "25%", showTag: true }; private uiOption = { navigationWidth: "25%", showTag: true };
@ -604,7 +605,11 @@ export class TemplateManage extends React.Component<ITemplateManage, {}> {
if (index < 9) continue; if (index < 9) continue;
let par = this.currentProps[index]; let par = this.currentProps[index];
if (!par.expr) continue; if (!par.expr) continue;
template.SetParamExpr(par.name, par.expr); //继承旧铰链的move参数
if (par.name === "MOVE" && this.templateManageOption.option.hingeMoveParam)
template.SetParamExpr(par.name, this.templateManageOption.option.hingeMoveParam);
else
template.SetParamExpr(par.name, par.expr);
} }
if (isKeepChildren) if (isKeepChildren)

@ -33,7 +33,7 @@ export interface TemplateManageUiOption
export interface ITemplateManageOption extends IBaseOption export interface ITemplateManageOption extends IBaseOption
{ {
option: IGetRoomInfo; option: TemplateOptionInfo;
autoCutOption: IDrawBoardAutoCutOption; autoCutOption: IDrawBoardAutoCutOption;
uiOption: TemplateManageUiOption; uiOption: TemplateManageUiOption;
perPageCount: number; perPageCount: number;
@ -41,6 +41,11 @@ export interface ITemplateManageOption extends IBaseOption
dirData?: IHasAutoCutOption[]; dirData?: IHasAutoCutOption[];
} }
export interface TemplateOptionInfo extends IGetRoomInfo
{
hingeMoveParam?: string | number;//旧铰链的move参数
}
export interface TemplateManageOption extends IBaseOption export interface TemplateManageOption extends IBaseOption
{ {
isAutoCut: boolean; isAutoCut: boolean;

Loading…
Cancel
Save