diff --git a/B06_Section/B06_Section_UI_Cross_Culvert_Const.ts b/B06_Section/B06_Section_UI_Cross_Culvert_Const.ts index de1ad3f2..b24f6aa0 100644 --- a/B06_Section/B06_Section_UI_Cross_Culvert_Const.ts +++ b/B06_Section/B06_Section_UI_Cross_Culvert_Const.ts @@ -79,12 +79,14 @@ export const REVET_EMBED_DEPTH_M = 0.5; * 돌 **찰쌓기 3.0m 이하**, 돌 **메쌓기 2.0m 이하**(교본 7-3 돌흙막이 기준), * 돌망태 2m 정도. 큰돌쌓기는 총높이 한계 없음(1일 시공 1.5m 제한만). * 초과 시 콘크리트 옹벽 등 상위 구조물 검토 대상이다. + * 통나무·목재틀·바자는 지식DB에 수치가 없어 **2.0m**로 둔다(2026-08-29 사용자 확정). */ export function revetHeightLimit(form: string | null | undefined): number { if (!form) return 3.0; if (form.includes("메")) return 2.0; if (form.includes("찰")) return 3.0; if (form.includes("돌망태")) return 2.0; + if (form.includes("통나무") || form.includes("목재") || form.includes("바자")) return 2.0; if (form.includes("콘크리트")) return 5.0; // 프로젝트 확정값 — materialLimit과 동일 return 3.0; } diff --git a/B06_Section/B06_Section_UI_Cross_View.ts b/B06_Section/B06_Section_UI_Cross_View.ts index 945ec6e7..e4b20ca1 100644 --- a/B06_Section/B06_Section_UI_Cross_View.ts +++ b/B06_Section/B06_Section_UI_Cross_View.ts @@ -640,13 +640,16 @@ export function createCrossSectionCard( setChipActive = readout.setActive; // 구조물 조정은 도면 안 오버레이 창(2026-08-21). 화면 좌(◀) = offset 증가 — // 벽 기준 이동량(outward 부호)으로 환산해 넘긴다. + // 유입측 벽 — 기준벽과 유입측 다단(bextra). 빼먹으면 그 벽만 좌우가 뒤집힌다. + const inletSideRole = (role: RevetKey): boolean => + role === "inlet" || role.startsWith("bextra"); const outwardOf = (role: RevetKey): number => // 독립 기슭막이는 배관 유입/유출과 무관 — 정본 설치 측(좌 = +offset)으로 부호를 잡는다. role === "own" ? section.revetment?.side === "우" ? -1 : 1 - : ((section.uphill_side ?? "left") === "left") === (role === "inlet") + : ((section.uphill_side ?? "left") === "left") === inletSideRole(role) ? 1 : -1; const heightOfWall = (key: RevetKey): number => culvertWallSpecs.get(key)?.height ?? 0;