--- type: page-feature status: stable page_id: B06_Section related_pages: ["[[B06_Section/B06_culvert_set]]", "[[B06_Section/B06_culvert_controls]]", "[[B06_Section/B06_culvert_basin_multitier]]", "[[B06_Section/B06_frontend]]"] last_updated: 2026-08-22 source: ["docs/raw/plans/2026-08-22_plan_B06_배수관_구조물_기하_조작_체계.md", "docs/raw/plans/2026-08-22_plan_B06_집수정_조정_계류측_성토부.md", "docs/raw/verification/2026-08-22_verify_B06_배수관_구조물_기하_조작_체계_자체검증근거.md"] --- # B06 배수관 구조물 기하·조작 체계 8월 20일 배수관 세트의 비대칭·접점 어긋남·벽 뜸을 계기로 자동 배치, 4축 조작, 집수정 형식, 다단 기슭막이, 관 접속선을 하나의 기하 체계로 재정립했다. 기존 데이터 흐름은 [[B06_Section/B06_culvert_set]], 조작은 [[B06_Section/B06_culvert_controls]], 집수정·다단은 [[B06_Section/B06_culvert_basin_multitier]]을 따른다. ## 기슭막이·관 핵심 규칙 | 항목 | 규칙 | |---|---| | 자동 자리 | 표준 높이 벽으로 물매 1:1.2가 성립하는 노폭 최소 지점, 실패 시 사면 끝 | | 성토 물매 | 1:1.2 고정, 벽이 밖으로 나간 만큼 노폭 연장 | | 계산 높이 | 근입 0.5m 위 기준선부터 상단까지; 근입은 높이 한계에서 제외 | | 하단선 | 수평 기초, 전면 발끝 기준 근입 0.5m 확보 | | 이동 중심·두께 | 하단선 중점, 두께 0.45m 고정 | | 바닥 이격 | 조작 결과 뜬 바닥 허용; 하부 지지 구조물은 후속 | | 관 끝점 | 실제 바닥 +0.5m 기준선과 전면 1:0.3 경사선의 교차점 | | 관 길이 | 긴 변 기준 정수 m, 이동 단위 1m | ## 접속선 | 위치 | 조건 | 처리 | |---|---|---| | 유입 기슭막이 | 관 하단이 지반 위 | 계류 쪽으로 오르는 3° 성토선, 지반 교차에서 종료 | | 유입 기슭막이 | 관 하단이 지반 아래 | 3° 직선 1m 후 표준 절토 경사로 지반 접속 | | 유입 집수정 I형 | 관 하단이 지반 위 | 3° 되메움선으로 지반 접속 | | 유입 집수정 I형 관 시작 | 항상 | 벽 안쪽 변과 원지반의 교차점을 이분법으로 계산 | | 최종 유출 | 시작점이 지반 위 | 1:1.2 성토부선 | | 최종 유출 | 시작점이 지반 아래 | 3° 절토선, 교차가 없으면 이동 금지 | 모든 끝점은 스캔 격자가 아닌 선형 보간 교차점이다. ## 설계선 트림 배수관 레이아웃이 `minSlope` 또는 `maxSlope` 폴리라인을 제공한 쪽은 설계선을 벽 상단에 강제 스냅하지 않고 폴리라인 시작점인 노견에서 끊는다. 집수정 이동 시 트림 경계에 남던 수직 급경사와 길이 0 중복 꼭짓점을 제거한다. ## 구현 파일 | 항목 | 위치 | 역할 | |---|---|---| | `computeCulvertLayout()` | `B06_Section/B06_Section_UI_Cross_Culvert_Geom.ts` | 전체 배수관 구조물 기하 조합 | | `B06_Section_UI_Cross_Culvert_Solve.ts` | `B06_Section/` | 자리·클램프·교차 풀이 | | `B06_Section_UI_Cross_Culvert_Basin.ts` | `B06_Section/` | 집수정 형상 | | `B06_Section_UI_Cross_Culvert_Extra.ts` | `B06_Section/` | 추가 기슭막이 계산 | | `B06_Section_UI_Cross_Culvert_Wire.ts` | `B06_Section/` | 3° 접속선 계산 | | `appendCulvertOverlay()` | `B06_Section/B06_Section_UI_Cross_Culvert.ts` | SVG 표시 | ## 검증 상태 개발 담당 AI는 두 기준 측점의 화면·SVG·모듈 수치 검증, `tsc --noEmit`, pytest 148 passed·7 skipped를 기록했다. 집수정 조정 후 네 측점의 급경사 세그먼트 0건과 `Geom` 673줄·B06 700줄 초과 0건이 추가 기록됐고 사용자가 화면에서 승인했다. 사용자 지시에 따라 위키 관리자의 2차 교차검증은 생략했다. 외부 기준 없는 수치는 [[B06_Section/B06_culvert_basin_multitier]]과 [[B06_Section/B06_culvert_controls]], 리팩터링 결과는 [[B06_Section/B06_frontend]]과 [[B06_Section/B06_backend]]를 따른다.