Files
Pier_v1/DOC/02_분석/분석_운곡교P2교각도면판독_2026-10-12_v0.1.00.md
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

8.0 KiB
Raw Blame History

운곡교 P2 교각 도면 판독 (앱 입력 작성)

항목 내용
담당자 심영표
작성 Agent 초안 (사용자 확정 전)
대상 도면 C0050205-028·029·030 운곡교 교각도(1)(2)(3)(완도방향 P2) — 앱 업로드 사본 (D1·D2·D3)
결과 입력 Code/교각모델링앱/data/운곡교p2/params.json, expected.json (이전 판은 backup/)
판독 스크립트 Code/운곡교P2판독/ (dxftools.py, extract_r1.py~extract_r5.py)
검증 앱 게이트 G1~G5 (CLI tools/run_gates.py)

1. 요약

  • p2 도면은 P1 도면을 바탕으로 수정한 것입니다. 좌표계가 같습니다(정면도 기둥 중심 x 12,159.4, 코핑 하면 y 16,515.6, 평면 기준점 (12,162.4, 26,412.3)).
  • 형식은 P1과 같은 T형이고 치수만 바뀌었습니다. 기초가 X로 1,000 커졌고, 전체 표고는 약 1 m 낮으며, 기둥은 130 깁니다.
  • P1 판독 규칙과 사용자 결정을 그대로 적용해 G1~G5 모두 PASS했습니다. 계획 FAIL은 G3 2건(B9·B12 본수)과 G4 5건(C9~C13 작도 폭)입니다.
  • 같은 도면 안에서 갱신되지 않은 부분이 여럿 있습니다. 측면도의 받침 높이, 평면도의 패드 크기, 단면의 띠철근 반지름, 재료표의 B9 본수가 P1 값 그대로입니다. 판독에서는 P1 규칙대로 표·재료표 값을 채택하거나(작도 vs 표) 작도를 채택했습니다(본수). p2에 대해 사용자 확인이 필요합니다(6장).

2. 주요 치수 (P1 대비)

항목 P1 P2 근거
기초 하면 EL 26.208 25.123 D1 'EL. 25.123'
기초 X × Y × 두께 9,350 × 7,800 × 2,200 10,350 × 7,800 × 2,200 D1 '10.350', 21A76
말뚝 배치 6 × 5, 1,550 공통 6 × 5, X 1,750 / Y 1,550 D1 '5@1.750=8.750', '4@1.550'
말뚝 길이 24.4 m 25.9 m D1 'L=25.9M'
기둥 높이 12,003 12,133 D1 '12.133'
코핑 하면 / 상면 EL 40.411 / 43.411·43.555·43.698 39.456 / 42.456·42.602·42.748 D1 EL 문자, 17.333 = 2.200 + 12.133 + 3.000
코핑 상면 단 X 2.199, 3@2.505, 2.284 2.219, 3@2.502, 2.274 D1 평면 치수
코핑 우측 높이 1,787 1,792 D1 '1.792'
받침 용량 3,500 / 2,800 kN 2,800 kN 전부 D2 TABLE
받침 EL.'X' (NO.1) 43.625 42.686 D2 TABLE
h1 (전열 / 후열) 164 / 139 180 / 155 D2 TABLE
h3 181 165 D2 TABLE
B (NO.1 / NO.3) 640 / 790 540 / 650 D2 TABLE
대좌 회전 4.405° 3.088° D1 평면 20C1E
받침 열 S1 (전열) 852 851 D2 TABLE

검산: 모든 받침에서 EL.'X' − h1 − h2가 해당 코핑 단 높이와 1 mm 이내로 일치했습니다(예: NO.1 42.686 − 0.230 = 42.456).

3. 철근 (P1 대비)

부위 바뀐 점 근거
기둥 P1·P2 주철근 +130 (A 16.343 / 16.683), 상단 EL 42.106. P4·P5 H29, R904, 커플러 틈 85. P3 37개, R899 D3, D1 'P4 H29@100', '37@300=11.100'
기초 Y 방향 철근 개수 증가(B1·B2·B3 42, B4 39), X 방향 길이 +1,000 (B5 A 10.150), B10 10,198 × 7,644, B9 38 × 29열 D3, D1 '78@125=9.750', '39@250', '37@250'
코핑 작도 전체가 P1 − 955 mm. C3·C6 H25. C2·C5 12.082, C15 2.774, C16 5.605 D3, D1 정면도
받침·솔플레이트 W 640 / 750 (= B + 100), L 800 (= A + 100), h3 165 D2 TABLE

4. 판독 방법

  • params(생성값): D1 작도 객체 좌표를 핸들로 직접 읽었습니다(예: 기초 21A76, 코핑 20D63·20E7720E7F, 대좌 20C1E20C21, 패드 20C6D·20C64). 받침 값은 D2 표를 썼습니다.
  • expected(검사 기준): 치수 문자, EL 문자, D2·D3 표를 썼습니다. 생성값과 따로 입력해 검사의 독립성을 지켰습니다. 다만 코핑 중간 단 EL(42.529·42.675)과 철근 단 높이 일부는 치수 문자가 없어 작도에서 유도했습니다 [derived].
  • P1과 같은 유형의 판단에는 P1의 사용자 결정을 그대로 썼습니다(6장).

5. 검증 (앱 게이트)

게이트 결과 계획 FAIL 음성 시험 재로드 앞 게이트 객체
G1 형상 PASS 171/171 0 검출 / 검출 일치 (54) —
G2 기둥 철근 PASS 42/42 0 검출 / 검출 일치 불변 (54)
G3 기초 철근 PASS 71/73 2 (B9·B12 본수) 검출 / 검출 일치 불변 (538)
G4 코핑 철근 PASS 111/116 5 (C9~C13 폭) 검출 / 검출 일치 불변 (2,358)
G5 받침·솔플레이트 PASS 183/183 0 검출 / 검출 일치 (3,350) 불변 (3,330)
  • 최종 모델 객체는 3,350개입니다(P1 3,190). 기초 철근 841개, 띠철근 1단이 늘었습니다.
  • 앱 엔진을 2곳 고친 뒤 P1 회귀를 확인했습니다(7장).
  • 한계: 판독과 검사 기준 입력을 같은 주체(Agent)가 했습니다. 독립 검증이 아닌 자기검증이므로 사용자 확인이 필요합니다.

6. 충돌과 적용한 결정

사용자 확정 (2026-10-12): 1~6번은 P1 규칙대로 확정, 9번 솔플레이트 두꺼운 쪽 −Y 유지. 7·8번 [추론]은 P1과 같은 방식으로 유지합니다.

# 판정 내용 적용 (P1 결정 준용)
1 불일치 D1 측면도 대좌 높이 163.4 / 139, 받침 높이 181 = P1 값 그대로 vs D2 TABLE h1 180 / 155, h3 165 표 값 채택 (P1 OPEN #5와 같은 유형)
2 불일치 D1 평면도 패드 900 × 840 (B = 640) vs TABLE B 540 / 650 표 값 채택
3 불일치 D1 단면 띠철근 원호 897.5 (P1 그대로) vs D3 R904 (P4·P5) / R899 (P3) 재료표 R 채택 (P1 H2)
4 불일치 B9 본수: 작도 551 (38 × 29 엇갈림) vs D3 493 (P1 값 그대로) 작도 채택, 계획 FAIL (P1 F2)
5 불일치 B12 본수: 작도 32 vs D3 38 작도 채택, 계획 FAIL (P1 F2)
6 불일치 C9~C13 폭: 작도 폭 vs 재료표 (P1과 같음) 작도 폭, 계획 FAIL (P1 K1)
7 확인 필요 거더 1·2 대좌·패드는 미작도 → 거더 5를 평행 이동 (거더 4 대조 오차 0.13 mm) [추론] (P1과 같음)
8 확인 필요 코핑 좌측 스터럽 상단 = 좌측 단 − 100, C16 좌단 = 단 3 좌단 + 100, C14 갈고리 위 4본 [추론] (P1과 같음, 재료표 범위와 일치)
9 확인 필요 솔플레이트 두꺼운 쪽 −Y P1 결정 준용 (p2 확인 안 함)
10 표시 P1의 '콘크리트 숨김'은 P1 전용 결정 → p2는 모두 표시 요구사항 기본값

7. 앱 개선 목록 (이번 판독에서 드러난 일반화 결함)

# 내용 처리
A1 말뚝 간격이 X·Y 공통 값 하나뿐 (p2 X 1,750 / Y 1,550) 수정함: pitch_x·pitch_y (기존 pitch 호환) — concrete.py, checks/g1_shape.py
A2 띠철근 반지름이 하나뿐 (p2 P3 899 / P4·P5 904) 수정함: hoops.radius_by_mark — column_rebar.py
A3 재료표의 범위 문자('12.228~3.151')가 머리행 열과 어긋나 표 인식에서 빠짐 미수정 (위치로 직접 읽음)
A4 표 후보값은 expected와 철근 직경만 바꾸고, 같은 표에서 오는 params(받침·솔플레이트)는 바꾸지 않음 미수정
A5 철근 위치 목록(기초 81·42개 등)을 JSON으로 직접 써야 함 → 치수 사슬(시작·간격·개수)로 입력하는 형식 필요 미수정
A6 D1 작도 객체 판독(핸들 지정)은 앱에 없음 — 이번엔 스크립트로 수행 미수정 (P1·P2가 같은 도면 틀이라 템플릿 판독 가능성 있음)
A7 음성 시험 대상(BS08·SP08)은 받침 10개 전제 — p2는 10개라 통과 미수정

8. 다음 단계

  1. 6장의 충돌 처리를 사용자가 확인합니다(특히 1·2·4·5·9).
  2. 앱 화면에서 p2 묶음을 확정하고 게이트를 승인합니다. 이 판독서와 각 묶음의 src를 근거로 씁니다.
  3. 7장 미수정 항목은 앱 개선 Task로 넘깁니다(OPEN #19).

변경 이력

버전 일자 내용
v0.1.00 2026-10-12 최초 작성 (R1R5 판독, 게이트 G1G5 PASS)