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

28 lines
1.7 KiB
Python

import sys, collections, ezdxf
sys.stdout.reconfigure(encoding='utf-8')
rows=[]
for l in open('c9_16.txt',encoding='utf-8'):
if l.startswith(' seg') or ' | len ' not in l: continue
p=l.strip().split(' | ')
rows.append((p[0],eval(p[2].split('min ')[1]),eval(p[3].split('max ')[1]),float(p[4].split()[1])))
by=collections.defaultdict(list)
for r in rows: by[r[0].split('-')[2]].append(r)
T={'C9':(60,1407,(2956+1376)/2,750,518.820),'C10':(21,1407,2998,750,216.510),'C11':(60,1407,(2956+1664)/2,750,536.040)}
print('stirrups: model a=Y width, b=Z range+54.3, c=750')
for k,(n,ta,tb,tc,tl) in T.items():
ma=sum(2*(r[2][1]-r[1][1]) for r in by[k]); mb=sum(2*((r[2][2]-r[1][2])+54.3) for r in by[k]); mc=n*2*tc
ta_=n*2*ta; tb_=n*2*tb
print(k,'width part model %.2f table %.2f diff %.2f m | height part model %.2f table %.2f diff %.2f m | total diff %.2f'%(ma/1000,ta_/1000,(ma-ta_)/1000,mb/1000,tb_/1000,(mb-tb_)/1000,(ma+mb+mc-tl*1000)/1000))
T2={'C12':(18,(12228+3151)/2,1407,580,369.234),'C13':(9,(12167+12044)/2,1407,580,264.105)}
print('loops: model a=X range+54.3, b=Y width, c=580')
for k,(n,ta,tb,tc,tl) in T2.items():
ma=sum(2*((r[2][0]-r[1][0])+54.3) for r in by[k]); mb=sum(2*(r[2][1]-r[1][1]) for r in by[k]); mc=n*4*tc
ta_=n*2*ta; tb_=n*2*tb
print(k,'A part model %.2f table %.2f diff %.2f m | B part model %.2f table %.2f diff %.2f m'%(ma/1000,ta_/1000,(ma-ta_)/1000,mb/1000,tb_/1000,(mb-tb_)/1000))
d=ezdxf.readfile(r'D:\★Pier 자료\심수석님 검토 파일\철근 모델랑 운곡교P1_바이브코딩\1.dxf'); ms=d.modelspace()
print('B-B left/bottom dim texts')
for e in ms:
if e.dxftype()=='TEXT':
p=e.dxf.insert
if 39000<p.x<41500 and 9500<p.y<13800: print((round(p.x),round(p.y)),e.dxf.text)