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,26 @@
"""DXF → PNG 렌더(ezdxf+matplotlib). 사용: python render_dxf.py <dxf> <out.png> [pixels_wide=6000] [x0 y0 x1 y1 (도면 좌표 영역)] — 도면에서 그림을 잘라 쓰기 위한 도구(제1 기준 자료는 DXF)."""
import sys
import ezdxf, matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
from ezdxf.addons.drawing import RenderContext, Frontend
from ezdxf.addons.drawing.matplotlib import MatplotlibBackend
def render(dxf, out, wpx=6000, box=None):
doc = ezdxf.readfile(dxf)
fig = plt.figure(figsize=(wpx / 100, wpx / 100 * 0.7), dpi=100); ax = fig.add_axes([0, 0, 1, 1])
Frontend(RenderContext(doc), MatplotlibBackend(ax)).draw_layout(doc.modelspace(), finalize=True)
ax.set_facecolor("#20262f"); fig.patch.set_facecolor("#20262f")
if box:
x0, y0, x1, y1 = box
ax.set_xlim(x0, x1); ax.set_ylim(y0, y1); ax.set_aspect("equal")
fig.set_size_inches(wpx / 100, wpx / 100 * (y1 - y0) / (x1 - x0))
fig.savefig(out, dpi=100)
lim = (ax.get_xlim(), ax.get_ylim()); plt.close(fig); return lim
if __name__ == "__main__":
a = sys.argv
box = tuple(float(v) for v in a[4:8]) if len(a) >= 8 else None
print(render(a[1], a[2], int(a[3]) if len(a) > 3 else 6000, box))