From 973ac7138f4d422197edb1a64d24ac48d1bed6af Mon Sep 17 00:00:00 2001 From: umsangdon Date: Fri, 4 Sep 2026 20:46:30 +0900 Subject: [PATCH] =?UTF-8?q?fix(B07):=20=ED=9A=A1=EB=8B=A8=20=EC=9E=A5=20?= =?UTF-8?q?=EB=B0=95=EC=8A=A4=20=EA=B0=84=EA=B2=A9=20=EC=A0=9C=EA=B1=B0?= =?UTF-8?q?=C2=B7=EB=A6=AC=EB=B3=B8=20=EC=84=B8=EB=A1=9C=20=EC=8A=A4?= =?UTF-8?q?=ED=81=AC=EB=A1=A4=20=EC=A0=9C=EA=B1=B0=C2=B7=EC=A2=8C=EC=B8=A1?= =?UTF-8?q?=20=ED=8C=A8=EB=84=90=20=EB=9D=BC=EB=B2=A8=20=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 횡단면도 장 배치의 칸 여백 8mm → 0mm — 이웃 박스 테두리가 맞닿음. - CAD 리본 높이 116px → 122px — 내용(85px)이 보이는 높이(81px)를 넘어 생기던 세로 스크롤바 제거. 캔버스 상단이 6px 내려감. - 장 라벨을 누가거리 범위 「1060~1070m」에서 시작 측점 「No.53」으로 교체. - 좌측 패널 2열 격자 단추의 최소폭을 풀어 패널을 14px 넘어가던 것을 막고, 이름이 길면 `…` 로 잘리게 함. Co-Authored-By: Claude Opus 5 (1M context) --- B07_DesignDetail/B07_DesignDetail_Engine_Cad_Sheet.py | 3 ++- B07_DesignDetail/B07_DesignDetail_Router_Support.py | 9 +++++---- B07_DesignDetail/B07_DesignDetail_UI_Style.css | 3 +++ B07_DesignDetail/openwebcad/src/App.css | 4 +++- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/B07_DesignDetail/B07_DesignDetail_Engine_Cad_Sheet.py b/B07_DesignDetail/B07_DesignDetail_Engine_Cad_Sheet.py index cce9992e..7a67125f 100644 --- a/B07_DesignDetail/B07_DesignDetail_Engine_Cad_Sheet.py +++ b/B07_DesignDetail/B07_DesignDetail_Engine_Cad_Sheet.py @@ -41,7 +41,8 @@ from config.config_system import DRAWING_SCALE_CROSS CROSS_SHEET_ID = re.compile(r"cross_s(\d{2,})m?") # 블록 사이 여백(mm)과 테두리 여유 — build_cross_drawing의 테두리 값과 맞춘다. -_BLOCK_GAP_MM = 8.0 +# 여백 0 = 이웃 칸의 테두리가 맞닿는다(2026-09-04 사용자 지시 — 박스 사이 간격 제거). +_BLOCK_GAP_MM = 0.0 _BORDER_PAD_MM = 4.0 diff --git a/B07_DesignDetail/B07_DesignDetail_Router_Support.py b/B07_DesignDetail/B07_DesignDetail_Router_Support.py index 76e1627c..fed5bbbd 100644 --- a/B07_DesignDetail/B07_DesignDetail_Router_Support.py +++ b/B07_DesignDetail/B07_DesignDetail_Router_Support.py @@ -136,17 +136,18 @@ def _drawing_list( except (FileNotFoundError, ValueError, OSError) as exc: logger.warning("B07 횡단 장 계획 실패 — 나머지 도면만 싣는다: %s", exc) sheets = [] + # 장 라벨은 누가거리 범위가 아니라 **그 장의 시작 측점**으로 짓는다(2026-09-04 사용자 + # 지시) — 「1060~1070m」식 범위는 좌측 패널 2열 단추를 넘칠 만큼 길었다. + interval = infer_station_interval(longitudinal.get("stations") or []) for sheet in sheets: chainages = sheet["chainages"] first = station_by_chainage.get(chainages[0], {}) - span = f"{chainages[0]}m" - if len(chainages) > 1: - span = f"{chainages[0]}~{chainages[-1]}m" + station = station_no_label(float(first.get("chainage_m", chainages[0])), interval) drawings.append( DesignDrawingItem( id=sheet["id"], kind="cross", - label=f"{sheet['number']}장 ({span})", + label=f"{sheet['number']}장 ({station})", chainage_m=float(first.get("chainage_m", chainages[0])), confirmed=bool(manifest_drawings.get(sheet["id"], {}).get("confirmed")), ) diff --git a/B07_DesignDetail/B07_DesignDetail_UI_Style.css b/B07_DesignDetail/B07_DesignDetail_UI_Style.css index c9a95180..1dcfce89 100644 --- a/B07_DesignDetail/B07_DesignDetail_UI_Style.css +++ b/B07_DesignDetail/B07_DesignDetail_UI_Style.css @@ -84,6 +84,9 @@ align-items: center; justify-content: center; width: 100%; + /* 격자 칸의 기본 최소폭은 글자 길이라, 이름이 길면 칸이 패널을 밀어내 단추가 + 오른쪽으로 튀어나갔다(2026-09-04 실측 14px). 0으로 풀면 이름이 `…`로 잘린다. */ + min-width: 0; min-height: 34px; padding: var(--spacing-4) var(--spacing-8); /* 경계가 뚜렷하도록 배경색과 유사하지만 조금 짙은 톤 + 은은한 테두리 */ diff --git a/B07_DesignDetail/openwebcad/src/App.css b/B07_DesignDetail/openwebcad/src/App.css index 6d9438ae..f69191bf 100644 --- a/B07_DesignDetail/openwebcad/src/App.css +++ b/B07_DesignDetail/openwebcad/src/App.css @@ -4,7 +4,9 @@ :root { --cad-title-height: 42px; - --cad-ribbon-height: 116px; + /* 116px 에서는 리본 줄의 내용(85px)이 보이는 높이(81px)를 넘어 세로 스크롤바가 + 생겼다(2026-09-04 실측) — 모자란 4px + 여유 2px 를 더한다. */ + --cad-ribbon-height: 122px; /* 명령행 높이 — 상태막대의 [명령행] 토글이 0px로 바꾼다 */ --cad-command-height: 86px; --cad-status-height: 28px;