7.9 KiB
7.9 KiB
터널 단면 2D/3D 자동 모델러 검증계획서 (Verification & Validation Plan)
프로젝트명: 도로·철도 터널 표준단면 2D DXF 자동 해석 및 3D 파라메트릭 모델러 (
TunnelModeler3D)
문서 버전: v1.0
작성일: 2026-10-29
개발/검증 책임:m12205.tdc.hanmacgroup@gmail.com
대상 리포지토리: hylee4/Tunnel3D
1. 개요 및 목적
1.1 목적
본 검증계획서는 실무 터널 설계도면(AutoCAD DWG/DXF)을 입력받아 터널 라이닝, 도로 포장, 공동구, 배수시설 등 복합 기하 요소를 자동으로 추출하고 3D 모델로 변환하는 TunnelModeler3D 프로그램의 기하학적 정밀도, 오작도 보정 성능, 실무 범용성 및 형상 무결성을 객관적으로 입증하기 위해 수립되었습니다.
1.2 검증 대상 핵심 모듈
app.js: DXF 파싱, 기하 추론 엔진, 공동구 트렌치 추적, 2D/3D 렌더링server.js: DWG/DXF 변환 및 로컬 서빙index.html&style.css: 사용자 인터페이스 및 개발자 저작권 크레딧 표시
2. 검증 범위 및 주요 검증 항목
flowchart LR
A["입력: CAD 도면 (DWG/DXF)"] --> B["1. 파싱 & 기하 추출"]
B --> C["2. 오작도 & 예외 보정"]
C --> D["3. 2D/3D 루프 생성"]
D --> E["4. 실무 도면 회귀 검증"]
E --> F["최종 성과품 (OBJ/3DM/데이터)"]
2.1 터널 라이닝 원호 체계 (R_1 \sim R_5)
R_1(천단 원호): 반경 및 중심좌표 추출 정확도 (\pm 1\,\text{mm}이내)R_2, R_3(내공 좌·우측 원호): 접점 연속성 (G^1연속성) 및 각도 기반 탐색 신뢰성R_4, R_5(외공 좌·우측 원호): 숏크리트 및 라이닝 두께 연동 무결성
2.2 도로 포장 및 차로 시스템
- 포장 폭 정밀도: 설계 규격(
11.3\,\text{m}등)과 캐드 작도 오차(11.25\,\text{m}) 분리 보정 검증 - 차로 폭 및 측대 자동 산출: 차선 마커 인식 체인 및 좌우 측대 균등/설계 분할 검증
- 편경사(Cross Slope): 중심 능선 기준 좌우 기울기 정밀도
2.3 공동구 (Utility Duct) 및 뚜껑 (Precast Lid)
- 프리캐스트 뚜껑 자동 탐색: 두께 (
40 \sim 120\,\text{mm}), 폭 (300 \sim 1,500\,\text{mm}) 박스 분리 검출 - 트렌치 내공 다각형 추적 (
traceTrenchPoly):- Type-1: 직사각형 표준 단면
- Type-2: 하부 경사 단면 (상단폭 대비 바닥폭 축소형)
- Type-3: 특수 대형 단면 (모따기 챔퍼
130 \times 545\,\text{mm}등 다각 루프)
2.4 배수 시설 (Ditch, 배수콘크리트, 집수정, 유공관)
- 배수홈(Ditch): 바닥 수평선(폭
100\,\text{mm}) 및 양단 수직벽(좌148\,\text{mm}/ 우150\,\text{mm}) 독립 검출 - 배수콘크리트: 포장단부 하부 두께(좌
530\,\text{mm}, 우500\,\text{mm}) 및 바닥폭(550\,\text{mm}) 정합성 - 종배수관(유공관): 상하부 중복 원(Circle) 중 메인 레벨(
\varnothing 300\,\text{mm}) 선별 구속
3. 검증 환경 및 테스트 데이터셋
3.1 표준 테스트 벤치마크 도면군
| No. | 노선 및 터널명 | 차로수 | 단면 특성 | 주요 검증 포인트 |
|---|---|---|---|---|
| TC-01 | 안성-구리 11공구 (남한산성터널) | 3차로 | 대단면 본선터널 | 표층 11.25\,\text{m} 오작도 \to 11.3\,\text{m} 보정, 좌 T2 / 우 T3, Ditch 100 \times 150, 배수콘 530 / 500 |
| TC-02 | 안성-구리 13공구 (방아다리터널) | 3차로 | 대단면 도심지 터널 | 좌 T2(500\times640) / 우 T3(770\times940), 유공관 \varnothing 300, 절대좌표계 오프셋 |
| TC-03 | 익산-대야 (완산터널) | 2차로 | 철도/도로 표준형 | 2차로 포장폭(9.19\,\text{m}), 좌 T2 / 우 T3 규격 |
| TC-04 | 천안-논산 (풍세터널) | 2차로 | 표준 국도 단면 | 배수콘크리트 체인 추적 및 유공관 자동 매칭 |
| TC-05 | 대산당진 / 광주강진 | 가변 | 소단면 및 갱구부 | 다양한 레이어 명칭(CS-CONC, CONC, 0 등) 적응성 |
4. 단계별 검증 절차 (Verification Procedures)
sequenceDiagram
participant Tester as 검증자/자동화 스크립트
participant Engine as 모델러 엔진 (app.js)
participant Viewer as 2D/3D 뷰포트
participant Gitea as Gitea 원격 저장소
Tester->>Engine: 1. 테스트 도면(DXF) 로드
Engine->>Engine: 2. 원호/선분 필터링 및 파라미터 자동 추출
Engine->>Viewer: 3. 단면 제원 UI 동기화 및 2D 캔버스 렌더링
Engine->>Viewer: 4. 3D 솔리드/Extrude 메쉬 생성 (Earcut)
Tester->>Viewer: 5. 실측 CAD 치수와 일치 여부 판정 (오차 0mm)
Tester->>Gitea: 6. 검증 완료 소스 및 리포트 커밋/푸시
4.1 단계 1: 단위 알고리즘 자동화 검증 (Automated Script Test)
- 방법: Headless Node.js 환경에서 자동화 검증 스크립트 실행
- 검증 기준:
- 남한산성터널 포장폭: 정확히
11,300\,\text{mm}산출 여부 - 좌측 Ditch:
dw=100\,\text{mm},dh=150\,\text{mm},bcw=550\,\text{mm} - 배수콘크리트 두께: 좌
530\,\text{mm}, 우500\,\text{mm} - 우측 공동구 바닥폭
640\,\text{mm}, 하부 챔퍼130 \times 545\,\text{mm}반영 여부
- 남한산성터널 포장폭: 정확히
4.2 단계 2: 기하 형상 솔리드 폐합 검증 (Watertight Solid Check)
- 방법: Rhino 3DM 및 Wavefront OBJ 내보내기 파일 검사
- 검증 기준:
lid_L,lid_R프리캐스트 뚜껑의 3차원 루프 정상 생성 여부- 라이닝 링과 바닥 슬래브 간 자기교차(Self-intersection) 및 틈새(Gap)
0.01\,\text{mm}이하 검증
4.3 단계 3: UI 렌더링 및 저작권 무결성 검증 (UI/Visual Acceptance)
- 방법: 브라우저 실행 후 2D/3D 캔버스 뷰 육안 검사
- 검증 기준:
- 뷰포트 우측 하단 및 하단 상태바에 크레딧 표시:
Developed by m12205.tdc.hanmacgroup@gmail.com · © 2026 - 2D 캔버스 내보내기 시 좌측 하단 워터마크 자동 인자 확인
- 뷰포트 우측 하단 및 하단 상태바에 크레딧 표시:
5. 허용 오차 기준 및 판정표 (Acceptance Criteria)
| 검증 항목 | 설계 기준값 (남한산성) | 허용 오차 | 실제 측정값 | 판정 |
|---|---|---|---|---|
| 포장 전체 폭 | 11,300\,\text{mm} |
\pm 0\,\text{mm} |
11,300\,\text{mm} |
PASS |
| 차로 구성 | 3,600 \times 3\,\text{mm} |
\pm 0\,\text{mm} |
3,600+3,600+3,600\,\text{mm} |
PASS |
| 좌 / 우 측대폭 | 250\,\text{mm} / 250\,\text{mm} |
\pm 0\,\text{mm} |
250\,\text{mm} / 250\,\text{mm} |
PASS |
| 좌측 Ditch 규격 | 폭 100, 깊이 148/150 |
\pm 1\,\text{mm} |
폭 100, 깊이 150\,\text{mm} |
PASS |
| 우측 배수콘 폭 | 550\,\text{mm} |
\pm 1\,\text{mm} |
550\,\text{mm} |
PASS |
| 배수콘 두께 (좌/우) | 530\,\text{mm} / 500\,\text{mm} |
\pm 1\,\text{mm} |
530\,\text{mm} / 500\,\text{mm} |
PASS |
| 좌측 공동구 내공 | 500 \times 640 (바닥 450) |
\pm 1\,\text{mm} |
500 \times 640 (바닥 450) |
PASS |
| 우측 공동구 내공 | 770 \times 940 (바닥 640) |
\pm 1\,\text{mm} |
770 \times 940 (바닥 640) |
PASS |
| 종배수관 직경 | \varnothing 300\,\text{mm} |
\pm 0\,\text{mm} |
\varnothing 300\,\text{mm} |
PASS |
6. 향후 일정 및 검증 보고 산출물
- 테스트 자동화 CI 스크립트화:
- 도면 파일 추가 시
verify_all.js를 통해 모든 터널 단면 자동 회귀 테스트 수행
- 도면 파일 추가 시
- 검증 보고서(Validation Report) Gitea 등록:
- 검증 결과를 마크다운 및 PDF 보고서로 변환하여 원격 저장소(
hylee4/Tunnel3D)의 Release/Docs로 관리
- 검증 결과를 마크다운 및 PDF 보고서로 변환하여 원격 저장소(
- 설계 변경 이력 추적:
- Gitea MCP Issue 도구를 활용하여 각 터널별 검증 이슈 생성 및 이력 영구 보존