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); } }