diff --git a/resources/views/rd/fire-shutter-drawing/index.blade.php b/resources/views/rd/fire-shutter-drawing/index.blade.php
index 77ec83fb..ffee72fa 100644
--- a/resources/views/rd/fire-shutter-drawing/index.blade.php
+++ b/resources/views/rd/fire-shutter-drawing/index.blade.php
@@ -1057,14 +1057,14 @@ function renderGrCross() {
// ====== 철재스라트: 가이드레일 평면도 (130mm × 75mm 결합도) ======
// LEFT = 방화벽(벽쪽), RIGHT = 개구부(실내쪽, 슬랫 통과)
- // ① 마감재 SUS 1.2T (빨간색) - ② 바깥을 감싸는 외피, 상하 2장
+ // ① 마감재 SUS 1.2T (빨간색) - 바깥을 감싸는 외피, 상하 2장
// 상단: 10←lip + 13↓tab + 120→body + 25↓ + 15←
// 하단: 10←lip + 13↑tab + 120→body + 25↑ + 내부스텝(19← + 14↓ + 15←)
- // ② 본체 EGI 1.55T (회색) - 메인 C채널, 개구부가 RIGHT
- // 외형: 90mm(가로) × 72mm(세로), 좌측벽 72mm, 상/하단 플랜지 90mm
+ // ③ 본체 EGI 1.55T (회색) - 메인 C채널, 개구부가 RIGHT
+ // 외형: 90mm(가로) × 72mm(세로), 좌측벽에 개구부(④ 진입용)
// 우측 상/하부 립 각 21mm, 내부 계단구조
- // ③ C형 EGI 1.55T (주황색) - ② 내부 좌측 상단에 위치, 30-45-30 ㄷ자(우측열림)
- // ④ 벽연형 EGI 1.55T (갈색) - ② 좌측에 위치, 벽과 연결, 30-45-30 ㄷ자(우측열림)
+ // ④ 벽연형 EGI 1.55T (갈색) - ㄷ자(우측열림), 플랜지가 ③ 좌측 개구부로 진입
+ // 벽에 부착, 30-45-30, 세로 중앙 정렬
{
const sc = 4; // px per mm (확대하여 철판 비율 현실적)
const t = g.thickness * sc; // 1.55mm → 6.2px (EGI)
@@ -1121,37 +1121,43 @@ function renderGrCross() {
const P = []; // SVG 부재 요소 배열
// ══════════════════════════════════════════
- // ══════════════════════════════════════════
- // ④ C형 보강 EGI 1.55T (갈색, ㄷ자 30-45-30 우측열림)
- // 벽 우측면에 부착, 세로 중앙 정렬
- // ══════════════════════════════════════════
- const w4cy = by + (b2h - w4height) / 2;
- P.push(``);
- P.push(``);
- P.push(``);
-
- // ══════════════════════════════════════════
- // ② 본체 EGI 1.55T (15세그먼트 절곡, 체이닝 좌표)
+ // ② 본체 EGI 1.55T (절곡 프로파일, 체이닝 좌표)
// 프로파일 좌표: (0,0)=좌상단, 90×72mm
- // 시작/끝: (0,60), Seg1·Seg15(10←) 립 겹침
+ // 좌측벽에 개구부가 있어 ④가 진입하는 구조
// ══════════════════════════════════════════
+ // ④ 세로 중앙 정렬 위치 (본체 좌표계 기준)
+ const w4TopInBody = (72 - 45) / 2; // 13.5mm: ④ 상단 (본체 기준)
+ const w4BotInBody = w4TopInBody + 45; // 58.5mm: ④ 하단 (본체 기준)
{
- const ox2 = w4x + w4depth + (10 + 0.75) * sc; // ② 좌측벽 = ④ 끝 + 10mm + 0.75(반두께)
+ const ox2 = bx; // ② 좌측벽 = ① 마감재 body 좌측 (④가 개구부로 진입)
const oy2 = by; // ② 상단
const c = cBody, s = '#94a3b8';
// 프로파일 좌표 → SVG 좌표 변환
function r(x,y,w,h,op) {
P.push(``);
}
- // 벤드포인트 체이닝 (프로파일 좌표 mm 단위)
- // B0=(0,60) → Seg1(10→) → (10,60): 립 우측(채널 안쪽)
+ // ── 좌측벽: ④ 개구부로 인해 상/하 분리 ──
+ // 좌측벽 상부: (0,0) → (0,13.5) — ④ 위쪽
+ r(0, 0, 1.55, w4TopInBody);
+ // 좌측벽 하부: (0,58.5) → (0,72) — ④ 아래쪽
+ r(0, w4BotInBody, 1.55, 72 - w4BotInBody);
+ // 립: (0,60) → (10,60) — 좌측 립 (하부 벽 구간 내)
r(0, 60-0.75, 10, 1.55);
- // B0=(0,60) → Seg2(60↑) → (0,0): 좌측벽 상부
- r(0, 0, 1.55, 60);
+ r(0, 60, 10, 1.55);
+
+ // ── 상단/하단 플랜지 ──
// (0,0) → Seg3(90→) → (90,0): 상단 플랜지
r(0, 0, 90, 1.55);
+ // (90,72) → Seg13(90←) → (0,72): 하단 플랜지
+ r(0, 72-1.55, 90, 1.55);
+
+ // ── 우측 립 ──
// (90,0) → Seg4(21↓) → (90,21): 상부 립
r(90-1.55, 0, 1.55, 21);
+ // (90,51) → Seg12(21↓) → (90,72): 하부 립
+ r(90-1.55, 51, 1.55, 21);
+
+ // ── 내부 계단 구조 ──
// (90,21) → Seg5(15←) → (75,21): 스텝
r(75, 21, 15, 1.55, 1);
// (75,21) → Seg6(15↓) → (75,36): 스텝
@@ -1166,16 +1172,20 @@ function r(x,y,w,h,op) {
r(12, 21, 1.55, 30, 1);
// (12,51) → Seg11(78→) → (90,51): 내부 선반
r(12, 51, 78, 1.55);
- // (90,51) → Seg12(21↓) → (90,72): 하부 립
- r(90-1.55, 51, 1.55, 21);
- // (90,72) → Seg13(90←) → (0,72): 하단 플랜지
- r(0, 72-1.55, 90, 1.55);
- // (0,72) → Seg14(12↑) → (0,60): 좌측벽 하부
- r(0, 60, 1.55, 12);
- // (0,60) → Seg15(10→) → (10,60): 끝 립 (Seg1과 겹침)
- r(0, 60, 10, 1.55);
}
+ // ══════════════════════════════════════════
+ // ④ 벽연형 EGI 1.55T (갈색, ㄷ자 30-45-30 우측열림)
+ // 벽 우측면에 부착, 플랜지가 본체 좌측 개구부로 진입
+ // ══════════════════════════════════════════
+ const w4cy = by + w4TopInBody * sc;
+ // 좌측 벽 (④ 좌벽)
+ P.push(``);
+ // 상단 플랜지 — 본체 개구부로 진입 (w4x → w4x + w4depth)
+ P.push(``);
+ // 하단 플랜지 — 본체 개구부로 진입
+ P.push(``);
+
// ══════════════════════════════════════════
// ① 마감재 SUS 1.2T (빨간색) — 상단 장
// 경로: 10←lip + 13↓tab + 120→body + 25↓ + 15←
@@ -1263,9 +1273,11 @@ function r(x,y,w,h,op) {
const lb1x = bx + m1body / 2, lb1y = tTop - 12;
labels += ``;
labels += `①`;
- // (② 라벨 — 제거)
- // (③ C형 라벨 — 생략)
- // ④ C형 보강 라벨
+ // ③ 본체 라벨 (본체 내부 상단 중앙)
+ const lb3x = bx + 45 * sc, lb3y = by + 10 * sc;
+ labels += ``;
+ labels += `③`;
+ // ④ 벽연형 라벨
const lb4x = w4x + w4depth / 2, lb4y = w4cy + w4height / 2;
labels += ``;
labels += `④`;