Files
Pier_v1/심수석님 검토 파일/검토_운곡교P1/스크립트/footing_model_summary.py
T
ahnyongjooandClaude Sonnet 5.5 964a841de1 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>
2026-10-28 11:20:18 +09:00

20 lines
1.5 KiB
Python

import sys,collections
sys.stdout.reconfigure(encoding='utf-8')
by=collections.defaultdict(list); segs={}; cur=None
for l in open('bfoot.txt',encoding='utf-8'):
if l.startswith(' seg'): segs.setdefault(cur,[]).append(l.strip()); continue
if ' | len ' not in l: continue
p=l.strip().split(' | '); nm=p[0]; k=nm.split('-')[2]; cur=k
mn=eval(p[2].split('min ')[1]); mx=eval(p[3].split('max ')[1])
by[k].append(dict(nm=nm,len=float(p[1].split()[1]),mn=mn,mx=mx,dl=float(p[4].split()[1]),dia=p[5].split()[1],shape=p[6].split()[1],src=p[7].split('src ',1)[1] if 'src ' in p[7] else ''))
tot=0
for k in sorted(by,key=lambda s:int(s[1:])):
v=by[k]; f=v[0]
xs=[r['mn'][0] for r in v]; ys=[r['mn'][1] for r in v]; zs=sorted({round(r['mn'][2],1) for r in v}); zm=sorted({round(r['mx'][2],1) for r in v})
print('====',k,'n',len(v),'dia',f['dia'],'shape',f['shape'],'design',sorted({r['dl'] for r in v})[:3],'sum %.3f'%(sum(r['dl'] for r in v)/1000))
print(' example',f['nm'],'| src:',f['src'][:150])
print(' X min..max',round(min(r['mn'][0] for r in v)),round(max(r['mx'][0] for r in v)),'| Y',round(min(r['mn'][1] for r in v)),round(max(r['mx'][1] for r in v)),'| Z',round(min(r['mn'][2] for r in v),1),round(max(r['mx'][2] for r in v),1))
ux=sorted({round(r['mn'][0]) for r in v}); uy=sorted({round(r['mn'][1]) for r in v})
print(' unique X-min',len(ux),ux[:6],'..',ux[-3:],' unique Y-min',len(uy),uy[:6],'..',uy[-3:])
for s in segs.get(k,[])[:8]: print(' ',s)