From 01a1c727ee39b4d4dd621a8cea30275ae1e0e163 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=89?= <940119273@qq.com> Date: Fri, 8 Dec 2023 06:27:18 +0000 Subject: [PATCH] =?UTF-8?q?!2502=20=E4=BF=AE=E5=A4=8D:=E9=93=B0=E9=93=BE?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E5=86=85=E7=9A=84=E5=AE=9E=E4=BD=93=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E5=8C=85=E5=90=AB"=E9=93=B0=E9=93=BE",=E5=8F=82?= =?UTF-8?q?=E4=B8=8E=E9=97=A8=E9=93=B0=E5=90=8D=E7=A7=B0=E8=B5=8B=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DrawBoard/DrawDoorDrawer/DrawDoorTool.ts | 27 +++++++++++++++++-- .../Template/TemplateDrawHingeTool.ts | 3 ++- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/Add-on/DrawBoard/DrawDoorDrawer/DrawDoorTool.ts b/src/Add-on/DrawBoard/DrawDoorDrawer/DrawDoorTool.ts index b31902311..a3adcddd8 100644 --- a/src/Add-on/DrawBoard/DrawDoorDrawer/DrawDoorTool.ts +++ b/src/Add-on/DrawBoard/DrawDoorDrawer/DrawDoorTool.ts @@ -1020,6 +1020,7 @@ export class DrawDoorTool */ export function SetTypeHigneName(relativeDoors: Set, allSpaceEnts: Entity[], isLROpen: boolean): void { + let hingeTemp = new Set(); for (let door of relativeDoors) { let openDir = BoardOpenDir.Left; @@ -1031,7 +1032,18 @@ export function SetTypeHigneName(relativeDoors: Set, allSpaceEnts: Entit { let hinge = obj.Object as HardwareCompositeEntity; if (IsHinge(hinge)) - hinge.HardwareOption.name = hingeName; + { + let temp = hinge.Template?.Object as TemplateRecord; + if (temp && !hingeTemp.has(temp)) + { + hingeTemp.add(temp); + for (let ent of temp.AllEntitys) + { + if (ent instanceof HardwareCompositeEntity && ent.HardwareOption.name.includes("铰链")) + ent.HardwareOption.name = hingeName; + } + } + } } } else if (door instanceof HardwareCompositeEntity) @@ -1063,7 +1075,18 @@ export function SetTypeHigneName(relativeDoors: Set, allSpaceEnts: Entit { let hinge = obj.Object as HardwareCompositeEntity; if (IsHinge(hinge)) - hinge.HardwareOption.name = hingeName; + { + let temp = hinge.Template?.Object as TemplateRecord; + if (temp && !hingeTemp.has(temp)) + { + hingeTemp.add(temp); + for (let ent of temp.AllEntitys) + { + if (ent instanceof HardwareCompositeEntity && ent.HardwareOption.name.includes("铰链")) + ent.HardwareOption.name = hingeName; + } + } + } } } } diff --git a/src/UI/Components/Template/TemplateDrawHingeTool.ts b/src/UI/Components/Template/TemplateDrawHingeTool.ts index 9139835ce..b2fdd35dd 100644 --- a/src/UI/Components/Template/TemplateDrawHingeTool.ts +++ b/src/UI/Components/Template/TemplateDrawHingeTool.ts @@ -185,7 +185,8 @@ export class TemplateDrawHingeTool hinge.HardwareOption[EBoardKeyList.RoomName] = rName; hinge.HardwareOption[EBoardKeyList.BrMat] = bName; hinge.HardwareOption[EBoardKeyList.CabinetName] = cName; - hinge.HardwareOption.name = hingeType; + if (hinge.HardwareOption.name.includes("铰链")) + hinge.HardwareOption.name = hingeType; this.hingeSet.add(objId); } }