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;