Files
Pier_v1/심수석님 검토 파일/검토_운곡교P1/스크립트/column_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.3 KiB
Python

import sys,collections,math
sys.stdout.reconfigure(encoding='utf-8')
by=collections.defaultdict(list); segs={}; cur=None
for l in open('pcol.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
d={'nm':nm,'len':float(p[1].split()[1]),'mn':eval(p[2].split('min ')[1]),'mx':eval(p[3].split('max ')[1])}
for q in p[4:]:
kk,_,vv=q.partition(' '); d[kk]=vv
by[k].append(d)
for k in sorted(by):
v=by[k]; f=v[0]
zs=sorted({round(r['mn'][2],1) for r in v}); zt=sorted({round(r['mx'][2],1) for r in v})
print('====',k,'n',len(v),'dia',f.get('dia'),'shape',f.get('shape'),'design',sorted({float(r['dl']) for r in v})[:4],'coupler',sorted({r.get('cl') for r in v})[:3],'sum %.3f'%(sum(float(r['dl']) for r in v)/1000))
print(' example',f['nm'],'| host',f.get('host'),'| anchor',f.get('anchor'),'| src:',(f.get('src') or '')[:160])
print(' Z min',zs[:6],'..',zs[-3:],'n',len(zs),' Z max',zt[:4],'..',zt[-3:])
print(' X',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)))
for s in segs.get(k,[])[:7]: print(' ',s)