- 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>
23 lines
1.0 KiB
Python
23 lines
1.0 KiB
Python
import sys, collections, ezdxf
|
|
sys.stdout.reconfigure(encoding='utf-8')
|
|
CXe=12159.4
|
|
def EL(y): return 43.411+(y-19515.6)/1000.0
|
|
d=ezdxf.readfile(r'D:\★Pier 자료\심수석님 검토 파일\철근 모델랑 운곡교P1_바이브코딩\1.dxf'); ms=d.modelspace()
|
|
dots=set()
|
|
for e in ms:
|
|
if e.dxftype()=='CIRCLE' and e.dxf.radius==27:
|
|
c=e.dxf.center
|
|
if 12000<c.x<18700 and 14000<c.y<19900: dots.add((round(c.x-CXe),round(EL(c.y),3)))
|
|
# model C14
|
|
mod=collections.defaultdict(list)
|
|
for l in open('c9_16.txt',encoding='utf-8'):
|
|
if l.startswith('P1-RC-C14-'):
|
|
p=l.split(' | '); mn=eval(p[2].split('min ')[1]); mx=eval(p[3].split('max ')[1])
|
|
mod[round(mn[0])].append(round(mx[2]/1000.0,3))
|
|
print('elevation dots (r=27) per x offset -> EL (m):')
|
|
byx=collections.defaultdict(list)
|
|
for x,e in dots: byx[x].append(e)
|
|
for x in sorted(byx): print(' x',x,sorted(byx[x],reverse=True))
|
|
print('model C14 per x -> top EL of tie (horizontal part):')
|
|
for x in sorted(mod): print(' x',x,sorted(mod[x],reverse=True))
|