feat(B07): 종단면도를 작성 척도(1/1,000 x 1/200)로 고정

도면에 척도 개념이 없어 도각을 콘텐츠 크기에 맞춰 늘렸다 줄였다. 사용자가 정한
작성 척도로 그림 크기가 결정되도록 좌표를 종이 밀리미터로 옮긴다.

- config_system에 DRAWING_SCALE_* 상수 추가 (종단 1/1,000 x 1/200, 횡단 1/100, A1)
- 종단 좌표를 종이 mm로: 거리 x1.0, 표고는 기준선 기준 x5.0 (세로 5배 과장)
- 기준선(datum)을 종이 y=0으로 정규화, Y축 눈금 라벨은 실제 표고 유지
- frame_entities(fit=False) 추가 — 도각을 실치수 1:1로 두고 위치만 맞춘다.
  콘텐츠가 작도 영역(693x468mm)을 넘으면 경고 로그
- 실측: 도각 840x594mm(A1 실치수), 콘텐츠 370x213mm (노선 350m = 350mm)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-29 18:25:21 +09:00
co-authored by Claude Fable 5
parent c24e556146
commit e40dc97b09
3 changed files with 95 additions and 34 deletions
+11
View File
@@ -745,6 +745,17 @@ VWORLD_LOGIN_PW = os.getenv("VWORLD_LOGIN_PW", "")
# 선택: 수동 발급 세션 쿠키 (예: "JSESSIONID=..; SSCSID=.."). 비어 있으면 자동 로그인 사용.
VWORLD_SESSION_COOKIE = os.getenv("VWORLD_SESSION_COOKIE", "")
# ─────────────────────────────────────────────────────────────────────────
# B07 도면 작성 척도 (2026-08-29 사용자 확정)
# 종단면도: 가로 1/1,000 · 세로 1/200 (세로 5배 과장)
# 횡단면도: 가로·세로 1/100
# 도면 좌표는 종이 밀리미터다. 실거리 1 m가 종이에서 몇 mm인지 = 1000 / 축척분모.
# ─────────────────────────────────────────────────────────────────────────
DRAWING_SCALE_LONG_H = 1000 # 종단면도 가로 축척 분모
DRAWING_SCALE_LONG_V = 200 # 종단면도 세로 축척 분모
DRAWING_SCALE_CROSS = 100 # 횡단면도 가로·세로 축척 분모
DRAWING_SHEET = "A1" # 용지 규격 (840x594 mm 도각 템플릿)
# 시스템 리소스 로그 (루트 log 폴더에 단일 파일, 1개월 보관)
LOG_BASE_DIR = os.path.join(os.path.dirname(os.path.dirname(__file__)), "log")
RESOURCE_LOG_PATH = os.path.join(LOG_BASE_DIR, "system_resources.log")