- 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>
34 lines
1.5 KiB
Python
34 lines
1.5 KiB
Python
import math, collections, sys
|
|
sys.stdout.reconfigure(encoding='utf-8')
|
|
# soffit EL(x): flat 40.411 for |x|<=1100, else arc R=12000 centre offset 6951.8 / y 6039.2 (drawing coords), EL = 43.411+(y-19515.6)/1000
|
|
def soffit(x):
|
|
ax=abs(x)
|
|
if ax<=1100: return 40.411
|
|
dx=6951.8-ax
|
|
y=6039.2+math.sqrt(12000**2-dx**2)
|
|
return 43.411+(y-19515.6)/1000
|
|
def top(x):
|
|
ax=x
|
|
for lim,el in ((-3800,43.411),(-1295,43.483),(1211,43.555),(3716,43.627),(99999,43.698)):
|
|
if ax<lim: return el
|
|
return 43.698
|
|
# model C14 ties (x, z_top EL of horizontal bar), from pcol.txt
|
|
ties=[]
|
|
for l in open('pcol.txt',encoding='utf-8'):
|
|
if l.startswith('P1-RC-C14-'):
|
|
p=l.split(' | '); mn=eval(p[2].split('min ')[1]); mx=eval(p[3].split('max ')[1])
|
|
ties.append((round(mn[0]),mx[2]/1000.0))
|
|
# drawing dots positions (from elevation) : right half x>=13
|
|
dr={13:[43.188,43.088,42.011,41.011],913:[43.188,43.088,42.511,41.511],1913:[43.188,43.088,42.011,41.011],2913:[43.442,43.188,43.088,42.511,41.511],3913:[43.188,43.088,42.011],4913:[43.188,43.088,42.511]}
|
|
print('x tie EL | hook DOWN end vs soffit (clear mm) | hook UP end vs top (clear mm)')
|
|
bad=[]
|
|
for x,els in sorted(dr.items()):
|
|
for el in els:
|
|
dn=el-0.350; up=el+0.350
|
|
c_dn=(dn-soffit(x))*1000; c_up=(top(x)-up)*1000
|
|
flag=''
|
|
if c_dn<0: flag+=' <-- 아래 훅이 하면 밖'
|
|
if c_up<0: flag+=' <-- 위 훅이 상면 밖'
|
|
if flag: print('%5d %.3f | %7.0f | %7.0f %s'%(x,el,c_dn,c_up,flag))
|
|
print('(other drawing ties: both directions fit)')
|