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,48 @@
"""산외교 J 겹침 시험(수정4)의 전·후 비교 이미지 — Rhino 캡처(결과/캡처/lap_before|after_*.png)를 라벨과 함께 한 장으로 합친다."""
import json
from pathlib import Path
from PIL import Image, ImageDraw, ImageFont
ROOT = Path(r"D:\★Pier 자료\프로그램\Pier_T")
CAP = ROOT / "Code" / "검토수정" / "결과" / "캡처"
OUT = ROOT / "검토파일" / "수정후_캡처"
FONT = r"C:\Windows\Fonts\malgun.ttf"
FONTB = r"C:\Windows\Fonts\malgunbd.ttf"
F = lambda s, b=False: ImageFont.truetype(FONTB if b else FONT, s)
ROWS = [("C7", "C7~C9 · 형식 II (수직 스터럽)", "수정 전: 닫힌 ㅁ 한 개", "수정 후: 뚜껑 ⊓ (빨강, 다리 C 660) + 바닥 ⊔ (파랑, 전체 높이), 다리에서 660 겹침"),
("C10", "C10 · 형식 III (수평 띠, 평면)", "수정 전: 닫힌 ㅁ 한 개", "수정 후: 왼쪽 ㄷ (파랑) + 오른쪽 ㄷ (빨강), 위·아래 변 가운데에서 J 660 겹침"),
("C12", "C12 · 형식 XII (수평 띠 R400, 평면)", "수정 전: 닫힌 ㅁ 한 개", "수정 후: 좌·우 ㄷ 두 조각, 위·아래 변 가운데에서 J 660 겹침 (모서리 R400)"),
("C13", "C13 · 형식 VIII (갈고리 직선, 평면)", "수정 전: 갈고리 달린 한 개", "수정 후: 갈고리 달린 두 조각이 가운데에서 J 660 겹침")]
W = 760
rows = []
for m, title, lb, la, in ROWS:
b = Image.open(CAP / ("lap_before_%s.png" % m)).convert("RGB")
a = Image.open(CAP / ("lap_after_%s.png" % m)).convert("RGB")
b = b.resize((W, int(b.height * W / b.width)))
a = a.resize((W, int(a.height * W / a.width)))
h = max(a.height, b.height)
band = Image.new("RGB", (W * 2 + 12, 44), (40, 40, 40))
ImageDraw.Draw(band).text((10, 6), title, font=F(26, True), fill=(255, 255, 255))
row = Image.new("RGB", (W * 2 + 12, 44 + h + 70), (255, 255, 255))
row.paste(band, (0, 0))
row.paste(b, (0, 44))
row.paste(a, (W + 12, 44))
d = ImageDraw.Draw(row)
d.text((8, 44 + h + 6), lb, font=F(22, True), fill=(170, 40, 30))
d.text((W + 20, 44 + h + 6), la, font=F(21, True), fill=(20, 110, 50))
rows.append(row)
H = 110 + sum(r.height for r in rows) + 12 * len(rows)
out = Image.new("RGB", (rows[0].width, H), (255, 255, 255))
bd = Image.new("RGB", (out.width, 100), (30, 120, 60))
ImageDraw.Draw(bd).text((14, 8), "산외교 코핑 전단철근 — J(겹침) 반영 시험 전·후 (Rhino 캡처)", font=F(38, True), fill=(255, 255, 255))
ImageDraw.Draw(bd).text((14, 60), "대호지교 방식(⊓ 뚜껑 + ⊔ 바닥 / 좌·우 ㄷ)으로 겹침 J 표기. 겹침부는 같은 선 위에서 겹침. 조각 색은 구분용(빨강/파랑)", font=F(22), fill=(255, 255, 255))
out.paste(bd, (0, 0))
y = 110
for r in rows:
out.paste(r, (0, y))
y += r.height + 12
p = OUT / "산외교_J겹침_시험_전후.png"
out.save(p)
print(p.name, out.size)