From 510337557b4aa2e9addbcf6c6e6e997da45da7a8 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Tue, 8 Sep 2026 14:13:42 +0900 Subject: [PATCH] =?UTF-8?q?fix(B08):=20=EC=9E=90=EC=9E=AC=20=EC=9D=B4?= =?UTF-8?q?=EB=A6=84=20=E3=80=8C=EB=AC=BC=EA=B5=AC=EB=A9=8D=E3=80=8D=20?= =?UTF-8?q?=E2=86=92=20=E3=80=8C=EB=AC=BC=EA=B5=AC=EB=A9=8D=EA=B4=80?= =?UTF-8?q?=E3=80=8D=20(=EC=B9=B4=ED=83=88=EB=A1=9C=EA=B7=B8=20=EA=B7=9C?= =?UTF-8?q?=EC=95=BD)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 자재 카탈로그가 이름+규격 두 문자열로 줄을 찾고, 그 규약이 「공백 없는 한 낱말」임 (2026-09-08 B09 실측 — 키는 나라장터 물품식별번호라 우리가 맞출 것이 아님). 전개·관측 원단위표·할증표 세 곳을 함께 고침 — 한쪽만 고치면 이름이 갈림. ⚠ 고임돌·야면석 규격에 뒷길이를 넣지 않음 — 뒷길이는 **수량이 갈리는 축**이지 단가가 갈리는 축이 아님(야면석 톤당 단가는 뒷길이와 무관). B09 가 앞 제안을 물림. 곁들여 — 물구멍관 길이 0.5 가 구조물마다 다른 값임을 주석에 적음 (옹벽 0.32 m/m · 돌기슭막이 0.39 m · 돌골막이 0.5 m/개소, 실무 관측). 시험 739 통과 (B05 코리도 1건 기존 깨짐, 무관). Co-Authored-By: Claude Opus 5 (1M context) --- B08_Quantity/B08_Quantity_Engine_UnitQuantity.py | 11 +++++++---- .../material_surcharge_2026-01-01.json | 2 +- .../structure_unit_observed_2026-01-01.json | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/B08_Quantity/B08_Quantity_Engine_UnitQuantity.py b/B08_Quantity/B08_Quantity_Engine_UnitQuantity.py index 2ba08c1a..5b9e2317 100644 --- a/B08_Quantity/B08_Quantity_Engine_UnitQuantity.py +++ b/B08_Quantity/B08_Quantity_Engine_UnitQuantity.py @@ -144,7 +144,10 @@ STONE_MASONRY = { # ⚠ 미결 — 법은 「2~3 ㎡당 1개소 **이상**」(구조물_수량.md §물구멍)이고 2.0 은 **실무 관측값**이다. # 범위의 한쪽 끝을 쓰는 것이라 사용자 확정 전까지 잠정이다. 식이 아니라 여기 있으니 갈아끼우면 된다. "weep_hole_area_m2": 2.0, # 물구멍 1개소당 벽면적 - "weep_hole_length_m": 0.5, # 물구멍 1개소당 관 길이 + # ⚠ **구조물마다 다른 값이다** — 실무 관측: 반중력식 옹벽 0.32 m/m · 돌기슭막이 0.39 m · + # 돌골막이 0.5 m/개소(2026-09-08 랩탑 보조). 여기 0.5 하나로 돌고 있으니 그 사실을 + # 적어 둔다 — 관측 원단위가 있는 종류는 그 표가 이기고, 없는 종류만 이 값으로 선다. + "weep_hole_length_m": 0.5, # 물구멍관 1개소당 관 길이 "mortar_m3_per_m2": 0.009, # 줄눈 모르터 (찰쌓기만) "excavation_extra_m": 0.2, # 터파기 폭 여유 "backfill_thickness_m": 0.2, # 되메우기 두께 @@ -168,7 +171,7 @@ DESTINATION = { "채움콘크리트": "unit_price", "모르터": "unit_price", "거푸집": "unit_price", - "물구멍": "material", + "물구멍관": "material", # ⚠ 자재 카탈로그가 이름으로 찾는다 — 공백 없는 한 낱말(B09 규약) } # ⚠ 배합 성분 — 산출물에 나타나면 안 된다(㉢). B09 일위대가가 배합표로 분해한다. @@ -513,10 +516,10 @@ def stone_masonry( # 이름에 붙인다(`물구멍 Ø50`). 지어내지 않고 규격 없는 이름으로 둔다. components.append( Component( - "물구멍", + "물구멍관", "m", masonry_area / constants["weep_hole_area_m2"] * constants["weep_hole_length_m"], - DESTINATION["물구멍"], + DESTINATION["물구멍관"], # ⚠ 「미확정」만 적으면 사용자가 무엇을 정해야 하는지 모른다 — # **지금 무슨 값으로 돌고 있는지**를 함께 적는다(원단위 미확보와 같은 방식). "돌쌓기 ÷ 2㎡/개소 × 0.5 m/개소 · ⚠ 잠정: 관 Ø 미정(법 3~6㎝ / 실무 Ø50) ·" diff --git a/resources/data_material_surcharge/material_surcharge_2026-01-01.json b/resources/data_material_surcharge/material_surcharge_2026-01-01.json index a7eb5b0d..3451db13 100644 --- a/resources/data_material_surcharge/material_surcharge_2026-01-01.json +++ b/resources/data_material_surcharge/material_surcharge_2026-01-01.json @@ -158,7 +158,7 @@ }, "not_found": { "note": "산림·건설 두 품셈의 재료 할증률표를 다 뒤졌으나 **이름이 없는** 자재. 석재 계열은 건설품셈도 해상 사석(기초·피복·뒤채움)과 원석(마름돌용)만 다룬다.", - "materials": ["야면석", "고임돌", "물구멍"], + "materials": ["야면석", "고임돌", "물구멍관"], "checked": [ "산림품셈 1-3-1 전 19종", "건설품셈 1-3-1 1~7호(콘크리트·노반·관기초·토사(해상)·사석(해상)·속채움(해상)·강재류)", diff --git a/resources/data_structure_unit/structure_unit_observed_2026-01-01.json b/resources/data_structure_unit/structure_unit_observed_2026-01-01.json index 05b9fb3b..4c48dd52 100644 --- a/resources/data_structure_unit/structure_unit_observed_2026-01-01.json +++ b/resources/data_structure_unit/structure_unit_observed_2026-01-01.json @@ -62,7 +62,7 @@ "basis_note": "기초" }, { - "name": "물구멍", + "name": "물구멍관", "unit": "m", "amount": 0.32, "destination": "material",