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:
commit
964a841de1
3978 files changed
+58013356
No files matched your search
@@ -0,0 +1,71 @@
|
||||
"""'공통 문제 상세(이미지)' 시트에 I열 '수정 완료' 를 추가하고 C-1~C-7 행별로 수정 결과를 적는다.
|
||||
|
||||
사용: python add_수정완료_열.py [대상 xlsx] (기본: 검토파일/4개교_공통사항_종합.xlsx)
|
||||
I3 이 이미 있으면 중단(이중 적용 방지). 이미지·병합 셀은 건드리지 않는다.
|
||||
수치 근거: Code/검토수정/결과/*.json, 엑셀 '수정 내역' 시트 R-1~R-9
|
||||
"""
|
||||
import copy
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
import openpyxl
|
||||
from openpyxl.styles import Alignment, PatternFill
|
||||
|
||||
DEFAULT = Path(r"D:\★Pier 자료\프로그램\Pier_T\검토파일\4개교_공통사항_종합.xlsx")
|
||||
target = Path(sys.argv[1]) if len(sys.argv) > 1 else DEFAULT
|
||||
|
||||
OK = PatternFill("solid", fgColor="FFE2EFDA") # 수정 완료
|
||||
TMP = PatternFill("solid", fgColor="FFFFF2CC") # 임시 수정
|
||||
NONE = PatternFill("solid", fgColor="FFEDEDED") # 미수정
|
||||
PART = PatternFill("solid", fgColor="FFDDEBF7") # 일부 완료·일부 보류
|
||||
|
||||
TXT = {
|
||||
4: (PART, "[일부 완료] 4개 교량 굽힘 반지름을 KDS 24 14 21 기준으로 교체 (2026-10-23~26). "
|
||||
"H19 R42.75→42.93, H22 R49.5→49.85, H25 R56.25→56.95 (철근 끝점 고정, 호만 커짐 → 철근 1본당 0.08~1.2mm 짧아짐).\n"
|
||||
"교체 본수(기초 제외): 운곡 390 · 산외 207 · 옥성 561 · Ramp-A 260. 기초 철근은 별도 규칙과 함께 처리: 운곡 155 · 산외 62 · 옥성 214.\n"
|
||||
"검증: 수정본 전수 스캔 → 기준 미달 호는 형상이 복잡한 102본뿐 (운곡 P3 72 · 옥성 C9·C13 18 · Ramp-A C12 12), 이는 보류.\n"
|
||||
"상세: '수정 내역' R-1~R-8, '수정 증거(마크별)', 'KDS 직경별 R' 시트"),
|
||||
5: (PART, "아래 H29 · H25 · H22 · H19 · H16 행별 수정 결과"),
|
||||
6: (NONE, "[수정 없음] 이미 기준 충족: 모델 R65.25 ≥ KDS 최소 중심선 R 64.56. 4교 전수 스캔에서 H29 미달 호 0개."),
|
||||
7: (OK, "[수정 완료] H25 R56.25→56.95.\n운곡: C9~C13, 기초 B1·B2 / 옥성: C8~C13 / Ramp-A: C3.\n"
|
||||
"보류: 옥성 C9·C13 중 18본(파이프 재생성 실패, 형상 복잡)."),
|
||||
8: (OK, "[수정 완료] H22 R49.5→49.85.\n산외: C7~C10, C15, 기초 B2·B5 / 옥성: C14·C16.\n운곡·Ramp-A 는 H22 굽힘 철근 없음."),
|
||||
9: (PART, "[일부 완료] H19(S19 포함) R42.75→42.93.\n운곡: S1·S2, C14~C16, 기초 B3·B7·B10 / 산외: P5 / 옥성: S1·S2, C18~C20, 기초 B9~B12 / Ramp-A: C7~C16.\n"
|
||||
"보류: 운곡 P3 72본(호가 이어진 형상), Ramp-A C12 중 12본."),
|
||||
10: (TMP, "[임시 수정] 운곡 B9(H16) 위쪽 180° 갈고리 R20.4→24 (KDS H16 최소 중심선 R 23.85), 연장 0→100(임의). 493본.\n"
|
||||
"도면에 갈고리 R·연장이 없어(도면 오류) 설계자 확인 전 임시 값. 재료표 L 2,155 와 +101mm, 아래 90° 연장 72 < 5db 80 은 유지.\n"
|
||||
"파일: 운곡교p1_수정6_20261026.3dm. 산외·옥성·Ramp-A H16 은 180° 갈고리 없음."),
|
||||
11: (NONE, "[미수정] 설계자 확인 필요 — 이음·커플러 각도(90°/270° 가정)와 위치 기준이 정해지지 않아 모델 그대로."),
|
||||
12: (NONE, "[미수정] 설계자 확인 필요 — 커플러 수량(산외 476 · Ramp-A 115)을 모델에 넣을지 미정."),
|
||||
13: (NONE, "[미수정] 겹침·갈고리 길이(j, c)를 형상에 넣을지 가산 길이로만 둘지 정책 미정."),
|
||||
14: (NONE, "[미수정] 재료표 +54 가산 규칙의 적용 범위(길이/폭) 미정."),
|
||||
15: (NONE, "[미수정] 철근별 개별 길이가 의도인지 설계자 확인 필요."),
|
||||
16: (NONE, "[미수정] 조립용 철근(UA1/UM) 배치 기준 설계자 확인 필요."),
|
||||
17: (OK, "[수정 완료 — 운곡·산외·옥성 / Ramp-A 는 해당 없음] 사용자 규칙(2026-10-23·26): 최외각 주철근 중심을 피복(상면 100 / 하면 150)에 두고 나머지는 그 안쪽에 접촉 배치 "
|
||||
"(같은 높이로 겹치지 않음. 이 시트의 '대안 1: 도면 점 높이' 와는 다른 방식).\n"
|
||||
"운곡: B5 2127→2100, B1 2073→2072.5, B6·B8 178→150, B2·B4 122→177 (B2 다리 끝 2072.5, 약 54.5mm 짧아짐).\n"
|
||||
"산외: B1 2422.5→2400, B4 2377.5→2384, B2·B3 127.5→150, B5·B6 172.5→172.\n"
|
||||
"옥성: B5·B7 2077.5→2071, B6·B8 172.5→179 (B1~B4 는 이미 2100/150).\n"
|
||||
"저장 후 재측정 값 일치. 남은 확인: 산외 B7 세로철근, 옥성 B12, 운곡 B2 다리 끝 해석 ('미수정·보류' 시트)."),
|
||||
18: (OK, "위 C-7 행과 같음. ※ 이 행의 캡처는 수정 전 모델입니다."),
|
||||
19: (OK, "위 C-7 행과 같음. ※ 이 행의 캡처는 수정 전 모델입니다 (수정 후 피복: 운곡 B5 상면 100, B6 하면 150 위치)."),
|
||||
20: (OK, "위 C-7 행과 같음. ※ 이 행의 캡처는 수정 전 모델입니다."),
|
||||
}
|
||||
|
||||
wb = openpyxl.load_workbook(target)
|
||||
ws = wb["공통 문제 상세(이미지)"]
|
||||
if ws["I3"].value:
|
||||
sys.exit("I3 이 이미 있음 - 중단")
|
||||
ws["I3"] = "수정 완료 (2026-10-26) ※ 이 시트의 캡처 이미지는 수정 전 모델입니다"
|
||||
for attr in ("font", "fill", "border", "alignment"):
|
||||
setattr(ws["I3"], attr, copy.copy(getattr(ws["H3"], attr)))
|
||||
ws["I3"].alignment = Alignment(wrap_text=True, vertical="center")
|
||||
for row, (fill, text) in TXT.items():
|
||||
c = ws.cell(row=row, column=9, value=text)
|
||||
c.fill = copy.copy(fill)
|
||||
c.border = copy.copy(ws.cell(row=row, column=8).border)
|
||||
c.alignment = Alignment(wrap_text=True, vertical="top")
|
||||
c.font = copy.copy(ws.cell(row=row, column=8).font)
|
||||
ws.column_dimensions["I"].width = 70
|
||||
wb.save(target)
|
||||
print("saved", target)
|
||||
Reference in new issue
Block a user