- Code\rebar_pipeline, review_pipeline, pier-program을 정션에서 실제 폴더로 전환 - Code\rhino_mcp 및 CLAUDE_rhino배경.md 추가, .mcp.json은 PYTHONPATH로 새 위치 사용 - pier-program 내부 .git 제거(이력은 backup\pier-program_20261028.bundle에 보관) - worktree 가이드 반영(CLAUDE.local.md, HANDOFF.md) - D:\Rhino-MCP 경로 참조를 새 위치로 치환 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
69 lines
4.7 KiB
Python
69 lines
4.7 KiB
Python
"""Ramp-A P3-1 M-9 기록을 정정한다 (2026-10-26): 말뚝 반경 기준 측정 결과로 문구를 바꾸고 '도면 오류'로 표기.
|
|
|
|
이전 문구('기둥 표면에 닿음', '중심 피복 0.1 mm')는 콘크리트 구간을 잘못 잡은 측정이었다.
|
|
입력: Code/검토수정/결과/c1_radial_cover.json. 이미 정정되어 있으면(M-9 내용에 '말뚝 PL01' 포함) 중단.
|
|
"""
|
|
import json
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
import openpyxl
|
|
|
|
ROOT = Path(r"D:\★Pier 자료\프로그램\Pier_T")
|
|
XLSX = ROOT / "검토파일" / "4개교_공통사항_종합.xlsx"
|
|
rc = json.loads((ROOT / "Code" / "검토수정" / "결과" / "c1_radial_cover.json").read_text(encoding="utf-8"))
|
|
b, a = rc["before"]["P3-1"], rc["after"]["P3-1"]
|
|
|
|
CONTENT = ("Ramp-A교 P3-1(H16, 48본)을 도면 치수(r135, a 200, b 2,137, c 165, d 150)대로 만들면 말뚝 콘크리트 밖으로 튀어나감 [도면 오류 의심, 사용자 지적 2026-10-26]. "
|
|
"다리·갈고리는 모두 아래 방향으로 걸림(48/48본). 말뚝은 아래 PL01 반지름 1,175 (z 32,752~40,252), 위 PL02 반지름 1,250 (z 40,252~45,452) 으로 좁아지는데 "
|
|
"도면 P3-1 은 구간 구분 없이 같은 치수")
|
|
DIFF = ("반경 기준 중심 피복: 기존 모델(b·갈고리 작게) 최소 %.1f mm (PL01, 안쪽·돌출 없음) → 도면 치수 적용(수정5): PL01 %d본 전부 중심이 말뚝 밖(최소 %.1f mm), "
|
|
"PL02 %d본 중 %d본 철근이 표면 밖으로 삐져나옴(최소 %.1f mm < 반지름 8)" %
|
|
(b["PL01"]["min_radial_centre_cover"], a["PL01"]["bars"], a["PL01"]["min_radial_centre_cover"], a["PL02"]["bars"],
|
|
a["PL02"]["bars_pipe_sticks_out(cover<8)"], a["PL02"]["min_radial_centre_cover"]))
|
|
STATUS = ("도면 오류로 보류: 도면 P3-1 치수는 반지름 1,250 구간에만 겨우 맞고 반지름 1,175 구간에서는 갈고리가 말뚝 밖으로 나감. "
|
|
"모델은 도면 치수대로 두고 오류로 기록. 구간별 치수는 설계자 확인")
|
|
|
|
wb = openpyxl.load_workbook(XLSX)
|
|
done = 0
|
|
wg = wb["교량별 항목 합본"]
|
|
for r in wg.iter_rows(min_row=4):
|
|
if r[0].value == "Ramp-A교" and r[1].value == "M-9":
|
|
if "말뚝 PL01" in str(r[3].value):
|
|
sys.exit("이미 정정됨 - 중단")
|
|
r[3].value = CONTENT
|
|
r[4].value = "말뚝·기둥 반경(구간별) ↔ 철근 중심선 (10 mm 간격 샘플)"
|
|
r[5].value = DIFF
|
|
r[6].value = "도면 상세 P3-1: r135 a200 b2,137 c165 d150 (갈고리 직선), 구간별 치수 구분 없음"
|
|
r[7].value = STATUS
|
|
r[8].value = "도면 오류 (말뚝 돌출)"
|
|
done += 1
|
|
wi = wb["개별 항목"]
|
|
for r in wi.iter_rows(min_row=4):
|
|
if r[0].value == "Ramp-A교" and r[1].value == "M-9":
|
|
r[3].value, r[4].value, r[5].value, r[6].value = CONTENT, DIFF, "도면 오류 (말뚝 돌출)", STATUS
|
|
done += 1
|
|
wh = wb["미수정·보류"]
|
|
for r in wh.iter_rows(min_row=4):
|
|
if r[0].value == "Ramp-A교" and str(r[1].value).startswith("P3-1"):
|
|
r[3].value = "도면 치수대로 만들면 갈고리가 말뚝 밖으로 나감 (PL01 26본 중심이 밖, PL02 22본 표면 돌출)"
|
|
r[4].value = "기존 모델은 안쪽(최소 106.5 mm)이었으나 도면 b 2,137·갈고리 r135 c165 d150 적용 시 돌출. 도면 오류로 기록. 'M-9', '수정 내역' R-17"
|
|
r[5].value = "구간별(반지름 1,175 / 1,250) 치수 설계자 확인"
|
|
done += 1
|
|
ev = wb["수정 증거(마크별)"]
|
|
for r in ev.iter_rows(min_row=4):
|
|
if r[0].value == "Ramp-A교" and r[1].value == "P3-1" and "콘크리트 돌출" in str(r[3].value):
|
|
r[3].value = "말뚝 반경 기준 중심 피복 측정 (구간별)"
|
|
r[5].value = "기존: PL01 최소 %.1f / PL02 최소 %.1f mm, 돌출 0본" % (b["PL01"]["min_radial_centre_cover"], b["PL02"]["min_radial_centre_cover"])
|
|
r[6].value = "수정5: PL01 %d본 중심이 밖(최소 %.1f), PL02 %d본 표면 돌출(최소 %.1f)" % (a["PL01"]["bars"], a["PL01"]["min_radial_centre_cover"], a["PL02"]["bars_pipe_sticks_out(cover<8)"], a["PL02"]["min_radial_centre_cover"])
|
|
r[8].value = "c1_radial_cover.py: 말뚝 PL01 r1175(z32752~40252), PL02 r1250(~45452), 기둥 r1000(~57452) 반경과 철근 중심선 점의 반경 비교. 기존 = ramp-A G5_검토완료.3dm"
|
|
done += 1
|
|
wn = wb["수정 내역"]
|
|
for r in wn.iter_rows(min_row=4):
|
|
if r[0].value == "R-17":
|
|
r[10].value = ("P3-1 은 도면 b·갈고리 치수를 적용하면 말뚝 밖으로 나감 (M-9, 도면 오류). 기존 모델은 말뚝 안쪽이었음(최소 중심 피복 106.5 mm). "
|
|
"P3·P5 는 콘크리트 안")
|
|
done += 1
|
|
wb.save(XLSX)
|
|
print("updated cells groups:", done)
|