Files
sam-docs/history/2025-09/formula-system-analysis.md
hskwon 08a8259313 docs: 5130 레거시 분석 문서 및 기존 문서 초기 커밋
- 5130 레거시 시스템 분석 (00_OVERVIEW ~ 08_SAM_COMPARISON)
- MES 프로젝트 문서
- API/프론트엔드 스펙 문서
- 가이드 및 레퍼런스 문서
2025-12-04 18:47:19 +09:00

8.8 KiB
Raw Blame History

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개

문제없음: 명확한 수학 공식


🚨 수정 결과 및 종합 분석 (업데이트됨 🔄)

해결된 문제점들

  1. 제작사이즈 계산 오류 수정

    • 스크린: W1=W0+160, H1=H0+350 (실제 구현 반영)
    • 철재: W1=W0+110, H1=H0+350 (실제 구현 반영)
  2. 중량 계산 오류 수정

    • 스크린: 복합 계산식 (면적×2) + (W0/1000×14.17) 반영
  3. 모터 용량 산정 전면 수정

    • 샤프트별 중량 매트릭스로 전환
    • 실제 5130 구현 로직 반영
  4. 샤프트 규격 결정 단순화

    • W1 기준 단순 구간별 분류로 수정
  5. 각파이프 계산식 발견 및 문서화

    • P = W1 + (3000 × 각파이프수량) 공식 발견
    • 전체 계산 로직 체계적 정리

여전히 있는 문제점

  1. 철재용 중량 계산: 실제 구현 미확인
  2. 철재용 모터 용량: 주석 처리된 로직 존재
  3. 케이스 타입 선택: 자동 결정 로직 필요

확인된 정확한 부분

  • 환봉 산출 로직 (실제 구현과 일치)
  • 조인트바 계산 공식 (수학적 정확성)
  • 스크린 전체 산출 체계 (구현 반영 완료)

🛠️ 다음 단계 작업 및 권장사항

즉시 수행 권장

  1. 철재용 중량 계산식 확인

    • 5130 코드에서 철재용 중량 계산 로직 찾기
    • Slat 관련 함수에서 중량 계산 분석
  2. 철재용 모터 로직 구현

    • 주석 처리된 철재 전용 로직 활성화
    • W1과 중량 복합 조건 구현
  3. 케이스 타입 자동 선택 로직

    • 스크린/철재 구분에 따른 자동 선택
    • 500×350 / 650×500 선택 기준 명확화

장기 개선 대상

  1. 전체 산출식 체계를 API로 구현

    • 파라미터 기반 동적 BOM 계산
    • 실시간 견적 예상 시스템 구축
  2. 산출식 검증 및 테스트

    • 기존 5130 대비 정확성 검증
    • 경계값 처리 테스트 케이스 추가

📝 수정 이력

  • 2025-09-22 v1.0: 초기 분석 완료
  • 2025-09-22 v2.0: 5130 실제 구현 비교 및 주요 오류 수정
    • 제작사이즈/중량 계산 오류 수정
    • 모터 용량 산정 체계 전면 개편
    • 각파이프 계산식 실제 구현 발견 및 반영
    • 샤프트 규격 결정 로직 단순화