Files
Pier_v1/Code/review_pipeline/sw_quick.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

26 lines
1.2 KiB
Python

import sys, json, re, math, collections
sys.path.insert(0, 'pylib')
import rhino3dm
R = json.load(open('sw_texts.json', encoding='utf-8'))
COLS = [("num", 97500, 98300), ("shape", 98300, 99000), ("dia", 99000, 99800), ("n", 99800, 100600),
("A", 100600, 101800), ("B", 101800, 103000), ("C", 103000, 104300), ("D", 104300, 105500),
("E", 105500, 106600), ("R", 106600, 107600), ("X1", 107600, 108300), ("X2", 108300, 108900),
("X3", 108900, 109500), ("X4", 109500, 110100), ("J", 110100, 111300), ("L", 111300, 112600),
("tot", 112600, 113700), ("unit", 113700, 114700), ("w", 114700, 115800), ("wh", 115800, 117500)]
rows = collections.defaultdict(dict)
for x, y, lay, t, h in R:
if not lay.startswith('CS-TABL') or not (-278800 < y < -265300):
continue
for name, lo, hi in COLS:
if lo <= x < hi:
rows[round(y / 10)][name] = t.strip()
break
T = {}
for y in sorted(rows, reverse=True):
c = rows[y]
if re.match(r'^[A-Z]{1,2}\d+$', c.get('num', '')):
T[c['num']] = c
for k, v in T.items():
print(k, v)
json.dump(T, open('sw_table.json', 'w', encoding='utf-8'), ensure_ascii=False)