fix: [fire-shutter] ① 마감재 좌측 절곡 순서 수정

- 120→body 좌단에서 13↓tab, tab 하단에서 10←lip
- 기존: lip/tab이 body와 같은 Y에 위치 (잘못됨)
- 수정: body→tab→lip 순서로 ㄴ자 절곡 (도면 기준)
- 하단도 미러 적용 (13↑tab, tab 상단에서 10←lip)
This commit is contained in:
김보곤
2026-03-16 08:21:22 +09:00
parent d7a1d90f6c
commit af8a9184aa

View File

@@ -1204,26 +1204,28 @@ function renderGrCross() {
// ② 상단 플랜지 바로 위를 감싸는 형태
// ══════════════════════════════════════════
const tTop = by - t1; // ② 상단 플랜지 바로 위
// (a) 좌측 코킹립 10mm: 수평 좌측 돌출
P.push(`<rect x="${trimLipX}" y="${tTop}" width="${m1lip}" height="${t1}" fill="${cTrim}" stroke="${cTrim}" stroke-width="0.3"/>`);
// (b) 좌측 절곡탭 13mm: lip 좌측 끝에서 아래로
P.push(`<rect x="${trimLipX}" y="${tTop}" width="${t1}" height="${m1tab}" fill="${cTrim}" stroke="${cTrim}" stroke-width="0.3"/>`);
// (c) 본체 수평부 120mm: lip 우측(bx)에서 우측으로
P.push(`<rect x="${trimLipX + m1lip}" y="${tTop}" width="${m1body}" height="${t1}" fill="${cTrim}" stroke="${cTrim}" stroke-width="0.3"/>`);
// ── 상단 ① 경로: 120→body + 13↓tab + 10←lip ── (우측: 25↓ + 15←)
// (a) 본체 수평부 120mm
P.push(`<rect x="${bx}" y="${tTop}" width="${m1body}" height="${t1}" fill="${cTrim}" stroke="${cTrim}" stroke-width="0.3"/>`);
// (b) 좌측 절곡탭 13mm: body 좌단에서 아래로
P.push(`<rect x="${bx}" y="${tTop}" width="${t1}" height="${m1tab}" fill="${cTrim}" stroke="${cTrim}" stroke-width="0.3"/>`);
// (c) 좌측 코킹립 10mm: tab 하단에서 좌측으로
P.push(`<rect x="${bx - m1lip}" y="${tTop + m1tab - t1}" width="${m1lip + t1}" height="${t1}" fill="${cTrim}" stroke="${cTrim}" stroke-width="0.3"/>`);
// (d) 우측 수직 절곡 25mm: body 우측 끝에서 아래로
P.push(`<rect x="${trimRightX - t1}" y="${tTop}" width="${t1}" height="${m1e25}" fill="${cTrim}" stroke="${cTrim}" stroke-width="0.3"/>`);
// (e) 우측 수평 리턴 15mm: 25mm 끝에서 좌측으로
P.push(`<rect x="${trimRightX - m1e15}" y="${tTop + m1e25 - t1}" width="${m1e15}" height="${t1}" fill="${cTrim}" stroke="${cTrim}" stroke-width="0.3"/>`);
// ══════════════════════════════════════════
// ① 마감재 SUS 1.2T (빨간색) — 하단 장
// 경로: 10←lip + 13↑tab + 120→body + 25↑ + 내부스텝(19← + 14↓ + 15←)
// ① 마감재 하단 — 경로: 120→body + 13↑tab + 10←lip (우측: 25↑+19←+14↓+15←)
// ══════════════════════════════════════════
const tBot = by + b2h; // ② 하단 플랜지 바로 아래
// (a) 좌측 코킹립 10mm: 수평 좌측 돌출
P.push(`<rect x="${trimLipX}" y="${tBot}" width="${m1lip}" height="${t1}" fill="${cTrim}" stroke="${cTrim}" stroke-width="0.3"/>`);
// (b) 좌측 절곡탭 13mm: lip 좌측 끝에서 위로
P.push(`<rect x="${trimLipX}" y="${tBot - m1tab + t1}" width="${t1}" height="${m1tab}" fill="${cTrim}" stroke="${cTrim}" stroke-width="0.3"/>`);
const tBot = by + b2h;
// (a) 본체 수평부 120mm
P.push(`<rect x="${bx}" y="${tBot}" width="${m1body}" height="${t1}" fill="${cTrim}" stroke="${cTrim}" stroke-width="0.3"/>`);
// (b) 좌측 절곡탭 13mm: body 좌단에서 위로
P.push(`<rect x="${bx}" y="${tBot - m1tab + t1}" width="${t1}" height="${m1tab}" fill="${cTrim}" stroke="${cTrim}" stroke-width="0.3"/>`);
// (c) 좌측 코킹립 10mm: tab 상단에서 좌측으로
P.push(`<rect x="${bx - m1lip}" y="${tBot - m1tab}" width="${m1lip + t1}" height="${t1}" fill="${cTrim}" stroke="${cTrim}" stroke-width="0.3"/>`);
// (c) 본체 수평부 120mm: bx에서 우측으로
P.push(`<rect x="${bx}" y="${tBot}" width="${m1body}" height="${t1}" fill="${cTrim}" stroke="${cTrim}" stroke-width="0.3"/>`);
// (d) 우측 수직 절곡 25mm: body 우측 끝에서 위로