auto: 2026-09-09 11:32 (ESD_LAPTOP)
This commit is contained in:
@@ -944,6 +944,8 @@ EXPANDERS = {
|
||||
"erosion_check": lambda h, l, o, f=None, r="": _stone_kin()("erosion_check"),
|
||||
# 개거는 **m당** 원단위라 연장이 밑수다(정본 「개거(150-200)」·「L형수로-(201)」).
|
||||
"open_ditch": lambda h, l, o, f=None, r="": _open_ditch()(l, o),
|
||||
# 흙막이는 **아직 못 세움** — 정본에 떼흙막이 하나뿐인데 우리 형식 칸에 「떼」가 없음.
|
||||
"soil_guard": lambda h, l, o, f=None, r="": _soil_guard()(o),
|
||||
# 바닥막이는 **돌붙임 ㎡당**이라 높이·연장이 아니라 **면적**이 밑수다(정본 「돌붙임L3=…」).
|
||||
"bed_sill": lambda h, l, o, f=None, r="": _bed_sill()(_num(o.get("area_m2"), 0.0), o),
|
||||
# ⚠⚠ **큰돌쌓기(`boulder_masonry`)를 여기에 두지 않는다** (2026-09-07 발견).
|
||||
@@ -956,6 +958,13 @@ EXPANDERS = {
|
||||
}
|
||||
|
||||
|
||||
def _soil_guard():
|
||||
"""흙막이 사유 함수를 늦게 가져온다."""
|
||||
from B08_Quantity.B08_Quantity_Engine_UnitQuantity_Revetment import soil_guard
|
||||
|
||||
return soil_guard
|
||||
|
||||
|
||||
def _open_ditch():
|
||||
"""개거 전개 함수를 늦게 가져온다."""
|
||||
from B08_Quantity.B08_Quantity_Engine_UnitQuantity_Revetment import open_ditch
|
||||
|
||||
@@ -164,6 +164,17 @@ def stone_kin_withheld(type_id: str) -> tuple[list[Component], list[str]]:
|
||||
#: ⚠ 개거 표에 콘크리트가 없는 것은 **빠뜨린 것이 아니라 원문 그대로**다. 0 으로 때우거나
|
||||
#: L형수로 값을 옮겨 채우지 않는다(2026-09-09 판단 — 돌붙임(메)에서 세 줄을 안 만든 그 자리).
|
||||
#:
|
||||
#: ⓘ **「다른 탭에 본체가 있나」를 찾아봤고 없었다**(2026-09-09 53탭 전수):
|
||||
#: · 「개거」 글자가 나오는 탭은 **둘뿐** — 이 탭과 「콘크리트개거」.
|
||||
#: 뒤엣것은 **제목만 「콘크리트개거 (물넘이형)」이고 내용이 국가지점번호판 표**다.
|
||||
#: · 탭 이름의 「(2)」는 **짝 번호가 아니라 엑셀 사본 표식**이다 — `Φ1000` ↔ `Φ1000(2)`,
|
||||
#: `떼수로(윤주1.08)` ↔ `…(2)` 가 **내용까지 똑같다**(대조 확인). 「(1)」은 없다.
|
||||
#: · 같은 시트의 「측구수로400/500」도 제목이 **「터파기 계산서」**이고 본체가 없다 —
|
||||
#: **한 구조물을 부분 계산서로 쪼개는 버릇**이 있는 시트다.
|
||||
#: ⇒ 그러므로 이 표는 **부분 계산서일 가능성이 남아 있다.** 다만 이 원본 안에서는
|
||||
#: 본체 표를 못 찾았으므로 **「원문에 없음」으로 두고 그 사실을 화면에 적는다** —
|
||||
#: 「콘크리트 개거인데 콘크리트가 0」이 우리 결함으로 읽히지 않게.
|
||||
#:
|
||||
#: ⚠ **규격이 붙박이다** — 정본에 「150×200」 하나뿐이고 `open_ditch` 등록부에 **옵션이 하나도
|
||||
#: 없다**(규격 칸 없음). 칸이 생기면 이 표를 열면 된다.
|
||||
OPEN_DITCH_FORMS: dict[str, dict[str, Any]] = {
|
||||
@@ -195,6 +206,40 @@ OPEN_DITCH_FORMS: dict[str, dict[str, Any]] = {
|
||||
}
|
||||
|
||||
|
||||
#: 떼흙막이 원단위 — 소광리 정본 「떼흙막이」, **개소당**. 치수는 전부 **평균 붙박이**다
|
||||
#: (상단 1.5 · 하단 1.1 · 높이 0.5 · 두께 0.2 · 기슭 0.54 — 원문에 「(평균)」이라 적혀 있다).
|
||||
#: ⚠⚠ **아직 못 쓴다** — 우리 `soil_guard` 형식이 「콘크리트 · 돌(찰) · 돌(메) · 블록쌓기 ·
|
||||
#: 돌망태」 다섯이고 **「떼」가 없다.** 형식 칸이 생기면 이 표를 그대로 붙이면 된다.
|
||||
#: ⚠ 나머지 다섯 형식은 **정본에 탭이 없다.** 돌(찰)/(메)에 기슭막이 식을 빌려 쓰지 않는다 —
|
||||
#: 흙막이는 교본상 앞면 1:0.3·뒷면 수직·천단 30㎝ 라 축이 다르고, 무엇보다 **근거가 없다.**
|
||||
SOIL_GUARD_SOD: dict[str, Any] = {
|
||||
"unit_label": "개소당",
|
||||
"rows": (
|
||||
(
|
||||
"떼",
|
||||
"㎡",
|
||||
1.39,
|
||||
"머리떼 1.5×0.2 + 바닥떼 1.1×0.2 + 정면떼 (1.5+1.1)÷2×0.5 "
|
||||
"+ 양기슭바닥떼 0.54×0.2×2 · 규격 20×20㎝",
|
||||
),
|
||||
("바닥파기", "㎥", 0.17, "(0.54×0.4×0.2×2) + (1.1×0.4×0.2)"),
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
def soil_guard(options: dict[str, Any]) -> tuple[list[Component], list[str]]:
|
||||
"""흙막이 — **아직 못 세운다.** 어느 형식이 왜 안 되는지만 낸다."""
|
||||
form = str(options.get("form") or "").strip()
|
||||
if not form:
|
||||
return [], ["흙막이 형식이 정해지지 않았습니다 — 형식을 골라야 물량이 섭니다"]
|
||||
return [], [
|
||||
f"흙막이 형태 「{form}」 — 정본(소광리 53탭)에 그 형식의 산출식이 없습니다. "
|
||||
"있는 것은 **떼흙막이** 하나인데 우리 형식 칸에 「떼」가 없습니다. "
|
||||
"⚠ 돌(찰)·돌(메)에 기슭막이 식을 빌려 쓰지 않습니다 — 흙막이는 앞면 1:0.3·뒷면 수직·"
|
||||
"천단 30㎝(교본)라 축이 다르고 근거가 없습니다"
|
||||
]
|
||||
|
||||
|
||||
def open_ditch(length_m: float, options: dict[str, Any]) -> tuple[list[Component], list[str]]:
|
||||
"""개거(겉도랑) 전개 — **m당** 원단위를 연장에 곱한다(소광리 정본 두 탭).
|
||||
|
||||
@@ -227,7 +272,10 @@ def open_ditch(length_m: float, options: dict[str, Any]) -> tuple[list[Component
|
||||
if spec == "콘크리트 개거 150×200":
|
||||
notes.append(
|
||||
"⚠ 이 표에는 **콘크리트 본체 줄이 없습니다** — 정본 원문 그대로입니다"
|
||||
"(터파기·유로폼·면목 세 줄뿐). 지어내지 않았습니다"
|
||||
"(터파기·유로폼·면목 세 줄뿐). 같은 원본 53탭에서 본체 표를 찾았으나 없었고"
|
||||
"(「콘크리트개거」 탭은 제목만 그 이름이고 내용이 다른 표), 이 시트가"
|
||||
"「측구수로 터파기 계산서」처럼 **부분 계산서를 쓰는 버릇**이 있어"
|
||||
"**다른 문서에 본체가 있을 수 있습니다.** 지어내지 않았습니다"
|
||||
)
|
||||
for name, unit in table.get("blank_rows", ()):
|
||||
notes.append(f"{name}({unit}) 은 정본에 줄은 있으나 **수량이 비어 있어** 안 세웠습니다")
|
||||
|
||||
Reference in New Issue
Block a user