--- type: page-feature status: stable page_id: B06_Section related_pages: ["[[B06_Section/B06_culvert_geometry_redesign]]", "[[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 배수관 구조물 조작·표시 ## 4축 조작과 재질 | 축 | 동작 | 한계 | |---|---|---| | 좌우 | 노견을 수평 연장해 평행이동, 물매·상단 표고 유지 | 자동 자리보다 안쪽 금지 | | 상하 | 성토선을 따라 수평 성분 1m씩 대각 이동 | 최소 성토고 0.3m, 유입·유출 invert 상한 | | 높이 | 0.1m 단위, 기본 2.0m | 하한 `max(2.0, 관경+여유고)`, 재질별 상한 | | 재질 | 메쌓기·찰쌓기·콘크리트 | 높이 상한 2.0m·3.0m·5.0m(콘크리트 5.0m는 사용자 확정 프로젝트 기본값) | 기본 재질은 메쌓기다. 유입을 내릴 때 유출이 수용하지 못하면 `outletGuard`가 유입 이동도 제한한다. ## 조정창 | 항목 | 동작 | |---|---| | 행 구성 | 구조물 형식, 재질, 높이, 추가 기슭막이 단 수, 이동을 각각 라벨·조작 2행으로 표시 | | 이동 | ▲·▼·◀·▶ 십자, 중앙 초기화, 우측 하단 등간격 버튼 | | 정보 | 관 길이·좌우·상하 값을 한 행씩 표시, 조작 전은 `자동` | | 안내 | 이동·높이·단 수 한계에서 토스트 표시 | ## 집수정 9키 조작 | 위치 | 동작·제약 | |---|---| | 십자 축 | 화면 기준 ◀▶ 좌우, ▲▼ 1:1.2 사면 대각 이동 | | 네 모서리 | ㄴ·ㄷ형 내공 폭·높이 0.1m 조정; I형은 숨김 | | 가운데 | 해당 측점 집수정 조정값 초기화 | | 좌우 하한 | 노견 안쪽 음수 이동을 0에서 제한하고 토스트 표시 | | I형 한계 | `clampBasinMove`가 0.1m씩 되돌려 정수 관 길이가 변하지 않는 범위까지만 적용 | | 저장 | 측점별 세션과 백엔드 `design.basin_adjust`에 폭·높이·좌우·상하 영구저장 | ## 계산·보기 분리 - 기하 계산은 전처리 전체 횡단 샘플을 사용한다. - 좌측 패널 횡단 반폭은 보기 전용이다. - 구조물 없는 설계선 접점이 표시 범위 밖이면 카드만 자동 줌아웃한다. - 조정창 조작으로 다시 그려도 카드 줌·팬 상태를 유지한다. ## 자체검증 기록 | 항목 | 결과 | |---|---| | 바깥 2m 이동 | 노폭 +2.00m, 물매 1.200 유지 | | 상하 과요청 | −5.7m에서 제한·토스트 | | 재질 높이 | 메 2.0m, 찰 3.0m, 콘크리트 5.0m 확인 | | 카드 줌 | 2.65배 상태에서 조작 후 transform 유지 | | 표시 반폭 | 13+15.7=6.40m, 4+4.3=6.25m | | I형 이동 | 4+4.3은 0.7m·관 8m, 13+15.7은 0.4m·관 14m에서 제한 | ## 구현 파일 | 항목 | 위치 | 역할 | |---|---|---| | `B06_Section_UI_Cross_Structure_Panel.ts` | `B06_Section/` | 조정창과 세션 상태 | | `B06_Section_UI_Cross_View_Zoom.ts` | `B06_Section/` | 카드 줌·팬 | | `B06_Section_UI_Page_Station_Controls.ts` | `B06_Section/` | 카드·측점 선택 제어 |