feat(B06): 사면 이동 = 노견째 평행이동 · 늘어난 폭은 차도(151-2)

- 파이썬 · TS 짝(Engine_Design_Geometry ↔ cross_design_geometry) — 차도 반폭에도 이동량
- 확폭 출력(Engine_Design ↔ cross_design)에서 이동 몫 뺌 · 노폭 라벨 「+ 이동」
- 거울 시험 — 확폭 + 이동 겹친 사례 · 노견 폭 고정 · 차도 끝 이동 단정

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018jonfdxn1Xit9bdkNJpE4G
This commit is contained in:
2026-10-09 19:08:22 +09:00
co-authored by Claude Opus 5.5
parent 09b3b50efc
commit 19b167caff
6 changed files with 77 additions and 13 deletions
+8 -3
View File
@@ -214,7 +214,7 @@ def compute_cross_design(
높이만큼 낮게 앉으므로 계획고를 그만큼 내려 잡는다. 단면 전체가 평행 이동하므로
횡단경사·측구·사면 규칙은 그대로고 절·성토 면적만 따라 바뀐다(2026-08-30 사용자).
spoil_fill: 이 측점에 선 유용토운반작업장(구 사토장) — `{"side", "width_m", "slope_ratio_n"}`.
shoulder_extend_left_m · shoulder_extend_right_m: 설계선 쉬프트 = 쪽마다 노견 확장(m · ≥ 0 ·
shoulder_extend_left_m · shoulder_extend_right_m: 설계선 쉬프트 = 쪽마다 사면 이동(m · ≥ 0 ·
139-6) — 사용자 값 · 저장분은 `stored_shoulder_extend`. TS 짝 `shoulderExtendLeftM` 등.
폭은 **노면 끝**(노견이 시작하는 자리)에서 재고, 그 바깥 성토는 **노선 몫이 아니라
사토장 몫**이라 `fill_area_m2` 에서 뺀다(2026-09-09 확정 ㉠ — 두 번 세지 않기).
@@ -444,8 +444,13 @@ def compute_cross_design(
"carriageway_width_m": round(geometry.half_road_left + geometry.half_road_right, 4),
# 규격 폭과 확폭을 따로 남긴다 — 횡단도 라벨·수량 산출이 둘을 나눠 쓴다.
"carriageway_standard_width_m": round(group["road_width_m"], 4),
"widening_left_m": round(geometry.half_road_left - geometry.half_road, 4),
"widening_right_m": round(geometry.half_road_right - geometry.half_road, 4),
# 확폭 = 곡선부 몫만 — 사면 이동(151-2)이 넓힌 차도는 뺀다(TS 짝 같음).
"widening_left_m": round(
geometry.half_road_left - geometry.half_road - geometry.shoulder_extend_left, 4
),
"widening_right_m": round(
geometry.half_road_right - geometry.half_road - geometry.shoulder_extend_right, 4
),
"cross_slope_pct": round(cross_slope_pct, 4),
"ditch": ditch_spec,
# 결과 — **실제로 섰나**. 읽는 쪽 여섯이 이 뜻으로 쓴다.