Files
Pier_v1/Code/review_pipeline/dots_method/swcop.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.3 KiB
Python

import sys; sys.path.insert(0,".")
import json, collections, io
d=json.load(open('swdrw.json')); B=json.load(open('swpos.json',encoding='utf-8'))
o=io.open('swcop.txt','w',encoding='utf-8')
CX=10473.9
V=[v for v in d['V'] if v[3]=='CS-RBAR-MAJR' and 5300<v[0]<15700 and -277000<v[1] and v[2]<-273300 and v[2]-v[1]>400]
xs=collections.defaultdict(list)
for x,y0,y1,l in V: xs[round(x-CX,1)].append((y0,y1))
o.write(u'도면 코핑 정면도 수직 철근선: 선 %d개, 서로 다른 x %d개\n'%(len(V),len(xs)))
dx=sorted(xs)
o.write(u'%s\n'%dx)
# 모델: 코핑 스터럽류 (정면도에서 수직으로 보이는 철근)
M=collections.defaultdict(list)
for mk in ('C7','C8','C9','C10','C11','C12','C13','C14'):
for b in B[mk]:
bb=b['bb']
if bb[5]-bb[2]>300 and bb[3]-bb[0]<60:
M[round((bb[0]+bb[3])/2,1)].append(mk)
mx=sorted(M)
o.write(u'모델 수직 철근 x %d개: %s\n'%(len(mx),mx))
import bisect
dd=[min(abs(x-m) for m in mx) for x in dx]
o.write(u'도면 선 → 가장 가까운 모델 x 최대 %.1f\n'%max(dd))
miss=[x for x in dx if min(abs(x-m) for m in mx)>3]
o.write(u'모델에 없는 도면 선 x: %s\n'%miss)
miss2=[m for m in mx if min(abs(x-m) for x in dx)>3]
o.write(u'도면에 없는 모델 x: %s (%s)\n'%(miss2,[M[m] for m in miss2]))