feat(B08): 잡석다짐 폭을 하단 길이로 유도 — 버림 폭 잠정 제거 (확정 2차 ⑪)
- 확정 ⑪ 「기준 구조물에서 유도 — 기슭막이면 하단 길이」 ⇒ 벽에서 하단 길이 = 하부 두께 - 버림 콘크리트 폭이 옛 잠정(터파기 폭 = 평균두께 + 0.2)에서 하부 두께로 바뀜 (H2.5·45 → 1.175 → 1.20㎥ / H1.5·45 → 1.025 → 0.90㎥ / 10m 기준) - 큰돌쌓기는 직경 위끝을 하단 길이로 준용 - ⚠ 기초잡석(12-25)은 폭이 생겨도 **두께가 원문에 없어** 물량을 안 세우고 사유를 냄 (실무 관측은 관보호공 날개벽 T=0.2 하나뿐 — 다른 구조물 값을 옮겨 쓰지 않음) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -181,9 +181,12 @@ STONE_MASONRY = {
|
||||
#: 구조물 시공이 원활하도록 **100 mm 두께의 버림콘크리트**를 타설하도록 한다」.
|
||||
#: 폭 근거: KCS 34 50 05 「버림 콘크리트의 두께는 설계도서에 따르며, **폭은 잡석다짐의
|
||||
#: 폭과 동일**하게 한다」.
|
||||
#: ⚠ 우리에게 **잡석다짐 폭이 아직 없다**(기초잡석은 품셈에 공종만 있고 두께·폭이 없음).
|
||||
#: 그래서 **터파기 폭(평균두께 + 여유 0.2m)을 잠정으로** 쓰고 근거 문구에 그 사실을 적는다.
|
||||
#: 잡석다짐 폭이 정해지면 이 한 줄만 바꾸면 된다.
|
||||
#: ⭐ 그 잡석다짐 폭이 **정해졌다** — 「기준 구조물에서 유도, 같은 값을 공유」
|
||||
#: (2026-09-08 사용자 확정 2차 ⑪ 「기슭막이면 **하단 길이** × 종단방향 폭 × 높이」).
|
||||
#: ⇒ 벽에서 **하단 길이 = 하부 두께**다. 종전의 「터파기 폭 잠정」을 그 값으로 바꾼다.
|
||||
#: ⚠ **기초잡석(품셈 12-25) 물량은 아직 못 센다** — 폭은 이제 있으나 **두께가 어느
|
||||
#: 원문에도 없다**(품셈은 ㎥당 품만 줌). 실무 관측은 관보호공 날개벽 T=0.2 하나뿐이라
|
||||
#: **다른 구조물 값을 옮겨 쓰지 않고** 사유로 드러낸다.
|
||||
#: 돌을 **사 오나 캐나** — 기본은 「캔다」(2026-09-09 사용자 확정 ②).
|
||||
#: 법이 그쪽을 권한다 — 별표2 「석축 등에 필요한 야면석 등은 **가급적 현장에서
|
||||
#: 채취·사용**하도록 운반거리를 조사한다」. 실무 견적 다섯 권에도 야면석 **구입 단가가
|
||||
@@ -382,21 +385,42 @@ def wants_blinding(options: dict[str, Any]) -> bool:
|
||||
return True
|
||||
|
||||
|
||||
def _blinding_component(base_width_m: float, length_m: float, options: dict[str, Any]):
|
||||
"""버림 콘크리트 한 줄. 넣지 않기로 했으면 `None`."""
|
||||
def _blinding_component(
|
||||
base_width_m: float,
|
||||
length_m: float,
|
||||
options: dict[str, Any],
|
||||
width_basis: str = "",
|
||||
):
|
||||
"""버림 콘크리트 한 줄. 넣지 않기로 했으면 `None`.
|
||||
|
||||
폭은 **잡석다짐 폭**(KCS 34 50 05)이고, 그 값은 확정 ⑪ 로 **구조물 하단 길이**다.
|
||||
부르는 쪽이 그 폭과 까닭(`width_basis`)을 함께 넘긴다.
|
||||
"""
|
||||
if not wants_blinding(options) or base_width_m <= 0 or length_m <= 0:
|
||||
return None
|
||||
basis = (
|
||||
f"기초 폭 {base_width_m:.2f}m × 연장 × 두께 {BLINDING_THICKNESS_M:.2f}m"
|
||||
" · 두께는 KDS 44 90 00(100㎜) · 폭은 잡석다짐 폭(KCS 34 50 05)"
|
||||
)
|
||||
if width_basis:
|
||||
basis = f"{basis} = {width_basis}"
|
||||
return Component(
|
||||
"버림콘크리트",
|
||||
"㎥",
|
||||
base_width_m * length_m * BLINDING_THICKNESS_M,
|
||||
DESTINATION["버림콘크리트"],
|
||||
f"기초 폭 {base_width_m:.2f}m × 연장 × 두께 {BLINDING_THICKNESS_M:.2f}m"
|
||||
" · 두께는 KDS 44 90 00(100㎜) · ⚠ 폭은 잡석다짐 폭(KCS 34 50 05)이라야 하나"
|
||||
" 그 값이 아직 없어 **터파기 폭을 잠정**으로 씀",
|
||||
basis,
|
||||
)
|
||||
|
||||
|
||||
#: 기초잡석(품셈 12-25)이 아직 못 서는 까닭 — **폭은 있고 두께가 없다.**
|
||||
RUBBLE_BASE_BLOCKED = (
|
||||
"기초잡석(12-25) 물량이 안 섬 — 폭은 하단 길이 {width:.2f}m 로 섰으나 **두께가 원문에 "
|
||||
"없음**(품셈 12-25 는 ㎥당 품만 줌). 실무 관측은 관보호공 날개벽 T=0.2 하나뿐이라 "
|
||||
"다른 구조물 값을 옮겨 쓰지 않음"
|
||||
)
|
||||
|
||||
|
||||
#: ⚠ **저장 제원의 실제 칸 이름**은 `back_len_cm` 이다(레지스트리 확인).
|
||||
#: 앞서 `stone_back_length_cm` 을 읽고 있어 **저장값이 영영 안 닿고 늘 기본 45㎝ 로 돌았다**
|
||||
#: — 뒷길이를 75 로 골라도 45 계수가 붙던 자리다. 값이 나오므로 아무 시험도 안 잡았다.
|
||||
@@ -504,7 +528,12 @@ def boulder_masonry(
|
||||
upper_cm = float(str(diameter).split("~")[-1])
|
||||
thickness = upper_cm / 100.0
|
||||
# 버림 콘크리트 — 돌쌓기와 같은 자리(사용자 확정 ⑭). 빼려면 저장 제원에서 「안 넣음」.
|
||||
blinding = _blinding_component(wall_trench_width_m(thickness) or thickness, length_m, options)
|
||||
blinding = _blinding_component(
|
||||
thickness,
|
||||
length_m,
|
||||
options,
|
||||
f"하단 길이(직경 위끝) {thickness:.2f}m — 확정 ⑪ 준용",
|
||||
)
|
||||
if blinding is not None:
|
||||
components.append(blinding)
|
||||
components.extend(
|
||||
@@ -803,11 +832,19 @@ def stone_masonry(
|
||||
)
|
||||
|
||||
# 버림 콘크리트 — 기초 바닥에 까는 얇은 층. 빼려면 저장 제원에서 「안 넣음」으로 둔다.
|
||||
base_width = wall_trench_width_m(thickness) or thickness
|
||||
blinding = _blinding_component(base_width, length_m, options)
|
||||
# 잡석다짐 폭 = **하단 길이**(확정 ⑪) — 벽에서는 하부 두께다. 버림도 같은 폭을 쓴다.
|
||||
base_width = bottom_thickness
|
||||
blinding = _blinding_component(
|
||||
base_width,
|
||||
length_m,
|
||||
options,
|
||||
f"하단 길이(하부 두께) {bottom_thickness:.2f}m — 확정 ⑪ 「기준 구조물에서 유도」",
|
||||
)
|
||||
if blinding is not None:
|
||||
components.append(blinding)
|
||||
|
||||
notes.append(RUBBLE_BASE_BLOCKED.format(width=base_width))
|
||||
|
||||
# 터파기·되메우기·잔토 — 토공으로 합산되는 값이다(내역 줄이 아니다).
|
||||
components.extend(
|
||||
_trench_components(height_m, length_m, thickness, options, notes, thickness_basis)
|
||||
|
||||
Reference in New Issue
Block a user