From a3e5988f8b787f83fa8e8869d47d17413092835d Mon Sep 17 00:00:00 2001 From: umsangdon Date: Thu, 8 Oct 2026 14:01:39 +0900 Subject: [PATCH] =?UTF-8?q?feat(B06):=20=EB=8F=84=EC=88=98=EB=A1=9C/?= =?UTF-8?q?=EB=8F=8C=EB=B6=99=EC=9E=84=20=EC=B9=B8=EC=97=90=20=EB=B6=99?= =?UTF-8?q?=EC=9E=84=20=ED=98=95=EC=8B=9D(=EC=B0=B0=EB=B6=99=EC=9E=84=20?= =?UTF-8?q?=C2=B7=20=EB=A9=94=EB=B6=99=EC=9E=84)=20=C2=B7=20=EB=A9=B4?= =?UTF-8?q?=EC=A0=81=20=E3=8E=A1=20=E2=80=94=20=EC=A0=95=EC=9D=98=20?= =?UTF-8?q?=EC=9D=B4=EB=A6=84=20=EC=A4=84=20=C2=B7=20=EA=B8=B0=EB=B3=B8?= =?UTF-8?q?=EA=B0=92=20=EC=8B=9C=ED=97=98(98-3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01EYJJRCfHfdCGNhmXTjQKV7 --- A00_Common/design/design_structure_guard.ts | 13 ++++++++++++- resources/master_template/구조물정의.json | 18 +++++++++++++++--- resources/tester/test_65_ford_defaults.py | 9 +++++++-- 3 files changed, 34 insertions(+), 6 deletions(-) diff --git a/A00_Common/design/design_structure_guard.ts b/A00_Common/design/design_structure_guard.ts index 721bbce37..8cf7c9601 100644 --- a/A00_Common/design/design_structure_guard.ts +++ b/A00_Common/design/design_structure_guard.ts @@ -110,7 +110,7 @@ export const SOIL_ADD: SpecContainer = { items: guardItems(), }; -/** 도수로/돌붙임 칸 — 구조 · 두께(cm · 새 상자 30 · 90-2 사용자 확정) · 물넘이 포장(`ford_chute`)도 같은 칸. */ +/** 도수로/돌붙임 칸 — 구조 · 두께(cm · 새 상자 30 · 90-2 사용자 확정) · 붙임 형식 · 면적(98-3) · 물넘이 포장(`ford_chute`)도 같은 칸. */ export const CHUTE_ITEMS: SpecItem[] = [ { id: "structure", @@ -122,6 +122,17 @@ export const CHUTE_ITEMS: SpecItem[] = [ ], }, { id: "thickness", label: "두께 (cm)", kind: "number", step: 1, default: "30" }, + // 붙임 형식 · 면적(98-3) — 빈칸이면 B08 구조물 집계표에 안 셈(설계자가 넣음) + { + id: "bond", + label: "붙임 형식", + kind: "select", + choices: [ + { value: "찰붙임", label: "찰붙임" }, + { value: "메붙임", label: "메붙임" }, + ], + }, + { id: "area", label: "면적 (㎡)", kind: "number", step: 0.1 }, ]; /** 도수로/돌붙임(선택 · 하나만 · 54-48) — 옛 둘 이상은 보이되 [추가]만 숨김. */ diff --git a/resources/master_template/구조물정의.json b/resources/master_template/구조물정의.json index 5349e307d..d7293bb76 100644 --- a/resources/master_template/구조물정의.json +++ b/resources/master_template/구조물정의.json @@ -3361,7 +3361,11 @@ "chute_add.structure": "구조", "chute_add.structure=도수로": "도수로", "chute_add.structure=돌붙임": "돌붙임", - "chute_add.thickness": "두께 (cm)" + "chute_add.thickness": "두께 (cm)", + "chute_add.bond": "붙임 형식", + "chute_add.bond=찰붙임": "찰붙임", + "chute_add.bond=메붙임": "메붙임", + "chute_add.area": "면적 (㎡)" } }, "box_culvert": { @@ -3424,7 +3428,11 @@ "chute_add.structure": "구조", "chute_add.structure=도수로": "도수로", "chute_add.structure=돌붙임": "돌붙임", - "chute_add.thickness": "두께 (cm)" + "chute_add.thickness": "두께 (cm)", + "chute_add.bond": "붙임 형식", + "chute_add.bond=찰붙임": "찰붙임", + "chute_add.bond=메붙임": "메붙임", + "chute_add.area": "면적 (㎡)" } }, "ford_pavement": { @@ -3495,7 +3503,11 @@ "chute_add.structure": "구조", "chute_add.structure=도수로": "도수로", "chute_add.structure=돌붙임": "돌붙임", - "chute_add.thickness": "두께 (cm)" + "chute_add.thickness": "두께 (cm)", + "chute_add.bond": "붙임 형식", + "chute_add.bond=찰붙임": "찰붙임", + "chute_add.bond=메붙임": "메붙임", + "chute_add.area": "면적 (㎡)" } }, "revetment": { diff --git a/resources/tester/test_65_ford_defaults.py b/resources/tester/test_65_ford_defaults.py index 5bc682fc4..cd8102698 100644 --- a/resources/tester/test_65_ford_defaults.py +++ b/resources/tester/test_65_ford_defaults.py @@ -64,8 +64,13 @@ def test_유입_유출은_구조와_흙막이_칸만(out): "before", "after", ] - # 도수로/돌붙임 = 구조 · 두께(cm · 새 상자 30 · 90-2) - assert out[spec]["chute_add"] == [["structure", None, None], ["thickness", None, "30"]] + # 도수로/돌붙임 = 구조 · 두께(cm · 새 상자 30 · 90-2) · 붙임 형식 · 면적(98-3 · 기본 없음) + assert out[spec]["chute_add"] == [ + ["structure", None, None], + ["thickness", None, "30"], + ["bond", None, None], + ["area", None, None], + ] keys = out[f"{spec}Keys"] assert keys["prefixes"] == ["soil_add_", "chute_add_"] # 측벽 높이 · 좌우 · 상하 · 바닥판 · 날개벽 치수 칸 없음