fix(B06): 물넘이 포장 측구 끔 · 경사 = 패널 경사각 · 세월교 · 물넘이 월류 높이 점선(PLAN 66-2 · 66-3)
- 물넘이 자리 노면 · 측구 설계선 걷음 → 옛 계획고 점선(바닥 + 월류 높이)이 드러남 · 측구 자리는 바닥 끝 ~ 절토 비탈 발 실선 - 노면 경사 = ford_slope_deg(°) → % · 없으면 옛 ford_slope_pct · 둘 다 없으면 기본 3° (파이썬 · TS 짝 + 거울 시험) - 방향 = 지금대로 절토측 높고 성토측 낮음 - 세월교 점선 = 노면 + 월류 높이(ford_height_m) · 패널에서 고치면 저장 전에도 바로 따라옴 - 물넘이 패널 월류 높이 · 경사각도 캐시 제원에 바로 얹음(폭 절반 걸친 옆 카드 포함) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7
This commit is contained in:
@@ -82,10 +82,17 @@ POINTS = [
|
||||
"form": "메쌓기",
|
||||
},
|
||||
},
|
||||
# 물넘이포장 경사각(°) → %(66-2) · 경사 칸이 없으면 기본 3°
|
||||
{
|
||||
"chainage_m": 140.0,
|
||||
"facility": "ford_pavement",
|
||||
"options": {"ford_height_m": 0.3, "ford_slope_deg": 5},
|
||||
},
|
||||
{"chainage_m": 160.0, "facility": "ford_pavement", "options": {"ford_height_m": 0.2}},
|
||||
]
|
||||
|
||||
# 물넘이포장(폭 9m)이 ±4.5m 까지 걸치는지 보려고 95·105 측점을 함께 둔다.
|
||||
CHAINAGES = [0.0, 20.0, 40.0, 60.0, 80.0, 95.0, 100.0, 105.0, 120.0, 140.0]
|
||||
CHAINAGES = [0.0, 20.0, 40.0, 60.0, 80.0, 95.0, 100.0, 105.0, 120.0, 140.0, 160.0]
|
||||
|
||||
_TS_RUNNER = """
|
||||
import { readFileSync, writeFileSync } from "node:fs";
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
"""물넘이포장 노면 경사 = 좌측 패널 경사각(°) → %(PLAN 66-2).
|
||||
|
||||
경사각이 있으면 그 값 · 없으면 옛 「바닥 경사(%)」 · 둘 다 없으면 기본 3°.
|
||||
"""
|
||||
|
||||
import math
|
||||
|
||||
from B06_Section.B06_Section_Engine_Culvert import _ford_pavement_set
|
||||
|
||||
|
||||
def test_slope_degree_becomes_percent() -> None:
|
||||
spec = _ford_pavement_set({"ford_height_m": 0.3, "ford_slope_deg": 5})
|
||||
assert spec["slope_pct"] == round(math.tan(math.radians(5)) * 100, 4)
|
||||
assert not any("경사각" in item for item in spec["defaulted"])
|
||||
|
||||
|
||||
def test_slope_defaults_to_three_degrees() -> None:
|
||||
spec = _ford_pavement_set({"ford_height_m": 0.3})
|
||||
assert spec["slope_pct"] == round(math.tan(math.radians(3)) * 100, 4)
|
||||
assert "경사각 3" in spec["defaulted"]
|
||||
|
||||
|
||||
def test_legacy_percent_kept_without_degree() -> None:
|
||||
spec = _ford_pavement_set({"ford_height_m": 0.3, "ford_slope_pct": 2.0})
|
||||
assert spec["slope_pct"] == 2.0
|
||||
Reference in New Issue
Block a user