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 @@
import ezdxf, sys
from collections import defaultdict
sys.stdout.reconfigure(encoding='utf-8')
d=ezdxf.readfile(r'D:\★Pier 자료\심수석님 검토 파일\철근 모델랑 운곡교P1_바이브코딩\2.dxf'); ms=d.modelspace()
X0,X1,Y0,Y1=6000,12600,26400,30100
print('--- front view region: lines/dots by layer')
cir=defaultdict(list)
for e in ms:
if e.dxftype()=='CIRCLE':
c=e.dxf.center
if X0<c.x<X1 and Y0<c.y<Y1: cir[(round(c.y,1),e.dxf.radius)].append(round(c.x,1))
for k in sorted(cir,reverse=True): print('circle row y',k[0],'r',k[1],'n',len(cir[k]),'x',sorted(cir[k])[:3],'..',sorted(cir[k])[-2:])
H=defaultdict(list);V=defaultdict(list)
for e in ms:
if e.dxftype()=='LINE' and e.dxf.layer in('CS-RBAR-MAJR','CS-CONC-MAJR'):
a,b=e.dxf.start,e.dxf.end
if X0<min(a.x,b.x) and max(a.x,b.x)<X1 and Y0<min(a.y,b.y) and max(a.y,b.y)<Y1:
if abs(a.y-b.y)<0.6: H[(e.dxf.layer,round(a.y,1))].append((round(min(a.x,b.x),1),round(max(a.x,b.x),1)))
elif abs(a.x-b.x)<0.6: V[(e.dxf.layer,round(a.x,1))].append((round(min(a.y,b.y),1),round(max(a.y,b.y),1)))
for k in sorted(H,reverse=True): print('H',k,sorted(H[k])[:3])
for k in sorted(V): print('V',k,sorted(V[k])[:2])
print('--- texts')
for e in ms:
if e.dxftype()=='TEXT':
p=e.dxf.insert
if X0<p.x<X1 and Y0<p.y<Y1: print((round(p.x),round(p.y)),e.dxf.text)