chore(rebar): Pier_T_rebar 작업 폴더 초기 구성 및 외부 의존 파일 통합

- 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>
This commit is contained in:
ahnyongjooandClaude Sonnet 5.5 committed 2026-10-28 11:20:18 +09:00
commit 964a841de1
3978 files changed
+58013356

No files matched your search

@@ -0,0 +1,67 @@
"""R-10~R-12(전단·세로철근 수정)를 '취소'로 표시하고 수정2 를 최신으로 되돌린다 (2026-10-26, 사용자 지적).
사유: 재료표 A·C 치수와 수정2 모델이 이미 일치. 재료표 L 은 직선 치수 합이라 모델 중심선 길이보다 굽힘 보정만큼 길다.
모델 파일은 지우지 않고 수정3 두 개를 '폐기'로 표시한다. 같은 표시가 이미 있으면 중단.
"""
import sys
from pathlib import Path
import openpyxl
from openpyxl.styles import PatternFill
XLSX = Path(r"D:\★Pier 자료\프로그램\Pier_T\검토파일\4개교_공통사항_종합.xlsx")
wb = openpyxl.load_workbook(XLSX)
GRAY = PatternFill("solid", fgColor="FFD9D9D9")
RED = PatternFill("solid", fgColor="FFF8CBAD")
GREEN = PatternFill("solid", fgColor="FFE2EFDA")
ws = wb["수정 내역"]
if any(str(r[2].value).startswith("[취소]") for r in ws.iter_rows(min_row=4)):
sys.exit("이미 취소 표시가 있음 - 중단")
WHY = {
"R-10": ("취소(2026-10-26): 수정2 의 옥성 B9 는 도면 a≈567·b 1,998·c 100(곧은 구간 57.1 + R42.93)과 이미 일치. "
"재료표 L 4,763 = a+2b+2c 직선 치수 합(굽힘 보정 없음)이라 중심선 길이를 L 에 맞추면 c 가 약 137 로 도면보다 길어짐 → 수정3 폐기, 수정2 로 되돌림. "
"KDS 5db 95.5 미달은 도면 c 100 자체의 문제(설계자 확인)"),
"R-11": ("취소(2026-10-26): 수정2 의 산외 B7 은 도면 A 2,218(z 166~2384)·C 100(80.5 + R19.5)과 이미 일치. 끝을 바깥 주철근 바깥으로 옮기면 A 가 2,282 가 되어 도면에서 벗어남 → 수정3 폐기. "
"참고: A 2,218 은 바깥 주철근 안쪽 면에 접하는 위치(167.5 / 2385.5)와 거의 같음(현재 166 / 2384, 1.5mm 차)"),
"R-12": ("취소(2026-10-26): 수정2 의 산외 B9·B10 은 도면 A 7,300(직선 7,252 + R24×2)·C 100(76 + R24)과 이미 일치 → 연장을 늘린 수정3 폐기, 수정2 로 되돌림"),
}
for r in ws.iter_rows(min_row=4):
code = r[0].value
if code in WHY:
r[2].value = "[취소] " + str(r[2].value)
r[10].value = WHY[code]
r[0].fill = GRAY
r[2].fill = RED
ev = wb["수정 증거(마크별)"]
for r in ev.iter_rows(min_row=4):
if r[3].value and ("전단철근 갈고리 연장" in str(r[3].value) or "세로철근 끝 높이" in str(r[3].value) or "중간 직선철근 갈고리 연장" in str(r[3].value)):
r[3].value = "[취소] " + str(r[3].value)
r[8].value = "2026-10-26 사용자 지적: 수정2 가 도면 치수(A·C)와 일치하여 되돌림. 수정3 폐기"
r[3].fill = RED
fs = wb["수정 파일·해시"]
for r in fs.iter_rows(min_row=4):
p = str(r[1].value)
if p.endswith("산외교P1 G5_수정3_20261026.3dm") or p.endswith("옥성교P1_G5_수정3_20261026.3dm"):
r[3].value = "폐기"
r[3].fill = RED
r[2].value = str(r[2].value) + " — 도면 치수와 달라 취소 (2026-10-26)"
if p.endswith("산외교P1 G5_수정2_20261026.3dm") or p.endswith("옥성교P1_G5_수정2_20261026.3dm"):
r[3].value = "최신"
r[3].fill = GREEN
hold = wb["미수정·보류"]
for r in hold.iter_rows(min_row=4):
if r[0].value == "산외교" and str(r[1].value).startswith("B7"):
r[3].value = "수정하지 않음(수정 취소): 도면 A 2,218·C 100 과 모델(166~2384, 갈고리 R19.5+80.5)이 일치"
r[4].value = ("B7 은 기초 상·하부 철근을 잡아주는 ㄷ철근(사용자 설명). A 2,218 은 바깥 주철근 안쪽 면에 접하는 위치(167.5 / 2385.5)와 거의 같고 현재 166 / 2384 (1.5mm 차). "
"'수정 내역' R-11 취소")
r[5].value = "필요하면 1.5mm 맞춤 여부 결정"
if r[0].value == "옥성교" and str(r[1].value).startswith("B9"):
r[3].value = "도면 c 100 (곧은 구간 57.1 + R42.93)은 일치. KDS 5db 95.5 대비 곧은 구간 57.1 부족은 도면 c 100 자체의 문제"
r[4].value = "수정 없음. 사용자 설명: B9 는 ㄷ철근이 J 로 겹치는 서로 마주보는 ㄷ자 철근 — 모델의 마주보는 배치·겹침이 도면과 같은지 확인 필요(미확인). '수정 내역' R-10 취소"
r[5].value = "설계자 확인 + 도면 평면 배치 확인"
wb.save(XLSX)
print("saved")