Files
Pier_v1/Code/검토수정/스크립트/add_m9_rc_mismatch_xlsx.py
T
ahnyongjooandClaude Sonnet 5.5 964a841de1 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>
2026-10-28 11:20:18 +09:00

55 lines
3.4 KiB
Python

"""Ramp-A P3-1 M-9 에 '도면 r 과 c 불일치'를 추가하고 갈고리 치수 확인 이미지를 '공통 문제 상세(이미지)' 에 넣는다 (2026-10-26).
도면 P3-1: r135, c165(호 길이), d150. r135 의 135° 호는 318 이어야 하는데 c 는 165 → c÷r = 70° (비표준). c 165 는 r70 의 135° 호(164.9)와 일치.
이미 추가되어 있으면(M-9 내용에 'r135 의 135°' 포함) 중단.
"""
import sys
from pathlib import Path
import copy
import openpyxl
from openpyxl.drawing.image import Image as XLImage
from openpyxl.styles import Alignment
ROOT = Path(r"D:\★Pier 자료\프로그램\Pier_T")
XLSX = ROOT / "검토파일" / "4개교_공통사항_종합.xlsx"
IMG = ROOT / "검토파일" / "수정후_캡처"
ADD = (" ※ 도면 r 과 c 가 서로 맞지 않음: r135 의 135° 호는 318 이어야 하는데 c=165 (호 길이). r 로 각도를 구하면 70.03° 로 비표준이고, "
"c 165 는 r70 의 135° 호(164.9)와 일치함 [도면 r 오류 의심]. 도면 값(r135·c165·d150) 그대로 만들면 갈고리가 안쪽이 아니라 바깥(아래 오른쪽)으로 꺾여 말뚝 밖으로 나감")
wb = openpyxl.load_workbook(XLSX)
wg = wb["교량별 항목 합본"]
row = next(r for r in wg.iter_rows(min_row=4) if r[0].value == "Ramp-A교" and r[1].value == "M-9")
if "r135 의 135°" in str(row[3].value):
sys.exit("이미 추가됨 - 중단")
row[3].value = str(row[3].value) + ADD
row[7].value = str(row[7].value) + " (도면 r 이 70 이면 135° 갈고리로 말뚝 안에 들어옴 — 설계자 확인)"
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 = str(r[3].value) + ADD
for r in wb["미수정·보류"].iter_rows(min_row=4):
if r[0].value == "Ramp-A교" and str(r[1].value).startswith("P3-1"):
r[4].value = str(r[4].value) + " 도면 r135 와 c165 불일치(c165 는 r70·135° 와 일치) — 설계자 확인"
wd = wb["공통 문제 상세(이미지)"]
nr = wd.max_row + 1
like = nr - 1
texts = {1: "M-9", 2: "[개별] Ramp-A교 P3-1 갈고리 — 도면 r135 와 c165 불일치, 도면 치수대로면 말뚝 밖으로 나감 (도면 오류 의심)",
7: "도면 r135 에 c165(호 길이)는 70° 호 → 갈고리가 바깥으로 꺾임. 135° 갈고리라면 r70 (c 164.9) 이 맞음",
8: "도면 r 값(135 ↔ 70) 설계자 확인. 확인 전에는 도면 값 그대로 두고 오류로 기록",
9: "[오류 기록] 모델은 도면 값(r135·c165·d150)대로 작성: 호 70.03°, 호 길이 165.0, 곧은 구간 150.0. 아래 말뚝 구간(반지름 1,175) 26본 중심이 말뚝 밖, 위 구간(반지름 1,250) 22본 표면 돌출. '미수정·보류', M-9"}
for col, v in texts.items():
c = wd.cell(row=nr, column=col, value=v)
s = wd.cell(row=like, column=col)
c.font = copy.copy(s.font); c.fill = copy.copy(s.fill); c.border = copy.copy(s.border)
c.alignment = Alignment(wrap_text=True, vertical="top")
for col in (3, 4, 5, 10, 11, 12):
wd.cell(row=nr, column=col, value="(해당 없음 — Ramp-A교 P3-1)" if col < 6 else "(해당 없음)")
wd.row_dimensions[nr].height = 420
for fname, anchor in (("RampA_P3-1_갈고리_치수확인.png", "F%d" % nr), ("RampA_P3_갈고리_치수확인.png", "M%d" % nr)):
im = XLImage(str(IMG / fname))
w0, h0 = im.width, im.height
im.width, im.height = 560, int(560 * h0 / w0)
wd.add_image(im, anchor)
wb.save(XLSX)
print("saved; row", nr)