From d3c6972bef578a19f96e348fb5e30e25231644d9 Mon Sep 17 00:00:00 2001 From: ZoeLeeFZ Date: Fri, 3 Jul 2020 14:58:26 +0800 Subject: [PATCH] =?UTF-8?q?!1137=20=E4=BF=AE=E5=A4=8D:=E8=99=9A=E6=8B=9F?= =?UTF-8?q?=E7=A9=BA=E9=97=B4=E7=BB=98=E5=88=B6=E9=85=92=E6=A0=BC=E6=9D=BF?= =?UTF-8?q?=E5=8E=9A=E6=97=A0=E6=95=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProgramTempate/TemplateWineRackRecord.ts | 7 ----- src/DatabaseServices/Template/TempateUtils.ts | 27 ++++++++++--------- src/Editor/BoardMoveTool.ts | 4 +++ .../Template/TemplateActionDiglog.tsx | 3 ++- .../Template/TemplateActionList.tsx | 8 ++++-- 5 files changed, 26 insertions(+), 23 deletions(-) diff --git a/src/DatabaseServices/Template/ProgramTempate/TemplateWineRackRecord.ts b/src/DatabaseServices/Template/ProgramTempate/TemplateWineRackRecord.ts index c46d4bb12..633f544b6 100644 --- a/src/DatabaseServices/Template/ProgramTempate/TemplateWineRackRecord.ts +++ b/src/DatabaseServices/Template/ProgramTempate/TemplateWineRackRecord.ts @@ -31,13 +31,6 @@ export class TemplateWineRackRecord extends TemplateRecord Object.assign(this.option, option); ExtendsBoardThickness(this, option.boardThick); } - - // InitBaseParams() - // { - // super.InitBaseParams(); - // return this; - // } - protected async Update() { await super.Update(); diff --git a/src/DatabaseServices/Template/TempateUtils.ts b/src/DatabaseServices/Template/TempateUtils.ts index 3513252a9..d84896def 100644 --- a/src/DatabaseServices/Template/TempateUtils.ts +++ b/src/DatabaseServices/Template/TempateUtils.ts @@ -1068,22 +1068,23 @@ export function RemoveTemplate(temp: TemplateRecord) let replaceJig = new Jig(); -/**新模块替换旧模块 */ -export async function ReplaceTemplate(oldTemp: TemplateRecord, newTemp: TemplateRecord, reSelectSpace = true) +/**新模块替换旧模块 ,extendExpr-是否继承旧模板表达式*/ +export async function ReplaceTemplate(oldTemp: TemplateRecord, newTemp: TemplateRecord, reSelectSpace = true, extendExpr = true) { //拷贝所有共有参数 - for (let index = 0; index < oldTemp.Params.length; index++) - { - let oldParam = oldTemp.Params[index]; - //https://gitee.com/BearCAD/WebCAD/pulls/1048#note_2620830 - let newExpr = oldParam.expr; - if (index < 9) + if (extendExpr) //#I1MFG0,替换虚拟空间时不继承表达式 + for (let index = 0; index < oldTemp.Params.length; index++) { - newTemp.Params[index].expr = newExpr; - continue; + let oldParam = oldTemp.Params[index]; + //https://gitee.com/BearCAD/WebCAD/pulls/1048#note_2620830 + let newExpr = oldParam.expr; + if (index < 9) + { + newTemp.Params[index].expr = newExpr; + continue; + } + newTemp.SetParamExpr(oldParam.name, newExpr); } - newTemp.SetParamExpr(oldParam.name, newExpr); - } let positioning = oldTemp.Positioning; // if (!(positioning instanceof PositioningTemporary && oldTemp.Parent && !oldTemp.Parent.IsErase)) @@ -1196,7 +1197,7 @@ export async function SetTemplatePositionAndSetParent(spaceParse: ISpaceParse, t else if (spaceParse.VisualSpaceBox) { let vstemplate = spaceParse.VisualSpaceBox.Template.Object as TemplateVisualSpace; - ReplaceTemplate(vstemplate, template); + ReplaceTemplate(vstemplate, template, true, false); DeleteTempate(vstemplate); } else diff --git a/src/Editor/BoardMoveTool.ts b/src/Editor/BoardMoveTool.ts index 9ecb42d51..990b601a3 100644 --- a/src/Editor/BoardMoveTool.ts +++ b/src/Editor/BoardMoveTool.ts @@ -271,12 +271,16 @@ export class BoardMoveTool let p1 = app.Viewer.PreViewer.WorldToViewPoint(pts[0].clone()).setZ(0); let p2 = app.Viewer.PreViewer.WorldToViewPoint(pts[1].clone()).setZ(0); + let oldAutoUpdate = dim.AutoUpdate; + dim.AutoUpdate = false; dim.FootP1 = p1; dim.ArmP1 = p1; dim.FootP2 = p2; dim.ArmP2 = p2; dim.TextRotation = 0; dim.TextString = FixedNotZero(pts[0].distanceTo(pts[1]), 2); + dim.AutoUpdate = oldAutoUpdate; + dim.DeferUpdate(); } } } diff --git a/src/UI/Components/Template/TemplateActionDiglog.tsx b/src/UI/Components/Template/TemplateActionDiglog.tsx index 95c1cd834..78b141bc4 100644 --- a/src/UI/Components/Template/TemplateActionDiglog.tsx +++ b/src/UI/Components/Template/TemplateActionDiglog.tsx @@ -283,7 +283,8 @@ export class TempalteActionDialog extends React.Component { diff --git a/src/UI/Components/Template/TemplateActionList.tsx b/src/UI/Components/Template/TemplateActionList.tsx index 220d678f0..20ef75f9f 100644 --- a/src/UI/Components/Template/TemplateActionList.tsx +++ b/src/UI/Components/Template/TemplateActionList.tsx @@ -244,15 +244,19 @@ export default class TempalteActionList extends React.Component