- 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>
28 lines
1.3 KiB
Python
28 lines
1.3 KiB
Python
import sys; sys.path.insert(0,".")
|
|
import json, collections, io
|
|
d=json.load(open('swdrw.json')); B=json.load(open('swpos.json',encoding='utf-8'))
|
|
o=io.open('swcop.txt','w',encoding='utf-8')
|
|
CX=10473.9
|
|
V=[v for v in d['V'] if v[3]=='CS-RBAR-MAJR' and 5300<v[0]<15700 and -277000<v[1] and v[2]<-273300 and v[2]-v[1]>400]
|
|
xs=collections.defaultdict(list)
|
|
for x,y0,y1,l in V: xs[round(x-CX,1)].append((y0,y1))
|
|
o.write(u'도면 코핑 정면도 수직 철근선: 선 %d개, 서로 다른 x %d개\n'%(len(V),len(xs)))
|
|
dx=sorted(xs)
|
|
o.write(u'%s\n'%dx)
|
|
# 모델: 코핑 스터럽류 (정면도에서 수직으로 보이는 철근)
|
|
M=collections.defaultdict(list)
|
|
for mk in ('C7','C8','C9','C10','C11','C12','C13','C14'):
|
|
for b in B[mk]:
|
|
bb=b['bb']
|
|
if bb[5]-bb[2]>300 and bb[3]-bb[0]<60:
|
|
M[round((bb[0]+bb[3])/2,1)].append(mk)
|
|
mx=sorted(M)
|
|
o.write(u'모델 수직 철근 x %d개: %s\n'%(len(mx),mx))
|
|
import bisect
|
|
dd=[min(abs(x-m) for m in mx) for x in dx]
|
|
o.write(u'도면 선 → 가장 가까운 모델 x 최대 %.1f\n'%max(dd))
|
|
miss=[x for x in dx if min(abs(x-m) for m in mx)>3]
|
|
o.write(u'모델에 없는 도면 선 x: %s\n'%miss)
|
|
miss2=[m for m in mx if min(abs(x-m) for x in dx)>3]
|
|
o.write(u'도면에 없는 모델 x: %s (%s)\n'%(miss2,[M[m] for m in miss2]))
|