- 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>
17 KiB
17 KiB
옥성교 P1 교각 도면 판독서 (형상·받침)
| 버전 | 수정일 | 수정자 | 주요 변경 내용 | 비고 |
|---|---|---|---|---|
| v0.1.00 | 2026-10-14 | 심영표 | 최초 작성 (G1 형상·G5 받침 판독, 결정 요청 O1~O5) | 철근(G2~G4)은 다음 Task |
| v0.1.01 | 2026-10-14 | 심영표 | 6장 O1~O5 결정 반영, 8장 모델·게이트 결과와 앱 수정 신설 | G1 147/147·G5 183/183 PASS |
| v0.1.02 | 2026-10-14 | 심영표 | 9장 기둥 철근(G2: P1 |
기초·코핑 철근은 다음 Task |
| v0.1.03 | 2026-10-14 | 심영표 | 9.3 Q1~Q4 결정 반영, 9.4 G2 모델·게이트 결과 신설 | G1·G2·G5 PASS |
| v0.1.04 | 2026-10-14 | 심영표 | 10장 기초 철근(G3: B1 |
방식: 철근별 중심선(사용자 결정) |
| v0.1.05 | 2026-10-14 | 심영표 | 10.3 F1~F5 결정 반영, 10.4 G3 모델·게이트 결과 신설 | G1·G2·G3·G5 PASS |
1. 대상 도면
RAG/옥성교P1.dwg(읽기 전용) — 한 파일에 교각 일반도(1)과 배근도 여러 장이 들어 있습니다(문자 1,718개).- 변환본·스크립트:
Code/옥성P1판독/(convert_index.py,dxftools.py,extract_g1.py→판독/g1_values.json,판독/일반도1.png) - 앱 판독기 보완 1건: 솔플레이트 TABLE 창 안에 옆 ELEVATION TABLE 행이 끼어들어 머리행을 놓쳤습니다. 머리행 x 범위 밖의 숫자 줄은 건너뛰도록 고쳤습니다. 운곡교·울산 판독 결과와 Ramp-A 시험은 그대로입니다.
2. 형식
- T형(말뚝기초) + 직선 경사 하면 코핑 + 사각(skew 18°) 평면
- 운곡교(말뚝기초), 울산(직선 경사 코핑), Ramp-A(측면 테이퍼)의 요소에, 처음 나오는 평면 사각이 더해진 형식입니다.
- 강도: 기초 27 MPa, 기둥·코핑 35 MPa, 버림 16 MPa
3. 좌표 기준
- 원점 = 기둥 중심(평면 391,315.4 / 352,134.6). X = 코핑 길이 방향, Y = 평면 위쪽, Z = EL × 1000
- z = 도면 y − 314,374.9
- 기초 바닥 EL 12.175 ✓, 좌측 상면 EL 21.175 ✓, 우측 상면 21.128 ✓ ('EL. 12.175'·'EL. 21.175'·'EL. 21.128' 문자와 일치)
- 정면도의 코핑 외곽은 중심선(y = 0) 위의 단면입니다. 평면에서 x는 y에 따라 x' = x − tan 18° · y만큼 밀립니다(y ±1,650에서 ∓536.1).
4. 판독값
| 부재 | 값 | 근거 |
|---|---|---|
| 버림 | 9,800 × 9,800 × 100, EL 12.075~12.175 | 정면 10355~1035B |
| 기초 | 9,600 × 9,600 × 2,200, EL 12.175~14.375 (사각 아님) | 정면·단면도·기초 평면 |
| 말뚝 | 내부굴착 강관말뚝 Ø609.0 × 12T, L 22.0 m, 5 × 5 @2,000 (가장자리 800), 머리 EL 12.275(기초 속 100) | 기초 평면 기호 25개, 정면·단면 '4@2.000=8.000' |
| 기둥 | 원형 Ø2,500, EL 14.375~18.175 (3,800) | 정면·단면 |
| 코핑 정면(y=0) | 하면 평탄 ±1,350 EL 18.175 → 직선 경사 → 끝 ±6,000 EL 19.675. 끝면 수직. 상면 5단: −6,000~−3,772.6 EL 21.175 / ~−1,296.4 21.209 / ~1,179.8 21.242 / ~3,656.0 21.188 / ~6,000 21.128 | 정면 1044B~10458 |
| 코핑 측면 | 폭 3,300(EL 19.675 위) → 하면 2,500으로 직선 테이퍼 | 단면도 |
| 코핑 평면 | 평행사변형: 상변 y +1,650 x −6,536.1 |
평면 104A3~104AA |
| 받침 대좌 | 5개, 평행사변형: x 폭 1,366.9 × y 2,600 (y −1,230.2~1,369.7), 앞뒤 받침 2개를 함께 받침 | 평면 1047F~104A2 |
| 패드·받침 | 10개, 패드 하면 900 × 850 → 상면 800 × 750(A 700 × B 650 + 200/100), −18° 회전. 앞열 NO.1 |
평면 10D96~10DB3 |
높이 검산: 상면 5단 = EL.'X' − h1 − h2 (NO.1~5: 21.398·21.432·21.465·21.411·21.351 − 0.223) → 21.175·21.209·21.242·21.188·21.128 ✓ (1 mm 이내). 뒷열도 h1 194로 같은 상면 ✓
5. 받침 표 (앱 표 인식기)
- ELEVATION TABLE 10행: h1 173(앞열)/194(뒷열), h2 50, h3 148, h4 29, A 700, B 650, E 400/421 (E = h1+h2+h3+h4 ✓)
- 솔플레이트 TABLE 10행: S 1.765 %, L 800, W 750, T 29, T1 22, T2 36 (T ± S·L/2 = 29 ± 7.06 → 21.9 / 36.1 ✓)
6. 결정 요청
[결정 2026-10-14 / 심영표] O1~O5 모두 권장안 채택.
| # | 내용 | 권장안 | 다른 안 |
|---|---|---|---|
| O1 | [CONFLICT] 말뚝 배치: 기초 평면 치수 '5@1.600=8.000'(6열) vs 기호 25개(5 × 5 @2,000)·정면·단면 '4@2.000' | 5 × 5 @2,000 (치수 문자 오기로 기록) | 6 × 6 @1,600 |
| O2 | 받침 대좌 상면: 대좌 하나가 앞뒤 받침을 함께 받는데 h1이 앞 173 / 뒤 194로 다름 | 앞뒤로 기울어진 평면 상면(앞 +173 → 뒤 +194) [추론] | 가운데에서 단차 / 앞뒤 대좌 분리 |
| O3 | 사각의 적용 범위 | 코핑·상면 단 경계·대좌는 사각(평행사변형). 패드·받침·솔플레이트는 −18° 회전 직사각형. 기초·말뚝·기둥은 사각 없음 | — |
| O4 | 솔플레이트 두꺼운 쪽 | S > 0, T2 36 → 교축 +Y 쪽이 두꺼움(울산과 같은 규칙) [추론] | −Y |
| O5 | 강관말뚝 표현 | 속이 찬 원기둥 Ø609(속빈 강관과 속채움 콘크리트는 구분 안 함), 길이 22,000 [추론] | 두께 12의 속빈 관 |
- 참고: 기초 평면의 측량 좌표(X 429,97x / Y 207,59x)는 기록만 하고 모델은 로컬 좌표입니다(앱 범위).
7. 검사 기준값 (expected)
- 치수 문자: 기초 '9.600'·'2.200', 버림 100, 말뚝 '4@2.000=8.000'·'Ø609.0x12T, L=22.0M', 기둥 '2.500'·'3.800', 코핑 '12.000'·'1.500'·'1.500'·'3.300'(1,120·1,141·1,039)·'2.700'(1,350 × 2), EL 문자, 정면 받침 간격 '3@2.476=7.429'
- 받침 표 값, 사각 18°·대좌 크기는 작도값([작도])
8. 모델·게이트 결과
| 항목 | 내용 |
|---|---|
| 앱 교각 | Code/교각모델링앱/data/옥성교P1 (scope G1·G5). 생성기는 울산 concrete_tapered.py에 선택 옵션 4개(말뚝, 측면 테이퍼, 사각, 묶음 대좌)를 추가해 확장(사용자 결정). 옵션이 없으면 기존 경로 그대로 |
| 검사기 | G1 g1_skew.py 신설(울산 검사기는 수정 안 함). G5는 기존 g5_bearings.py를 쓰되, 패드 축 방향을 윗면에서 구하도록 수정(바닥이 기울어진 패드 대응) |
| 모델 | data/옥성교P1/runs/current/G5.3dm (객체 64: 버림·기초·기둥·코핑, 말뚝 25, 대좌 5, 패드 10, 받침 10, 솔플레이트 10) |
| G1 | PASS 147/147 — 음성 시험(BP02 수평 3, BS03 수직 2) 검출, 재로드 44 |
| G5 | PASS 183/183 — 음성 시험(BB04 수평 5, SP03 수직 5) 검출, 재로드 64, G1 객체 44 불변 |
| 부피(m³) | 버림 8.876(말뚝 구멍 제외), 기초 202.752, 기둥 18.653, 코핑 92.869(치수 윤곽 적분과 0.1% 이내), 말뚝 1본 6.408 |
| 보호 템플릿 | data/_템플릿/옥성교P1형 |
- 1차 실행 결과 G1 137/147: '패드 중심 Y' 10건이 FAIL했습니다. 기울어진 패드 바닥 때문에 부피 무게중심이 −21.8 밀린 것으로, 검사 방법의 결함입니다. 평면 중심을 바운딩박스 중심으로 바꿔 해소했습니다.
- 1차 실행에서 G5 검사기가 오류로 멈췄습니다. 패드의 가장 낮은 면이 수평이 아니었기 때문이고, 위와 같이 수정했습니다.
- 앱 판독기 보완: 솔플레이트 표 머리행 x 범위 밖의 숫자 줄은 건너뜁니다(1장). 이 수정 전에 머리행 규칙을 세 번 고쳐 봤으나 울산 또는 Ramp-A 결과가 바뀌어 모두 되돌렸습니다(같은 방식 재시도 금지).
- 육안 확인 미실시(캡처 수단 없음).
9. 기둥 철근 판독 (G2: P1~P5)
- 근거: 교각 구조도(1) 정면·단면, 구조도(2) 기둥 단면 4개, 구조도(4) 철근 상세·재료표·커플러 표. 스크립트
Code/옥성P1판독/extract_g2.py→판독/g2_values.json - 좌표: 구조도(1) 정면 z = 도면 y − 309,179.8, 기둥 중심 x 573,551.6
9.1 재료표·상세
| 마크 | 직경 | L | N | 형상 | 검산 |
|---|---|---|---|---|---|
| P1·P2 | H25 | 9,237 | 60·60 | 직선 a 8,313 + 굽힘 r 270(호 424) + 다리 c 500 | 8,313 + 424 + 500 = 9,237 ✓ |
| P3 | H25 | 7,226 | 13 | 띠철근 반원 2조각, r 1,150, a 3,533, 커플러 b 80 | 2 × (3,533 + 80) = 7,226 ✓ |
| P4 | H19 | 7,206 | 16 | 같은 형식, r 1,147, a 3,538, b 65 | 2 × (3,538 + 65) = 7,206 ✓ |
| P5 | H16 | 2,722 | 40 | 연결철근 r 60, a 160, b 2,341, c 141, d 80 (90° 다리 + 135° 갈고리) | 2,722 ✓ |
- 커플러 표: 주철근 120(= P1 + P2), 띠철근 32·26
9.2 판독값
| 항목 | 값 | 근거 |
|---|---|---|
| 주철근 | 2겹: P1 바깥 r 1,125 × 60, P2 안쪽 r 1,080 × 60, 둘 다 0°부터 6° 간격 | 단면 4개 모두 같음 |
| 주철근 갈고리 | 바깥 링은 바깥으로, 안쪽 링은 안쪽으로 굽음(r 270, 다리 500) | 정면 작도 ARC 중심 ±1,395 / ±810 |
| 주철근 위 끝 | EL 20.908 | 정면 작도(치수 없음) [작도] |
| 띠철근 | 29단 = 13.775, 14.075, 14.375(2@300) → 16@150 → 8@300 → 2@600 (최상단 20.375). 16@150 구간 16단 = P4(H19), 나머지 13단 = P3(H25) | 사슬 '띠철근외측' = 작도 29선과 정확히 일치 ✓ |
| 띠철근 반지름 | P3 1,150 = 1,125 + 12.5 + 12.5, P4 1,147 = 1,125 + 12.5 + 9.5 (주철근 바깥에 접함) | 재료표 r |
| 연결철근 | 20단(13.825, 14.275, 8@300, 8@300, 2@600) × X·Y = 40 ✓, 직선 2,295 작도 | 사슬 '크로스타이', 단면 |
9.3 결정 요청
[결정 2026-10-14 / 심영표] Q1~Q4 모두 권장안 채택(Q1: 처음 고른 '운곡교 생성기 재사용'을 울산 생성기 확장으로 변경).
| # | 내용 | 권장안 | 다른 안 |
|---|---|---|---|
| Q1 | 생성기: 사용자는 '운곡교 생성기 재사용'을 골랐으나, 띠철근이 커플러 반원 조각이고 주철근 갈고리가 있어 울산 원형 기둥 생성기(column_rebar_ring.py)가 더 잘 맞음 |
울산 생성기에 선택 옵션 3개(안쪽 링·갈고리 방향, 구역별 띠철근 반지름, 90°/135° 연결철근)를 추가해 재사용. 울산 회귀로 확인 | 운곡교 생성기 확장 |
| Q2 | [CONFLICT] 주철근 아래 끝: 작도 다리 EL 12.375(직선 8,263, L보다 50 짧음) vs 사슬 '150'(12.325)·재료표 a 8,313 | 치수·재료표(다리 12.325, 직선 8,313 → L 일치) | 작도(다리 12.375) |
| Q3 | 연결철근 X·Y의 교차 | Y 방향을 16(철근 지름) 위로 올려 교차를 피함 [추론] (Ramp-A 결정 K3와 같음) | 같은 높이(울산과 같음, 교차 간섭 기록) |
| Q4 | 띠철근 커플러 위치·연결철근 갈고리 방향 (도면 표시 없음) | 커플러 90°/270°(울산 규칙), 연결철근 90° 다리·135° 갈고리 좌우 단마다 교번 [추론] | 모든 단 같은 방향 |
9.4 모델·게이트 결과
| 항목 | 내용 |
|---|---|
| 생성기·검사기 | 울산 column_rebar_ring.py·g2_ring.py에 선택 옵션 추가(안쪽 링·안쪽 갈고리, 구역별 띠철근 반지름, 90°/135° 연결철근과 Y 올림). 패치 스크립트 tools/patches/2026-10-14_patch_ring_okseong.py, 백업 backup/2026-10-14_okseong_g2/ |
| 철근 | P1·P2 각 60(2겹), 띠철근 29단 × 반원 2조각(P3 13단·P4 16단), 연결철근 20단 × X·Y = 40 → G2 객체 436 |
| G2 | PASS 39/39 — 개수·원길이(+커플러)·반지름(바깥·안쪽)·분할각·주철근 상하단·안쪽 갈고리 방향·띠철근 단 사슬·구역·반지름·연결철근 단(X 사슬, Y = X + 16)·콘크리트 밖 표본 0. 음성 시험(P1 수평 5, P3 수직 5) 검출, 재로드 480, G1 객체 44 불변 |
| G5 | 재실행 PASS 183/183 (G2까지 480 불변) |
| 최소 피복(기록) | P1 112.5, P2 137.5, P3 87.5, P4 93.5, P5 71.5 (손계산과 일치) |
| 곡선 길이 − L(기록) | P1·P2 +0.1, P3 −0.3, P4 +0.8, P5 −140.6(갈고리 꼬리 작도 150 [추론]) |
10. 기초 철근 판독 (G3: B1~B12, UM)
- 방식: 철근별 중심선(사용자 결정 2026-10-14). 운곡교 기초 생성기는 마크 배치 규칙이 코드에 고정돼 있어 맞지 않습니다.
- 근거: 구조도(1) 정면·단면도(기초 부분), 구조도(3) 기초 평면·기초 조립용 철근 상세, 구조도(4) 재료표·상세. 스크립트
Code/옥성P1판독/extract_g3.py→판독/g3_values.json
10.1 재료표·상세
| 마크 | 직경 | L | N | 형상 | 검산 |
|---|---|---|---|---|---|
| B1·B3 | H29 | 12,730 | 39·38 | U형 a 9,400 + 다리 b 900 × 2, 겹이음 j 1,530 | 9,400 + 1,800 + 1,530 ✓ |
| B2·B4 | H29 | 14,070 | 39·38 | U형 a 9,400 + b 1,800 × 2, j 1,070 | ✓ |
| B5·B7 | H29 | 12,880 | 38·37 | U형 a 9,400 + b 975 × 2, j 1,530 | ✓ |
| B6·B8 | H29 | 14,370 | 38·37 | U형 a 9,400 + b 1,950 × 2, j 1,070 | ✓ |
| B9 | H19 | 4,763 | 171 | 연직 'ㄷ'형: 위 a 586~548, 연직 b 1,998, 아래 c 100 | — (가변) |
| B10 | H19 | 41,152 | 5 | 폐합 고리 9,448 × 9,448, 겹이음 560 × 6 | 4 × 9,448 + 3,360 ✓ |
| B11·B12 | H19 | 10,160 | 19·19 | U형 a 9,400 + b 100 × 2, j 560 | ✓ |
| UM | H22 | 4,504 | 92 | 조립용 A자형 받침: 발 200 × 2, 다리 1,952 × 2(70°), 위 200 | 200·2 + 1,952·2 + 200 ✓ |
10.2 판독값
| 층 | 값 | 근거 |
|---|---|---|
| 하면 Y방향(B2/B4) | EL 12.325, x 77곳(−4,700, −4,600, −4,500 → @125 → 4,500, 4,600, 4,700), 다리 1,800 위로 | 정면 점 77, 사슬 '100(하면)', 측면 다리선 |
| 하면 X방향(B6/B8) | EL 12.3475, y 75곳(−4,700, −4,537.5, −4,375 → @125 → …), 다리 1,950 위로 | 측면 점 75, 사슬, 정면 다리선 |
| 상면 Y방향(B1/B3) | EL 14.275, x 77곳, 다리 900 아래로 | 정면 점, 측면 다리선 13.375 |
| 상면 X방향(B5/B7) | EL 14.2525, y 75곳, 다리 975 아래로 | 측면 점, 정면 다리선 13.300 |
| 중간층 | Y방향 19(정면: EL 13.825에 x −4,000 |
사슬 '18@500'·'538, 16@500, 538' |
| B10 | 5단 EL 12.575 / 12.825 / 13.325 / 13.825 / 14.075, 모서리 ±4,722.5(9,445 중심 간격) | 정면·측면 모서리 점 |
| B9 | 평면 x −4,530 + 500k(19열), y는 열마다 엇갈림(짝수 열 −4,268.8·−3,250·−2,250·−1,250·−250, 홀수 열 −3,750·−2,750·−1,750·−750). 아래 절반만 작도(78곳) | 기초 평면 EREC 기호 |
10.3 결정 요청
[결정 2026-10-14 / 심영표] F1~F5 모두 권장안 채택.
| # | 내용 | 권장안 | 다른 안 |
|---|---|---|---|
| F1 | B9 개수: 아래 절반 78곳을 대칭으로 펼치면 172곳, 재료표 N 171 | 대칭 172곳 중 기둥 중심에 가장 가까운 1곳을 빼서 171 [추론] | 172 그대로(개수 FAIL 기록) |
| F2 | B9 형상·방향: 위 a(가변 586~548), 연직 b 1,998, 아래 c 100 | 평면 기호 방향(y)으로 'ㄷ'형, 상면 Y철근(14.275)과 하면 Y철근(12.325)을 감쌈. a는 567(평균) [추론] | — |
| F3 | 같은 모양 두 마크(B1/B3, B2/B4, B5/B7, B6/B8)의 배치·겹이음 | 열마다 번갈아(가장자리부터 앞 마크) 두고, 겹이음 j는 모델링하지 않음(길이는 재료표 L로 기록) [추론] | — |
| F4 | 중간층: B11·B12 중 어느 쪽이 X/Y인지 표시 없음, 다리 b 100 방향 표시 없음, X·Y가 같은 높이에서 교차 | B11 = X방향, B12 = Y방향, 다리 아래로, Y방향을 19 위로 올려 교차를 피함 [추론] | 같은 높이 |
| F5 | 조립용 UM 92개: 상세(1,200 × 1,000 간격)는 있으나 평면 배치가 없음 | 모델링하지 않고 개수·형상만 기록(SPACER와 같은 처리) | 1,200 × 1,000 격자로 추정 배치 |
10.4 모델·게이트 결과
| 항목 | 내용 |
|---|---|
| 생성 방식 | Code/옥성P1판독/extract_g3_bars.py가 518본 중심선을 만들고(판독/g3_bars.json), 범용 rebar_polylines.py가 G3에서 footing_rebar 묶음을 씀. 엔진 수정: 생성기에 게이트 값(GATE) 전달(pipeline.py·gates.py), 패치 tools/patches/2026-10-14_patch_gate_global.py. 검사기 g3_poly.py 신설 |
| 철근 | B1~B8 304(상·하면 X·Y 4층), B9 171, B10 5, B11·B12 각 19 → G3 객체 1,036 |
| G3 | PASS 75/75 — 개수·원길이, 4층 위치(사슬)·높이·길이 9,400·다리 길이와 방향·교번, 중간층 높이·위치, B10 단·크기, B9 19열·높이 1,998, 기초 밖 표본 0. 음성 시험(B1 수평 5, B10 수직 5) 검출, 재로드 1,516, G2까지 480 불변 |
| G5 | 재실행 PASS 183/183 (G3까지 1,516 불변) |
| 최소 피복(기록) | B1~B5·B7 85.5, B6·B8 63.0(다리 위 끝), B9 66.5, B10 68.0, B11·B12 90.5 |
- B9 1차 생성은 155본이었습니다. 평면 아래 절반 중 오른쪽 8곳이 상세 표시 점선 원에 가려 그려지지 않았기 때문입니다. 작도 규칙(19열·엇갈린 행)으로 격자를 만들어 171본으로 바로잡았습니다(F1: 위 절반 대칭점 (470, 250) 제외).
- 모델링하지 않은 것: UM 조립용 받침 92개(F5), 겹이음 j(F3).
- 간섭 미검사: X·Y 다리와 모서리 철근, B9와 중간층 철근.