- 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>
18 lines
1.1 KiB
Python
18 lines
1.1 KiB
Python
import sys; sys.path.insert(0,".")
|
|
import json, collections, io
|
|
from swdots import dots
|
|
B=json.load(open('swpos.json',encoding='utf-8'))
|
|
o=io.open('swb7.txt','w',encoding='utf-8')
|
|
D=dots(51600,59200,-282000,-274400,maxlen=40)
|
|
sz=collections.Counter((d[2],d[3]) for d in D); o.write(u'plan dots %d sizes %s\n'%(len(D),sz.most_common(8)))
|
|
CX,CY=55406.2,-278231.2
|
|
for s in sorted(set(d[2] for d in D if d[2]==d[3])):
|
|
P=[(round(d[0]-CX,1),round(d[1]-CY,1)) for d in D if d[2]==s and d[3]==s]
|
|
xs=sorted(set(p[0] for p in P)); ys=sorted(set(p[1] for p in P))
|
|
o.write(u'size %.1f n=%d x:%d [%s..%s] y:%d [%s..%s]\n'%(s,len(P),len(xs),xs[0],xs[-1],len(ys),ys[0],ys[-1]))
|
|
mx=sorted(set(round((b['bb'][0]+b['bb'][3])/2,1) for b in B['B7'])); my=sorted(set(round((b['bb'][1]+b['bb'][4])/2,1) for b in B['B7']))
|
|
o.write(u'model B7 x %s\n y %s\n'%(mx,my))
|
|
pts=collections.Counter((round((b['bb'][0]+b['bb'][3])/2,1),round((b['bb'][1]+b['bb'][4])/2,1)) for b in B['B7'])
|
|
o.write(u'model B7 positions %d (unique %d)\n'%(sum(pts.values()),len(pts)))
|
|
b=B['B7'][0]; o.write(u'sample %s\n'%b)
|