- 5130 레거시 시스템 분석 (00_OVERVIEW ~ 08_SAM_COMPARISON) - MES 프로젝트 문서 - API/프론트엔드 스펙 문서 - 가이드 및 레퍼런스 문서
8.8 KiB
8.8 KiB
SAM 산출식 시스템 분석 문서
작성일: 2025-09-22 버전: 2.0 (수정됨 🔄) 목적: SAM 프로젝트 전체 산출식 체계 정리, 5130 실제 구현 반영 및 오류 수정
📋 전체 산출식 개요
기본 입력 파라미터
- W0 (오픈사이즈 폭), H0 (오픈사이즈 높이)
- 설치방식, 전원방식
- 제품타입: 스크린/철재
산출 흐름도
W0, H0 → W1, H1 (제작사이즈) → 면적, 중량(K) → 각종 부자재 수량
↓
모터용량 → 샤프트규격 → 감기샤프트
↓
브라켓, 가이드레일, 케이스, 하단마감, 각파이프
↓
환봉(스크린전용), 조인트바
1. 오픈사이즈 → 제작사이즈/중량 계산
제작사이즈 계산 (수정됨 🔄)
실제 5130 구현 기준:
- 스크린: W1 = W0 + 160, H1 = H0 + 350
- 철재: W1 = W0 + 110, H1 = H0 + 350
변수 설정:
- makeWidth: 160 (스크린) / 110 (철재)
- makeHeight: 350 (공통)
중량 계산 (수정됨 🔄)
스크린 (실제 구현):
- 면적(㎡) = W1 × H1 ÷ 1,000,000
- 중량(kg) = (면적 × 2) + (W0 ÷ 1000 × 14.17)
철재 (추정):
- 면적(㎡) = W1 × H1 ÷ 1,000,000
- 중량(kg) = 면적 × 40 (기존 공식 유지)
2. 모터 용량 산정 (전면 수정됨 🔄)
실제 구현: 샤프트별 중량 매트릭스
스크린용 모터 (5130 실제 로직):
| 샤프트 | 150K | 300K | 400K | 500K | 600K | 800K | 1000K |
|---|---|---|---|---|---|---|---|
| 4인치 | ≤150kg | 151-300kg | 301-400kg | - | - | - | - |
| 5인치 | ≤123kg | 124-246kg | 247-327kg | 328-500kg | 501-600kg | - | - |
| 6인치 | ≤104kg | 105-208kg | 209-300kg | 301-424kg | 425-508kg | 509-800kg | 801-1000kg |
샤프트 규격 결정 (수정됨 🔄)
스크린 기준:
- W1 ≤ 6000: 4인치
- 6000 < W1 ≤ 8200: 5인치
- W1 > 8200: 미정의 (0)
철재용 모터: 별도 구현 필요 (주석 처리된 로직 존재)
3. 브라켓 및 지지각도
브라켓 수량
| 제작사이즈 폭 (W1) | 브라켓 수량 |
|---|---|
| ~3000 | 2개 |
| 3001~6000 | 3개 |
| 6001~9000 | 4개 |
| 9001~12000 | 5개 |
지지각도
- 수량: 브라켓 수량와 동일
- 길이: H1 + 200
4. 가이드레일 및 연기차단막
가이드레일
- 수량: 2개 (양쪽)
- 길이: H1 + 200
연기차단막 (높이 3000 이상인 경우)
- 조건: H1 ≥ 3000
- 면적: W1 × (H1 - 3000) ÷ 1,000,000 (㎡)
5. 케이스(셔터박스) 구성품
케이스 사이즈
- 스크린: 500 × 350
- 철재: 650 × 500
구성품 계산
- 상판: W1 × 500 (스크린) / W1 × 650 (철재)
- 측판: 500 × 350 × 2개 (스크린) / 650 × 500 × 2개 (철재)
- 전면판: (W1 - 10) × 350 (스크린) / (W1 - 10) × 500 (철재)
- 후면판: (W1 - 10) × 350 (스크린) / (W1 - 10) × 500 (철재)
🚨 문제점: 케이스 타입(500×350 vs 650×500) 선택 기준 미정의
6. 하단마감 자재
자재 계산
- 하단레일: W1 길이
- 하단씰: W1 길이
- 하단브라켓: W1 ÷ 300 (올림)
- 결속끈: W1 ÷ 200 (올림)
- 하단스토퍼: 2개
7. 감기샤프트 (스크린용/철재용) (수정됨 🔄)
스크린용 감기샤프트 (실제 구현)
샤프트 규격 결정 (단순화됨)
- 4인치: W1 ≤ 6000
- 5인치: 6000 < W1 ≤ 8200
- 미정의: W1 > 8200
메인샤프트 수량 계산
4인치 샤프트:
- W1 ≤ 3050: 1개 × 수량
- 3050 < W1 ≤ 4550: 1개 × 수량
- 4550 < W1 ≤ 6050: 1개 × 수량
5인치 샤프트:
- 0 < W1 ≤ 6050: 1개 × 수량
- 6050 < W1 ≤ 7050: 1개 × 수량
- W1 > 7050: 1개 × 수량
보조샤프트 (3인치)
- 규격: 항상 3인치
- 수량: 1개 × 수량
철재용 감기샤프트
- 규격 결정: W1과 중량(K) 두 조건 모두 만족해야 함
- 자재: 통자재 1개만 사용 (조합 불가)
| W1 구간 | 중량(K) 구간 | 샤프트 규격 |
|---|---|---|
| 0 < W1 ≤ 4500 | K ≤ 400 | 4인치 |
| 0 < W1 ≤ 4500 | 400 < K ≤ 600 | 5인치 |
| 4500 < W1 ≤ 5600 | K ≤ 600 | 5인치 |
| 5600 < W1 ≤ 7800 | 600 < K ≤ 800 | 6인치 |
| 5600 < W1 ≤ 8200 | K > 800 | 8인치 |
🚨 문제점: 경계값 처리 (W1=4500, K=400 등) 우선순위 불명확
8. 각파이프 자재 (실제 구현 발견 🔄)
기본 정보
- 자재 규격: 3000mm, 6000mm
- 계산 기준: col67 (상수길이 P)
- P 계산식: P = W1 + (3000 × 각파이프 수량)
실제 구현된 계산식
각파이프 수량 결정 (col66)
col66 = (W1 ≤ 1600) ? 3 :
(W1 ≤ 2800) ? 4 :
(W1 ≤ 4000) ? 5 :
(W1 ≤ 5200) ? 6 :
(W1 ≤ 6400) ? 7 :
(W1 ≤ 7600) ? 8 :
(W1 ≤ 8800) ? 9 : 0
상수길이 P 계산 (col67)
P = W1 + (3000 × col66)
최종 수량 계산 (col68-69)
3000mm 자재 (col68):
- P ≤ 9000: 3 × 수량
- 9000 < P ≤ 12000: 4 × 수량
- 12000 < P ≤ 15000: 5 × 수량
- 15000 < P ≤ 18000: 6 × 수량
6000mm 자재 (col69):
- 18000 < P ≤ 24000: 4 × 수량
- 24000 < P ≤ 30000: 5 × 수량
- 30000 < P ≤ 36000: 6 × 수량
- 36000 < P ≤ 42000: 7 × 수량
- 42000 < P ≤ 48000: 8 × 수량
✅ 문제 해결: 실제 구현된 계산식 발견 및 문서화 완료
9. 환봉 (스크린 전용)
기본 정보
- 대상: 스크린 셔터만
- 자재 규격: 3000mm 고정
- 계산 기준: 제작사이즈 W1
수량표
| 제작사이즈 W1 구간 | 자재 규격 | 수량 |
|---|---|---|
| 0 < W1 ≤ 3000 | 3000mm | 1개 |
| 3000 < W1 ≤ 6000 | 3000mm | 2개 |
| 6000 < W1 ≤ 9000 | 3000mm | 3개 |
| 9000 < W1 ≤ 12000 | 3000mm | 4개 |
✅ 문제없음: 명확한 구간별 수량 정의
10. 조인트바
계산 공식
조인트바 수량 = 2 + FLOOR((W1 - 500) / 1000)
설치 기준
- 기본 2개: 양 끝 250mm 지점 고정
- 추가 설치: 중앙 여유공간(W1-500) 내 1000mm 간격
예시
| W1 | 중앙 여유공간 | 추가 수량 | 총 수량 |
|---|---|---|---|
| 1500 | 1000 | 1 | 3개 |
| 2500 | 2000 | 2 | 4개 |
| 3500 | 3000 | 3 | 5개 |
✅ 문제없음: 명확한 수학 공식
🚨 수정 결과 및 종합 분석 (업데이트됨 🔄)
✅ 해결된 문제점들
-
제작사이즈 계산 오류 수정
- 스크린: W1=W0+160, H1=H0+350 (실제 구현 반영)
- 철재: W1=W0+110, H1=H0+350 (실제 구현 반영)
-
중량 계산 오류 수정
- 스크린: 복합 계산식 (면적×2) + (W0/1000×14.17) 반영
-
모터 용량 산정 전면 수정
- 샤프트별 중량 매트릭스로 전환
- 실제 5130 구현 로직 반영
-
샤프트 규격 결정 단순화
- W1 기준 단순 구간별 분류로 수정
-
각파이프 계산식 발견 및 문서화
- P = W1 + (3000 × 각파이프수량) 공식 발견
- 전체 계산 로직 체계적 정리
❌ 여전히 있는 문제점
- 철재용 중량 계산: 실제 구현 미확인
- 철재용 모터 용량: 주석 처리된 로직 존재
- 케이스 타입 선택: 자동 결정 로직 필요
✅ 확인된 정확한 부분
- 환봉 산출 로직 (실제 구현과 일치)
- 조인트바 계산 공식 (수학적 정확성)
- 스크린 전체 산출 체계 (구현 반영 완료)
🛠️ 다음 단계 작업 및 권장사항
즉시 수행 권장
-
철재용 중량 계산식 확인
- 5130 코드에서 철재용 중량 계산 로직 찾기
- Slat 관련 함수에서 중량 계산 분석
-
철재용 모터 로직 구현
- 주석 처리된 철재 전용 로직 활성화
- W1과 중량 복합 조건 구현
-
케이스 타입 자동 선택 로직
- 스크린/철재 구분에 따른 자동 선택
- 500×350 / 650×500 선택 기준 명확화
장기 개선 대상
-
전체 산출식 체계를 API로 구현
- 파라미터 기반 동적 BOM 계산
- 실시간 견적 예상 시스템 구축
-
산출식 검증 및 테스트
- 기존 5130 대비 정확성 검증
- 경계값 처리 테스트 케이스 추가
📝 수정 이력
- 2025-09-22 v1.0: 초기 분석 완료
- 2025-09-22 v2.0: 5130 실제 구현 비교 및 주요 오류 수정
- 제작사이즈/중량 계산 오류 수정
- 모터 용량 산정 체계 전면 개편
- 각파이프 계산식 실제 구현 발견 및 반영
- 샤프트 규격 결정 로직 단순화