feat(B08): 골막이·바닥막이 — 식을 안 두고 **왜 없는지**를 냄 (3단계 둘째·셋째)
⚠⚠ 조사 중 큰 것이 나옴 — **우리가 「틀렸다」고 버린 옛 두께식이 실은 「골막이 식」이었음.**
소광리 숨김탭 「골막이(찰)(치수조서연결)」 원문:
```
C26 평 균 두 께 = {( 0.45 + 0.1 × H ) + ( 0.45 + 0.4 × H )} ÷ 2
```
우리 옛 식과 글자까지 같음. ⇒ **실무는 구조물 종류마다 두께식이 다름.**
확정 ②(뒷길이 기반)는 **기슭막이에 맞고**, 골막이에는 이 식이 맞음.
⇒ 골막이에 `stone_masonry` 를 그대로 부르면 **틀어짐.** 그래서 안 부름.
골막이가 돌쌓기와 다른 자리 셋 (정본 실측)
· 두께식 위와 같음
· 밑수가 **「돌쌓기 + 돌붙임」** (19.62 + 2.625 = 22.245) — 기슭막이는 돌쌓기만
· 단위가 **개소당** — 기슭막이는 m당
· 정면적이 사다리꼴 ((상장+하장)÷2×높이) − 파형강관(0.4×0.4×3.14)
⚠ **상장·하장 칸이 등록부에 없어** 정면적을 못 냄 — 칸 신설이 선행
바닥막이는 형태가 **돌붙임**(품셈 13-5)이라 돌쌓기(13-4) 표를 못 씀. 밑수도 면적(㎡)이라
축이 다름 — 돌붙임 원단위 미확보.
⚠ **일부러 안 부름** — 돌 계열이라 `stone_masonry` 를 부르면 **값이 나오므로 아무 시험도
안 잡음.** 오늘 큰돌쌓기에서 같은 일이 있었음(직경 60~80㎝ 가 뒷길이 45㎝ 계수로 돌던 자리).
자체검증 — 골막이 0줄 + 사유 · 바닥막이 0줄 + 사유 · 기슭막이 13줄(그대로).
회귀 586 통과 · 0 실패.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -936,6 +936,9 @@ EXPANDERS = {
|
|||||||
# 이고 그 안의 계산이 같다. 갈래·사유는 `_UnitQuantity_Revetment` 가 든다(늦게 부른다 —
|
# 이고 그 안의 계산이 같다. 갈래·사유는 `_UnitQuantity_Revetment` 가 든다(늦게 부른다 —
|
||||||
# 그쪽이 이 모듈의 `stone_masonry` 를 쓰므로 위에서 부르면 맞물린다).
|
# 그쪽이 이 모듈의 `stone_masonry` 를 쓰므로 위에서 부르면 맞물린다).
|
||||||
"revetment": lambda h, l, o, f=None, r="": _revetment()(h, l, o, f, r),
|
"revetment": lambda h, l, o, f=None, r="": _revetment()(h, l, o, f, r),
|
||||||
|
# 골막이·바닥막이는 돌 계열이나 **돌쌓기 식을 그대로 못 쓴다** — 까닭은 그 모듈에 적었다.
|
||||||
|
"erosion_check": lambda h, l, o, f=None, r="": _stone_kin()("erosion_check"),
|
||||||
|
"bed_sill": lambda h, l, o, f=None, r="": _stone_kin()("bed_sill"),
|
||||||
# ⚠⚠ **큰돌쌓기(`boulder_masonry`)를 여기에 두지 않는다** (2026-09-07 발견).
|
# ⚠⚠ **큰돌쌓기(`boulder_masonry`)를 여기에 두지 않는다** (2026-09-07 발견).
|
||||||
# 큰돌쌓기는 품셈 **13-6** 이고 돌쌓기는 **13-4** 다 — **규격 축이 다르다.**
|
# 큰돌쌓기는 품셈 **13-6** 이고 돌쌓기는 **13-4** 다 — **규격 축이 다르다.**
|
||||||
# 돌쌓기는 **뒷길이**(35·45·55·60㎝), 큰돌쌓기는 **직경**(40~60·60~80·80~100㎝).
|
# 돌쌓기는 **뒷길이**(35·45·55·60㎝), 큰돌쌓기는 **직경**(40~60·60~80·80~100㎝).
|
||||||
@@ -946,6 +949,13 @@ EXPANDERS = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def _stone_kin():
|
||||||
|
"""골막이·바닥막이 사유 함수 — 늦게 가져온다(서로 부르는 것을 푸는 자리)."""
|
||||||
|
from B08_Quantity.B08_Quantity_Engine_UnitQuantity_Revetment import stone_kin_withheld
|
||||||
|
|
||||||
|
return stone_kin_withheld
|
||||||
|
|
||||||
|
|
||||||
def _revetment():
|
def _revetment():
|
||||||
"""기슭막이 전개 함수를 늦게 가져온다 — 서로 부르는 것을 풀기 위한 자리."""
|
"""기슭막이 전개 함수를 늦게 가져온다 — 서로 부르는 것을 풀기 위한 자리."""
|
||||||
from B08_Quantity.B08_Quantity_Engine_UnitQuantity_Revetment import revetment
|
from B08_Quantity.B08_Quantity_Engine_UnitQuantity_Revetment import revetment
|
||||||
|
|||||||
@@ -43,6 +43,20 @@ WITHHELD_FORMS: dict[str, str] = {
|
|||||||
"바자": "바자얽기(품셈 5-15)는 별도 일위대가를 만들어 잇기로 확정(2026-09-09 ⑧-4)",
|
"바자": "바자얽기(품셈 5-15)는 별도 일위대가를 만들어 잇기로 확정(2026-09-09 ⑧-4)",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#: 골막이·바닥막이 — **왜 아직 안 서는지**. 둘 다 돌 계열이나 돌쌓기 식을 그대로 못 쓴다.
|
||||||
|
#: ⚠ 근거 없는 식을 만들지 않는다(2026-09-09 확인). 칸·표가 오면 그때 붙인다.
|
||||||
|
STONE_KIN_WITHHELD: dict[str, str] = {
|
||||||
|
"erosion_check": (
|
||||||
|
"골막이는 돌쌓기와 **두께식·밑수·단위가 다름**(소광리 정본 「골막이(찰)(치수조서연결)」 "
|
||||||
|
"실측) — 평균두께 {(0.45+0.1H)+(0.45+0.4H)}÷2 · 밑수 「돌쌓기+돌붙임」 · 개소당. "
|
||||||
|
"게다가 정면적이 사다리꼴이라 **상장·하장 칸이 있어야** 셈이 서는데 등록부에 없음"
|
||||||
|
),
|
||||||
|
"bed_sill": (
|
||||||
|
"바닥막이는 형태가 **돌붙임**(품셈 13-5)이라 돌쌓기(13-4) 표를 못 씀 — "
|
||||||
|
"밑수도 면적(㎡)이라 축이 다름. 돌붙임 원단위 미확보"
|
||||||
|
),
|
||||||
|
}
|
||||||
|
|
||||||
#: 돌쌓기 식이 계수를 가르는 데 쓰는 칸 — 기슭막이 등록부에 아직 없는 것을 알린다.
|
#: 돌쌓기 식이 계수를 가르는 데 쓰는 칸 — 기슭막이 등록부에 아직 없는 것을 알린다.
|
||||||
STONE_SPEC_KEYS: tuple[tuple[str, str], ...] = (
|
STONE_SPEC_KEYS: tuple[tuple[str, str], ...] = (
|
||||||
("back_len_cm", "뒷길이"),
|
("back_len_cm", "뒷길이"),
|
||||||
@@ -79,3 +93,14 @@ def revetment(
|
|||||||
"— 그 값이 고임돌·야면석·채움콘크리트 계수를 가름"
|
"— 그 값이 고임돌·야면석·채움콘크리트 계수를 가름"
|
||||||
)
|
)
|
||||||
return components, notes
|
return components, notes
|
||||||
|
|
||||||
|
|
||||||
|
def stone_kin_withheld(type_id: str) -> tuple[list[Component], list[str]]:
|
||||||
|
"""골막이·바닥막이 — **식을 안 두는 까닭**만 낸다.
|
||||||
|
|
||||||
|
⚠ 돌 계열이라 `stone_masonry` 를 부르고 싶어지는 자리다. 실제로 부르면 **값이 나오므로**
|
||||||
|
아무 시험도 안 잡는다 — 오늘 큰돌쌓기에서 같은 일이 있었다(직경 60~80㎝ 가 「뒷길이
|
||||||
|
45㎝」 계수로 돌던 자리). 그래서 **일부러 안 부른다.**
|
||||||
|
"""
|
||||||
|
why = STONE_KIN_WITHHELD.get(type_id)
|
||||||
|
return [], [why] if why else []
|
||||||
|
|||||||
Reference in New Issue
Block a user