Files
Pier_v1/Code/검토수정/스크립트/make_hook_images.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

25 lines
2.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""옥성 C15·C17 양끝 갈고리(r80, 호 188=134.65°, 꼬리 140) 전후 비교 이미지: 도면 그림 | 수정 전(수정8) | 수정 후(수정9). 입력 jobs/cap/out/ok8hook_*, ok9hook_*"""
from pathlib import Path
from PIL import Image, ImageDraw, ImageFont
ROOT = Path(r"D:\★Pier 자료\프로그램\Pier_T"); CAP = Path(r"C:\Users\User\AppData\Local\PierApp\jobs\cap\out")
SRC = Image.open(ROOT / "검토파일" / "검토_옥성교P1" / "1_색구분_재료표·철근상세.png").convert("RGB")
FIG = {"C15": SRC.crop((940, 1590, 1185, 1675)), "C17": SRC.crop((940, 1785, 1185, 1875))}
F = lambda s, b=False: ImageFont.truetype(r"C:\Windows\Fonts\%s.ttf" % ("malgunbd" if b else "malgun"), s)
W, H = 520, 290
def fit(im, w, h):
im = im.copy(); im.thumbnail((w, h)); c = Image.new("RGB", (w, h), (255, 255, 255)); c.paste(im, ((w - im.width) // 2, (h - im.height) // 2)); return c
items = [("C15", "end", "C15 오른쪽 끝"), ("C15", "start", "C15 왼쪽 끝"), ("C17", "end", "C17 오른쪽 끝"), ("C17", "mid", "C17 가운데 j550")]
out = Image.new("RGB", (W * 3 + 40, 130 + len(items) * (H + 56)), (255, 255, 255)); d = ImageDraw.Draw(out)
d.rectangle([0, 0, out.width, 100], fill=(40, 40, 40))
d.text((16, 8), "옥성교 코핑 타이 C15·C17 — 양끝 갈고리 반영 전·후 (Rhino 평면 Top, 철근 1본 확대)", font=F(28, True), fill=(255, 255, 255))
d.text((16, 52), "도면: 호 r80 · 호 길이 188(=134.65°) · 꼬리 140 / 길이 = a + 2×(188+140) (+j550). 갈고리 방향은 단면 중심 쪽(가정, 확인 필요)", font=F(21), fill=(255, 255, 255))
y = 116
for m, w, t in items:
b = Image.open(CAP / ("ok8hook_%s_%s.png" % (m, w))).convert("RGB"); a = Image.open(CAP / ("ok9hook_%s_%s.png" % (m, w))).convert("RGB")
for i, (tt, im, col) in enumerate((("도면 (%s)" % m, FIG[m].resize((FIG[m].width * 3, FIG[m].height * 3)), (138, 90, 0)), ("수정 전 — " + t + " (직선)", b, (170, 40, 30)), ("수정 후 — " + t, a, (30, 120, 60)))):
x = 10 + i * (W + 10)
d.rectangle([x, y, x + W, y + 40], fill=col); d.text((x + 8, y + 5), tt, font=F(21, True), fill=(255, 255, 255))
out.paste(fit(im, W, H), (x, y + 44)); d.rectangle([x, y + 44, x + W, y + 44 + H], outline=(120, 120, 120), width=2)
y += H + 56
p = ROOT / "검토파일" / "수정후_캡처" / "옥성교_타이C15C17_갈고리_전후.png"; out.save(p); print(p, out.size)