
컷 리스트 최적화 도구 vs 엑셀: 스프레드시트로는 부족할 때
Excel은 대부분의 사람들이 재단 목록을 정리할 때 가장 먼저 찾는 도구입니다. 이유는 충분합니다 — 이미 사용법을 알고 있고, 모든 컴퓨터에 설치되어 있으며, 치수가 포함된 부품 표는 스프레드시트 문제처럼 느껴지기 때문입니다. 하지만 그 부품들이 시트에 어떻게 맞는지 파악하려는 순간, Excel은 한계에 부딪힙니다.
모든 목공 포럼, 모든 제조 Q&A 게시판, 모든 Excel 도움말 커뮤니티에는 동일한 스레드가 있습니다. 누군가 부품 이름, 길이, 너비, 수량이 담긴 스프레드시트를 올리고 이렇게 묻습니다. "Excel이 이 부품들을 원자재 시트에서 가장 효율적으로 재단하는 방법을 알려주게 하려면 어떻게 해야 하나요?"
답변은 "Solver를 사용하세요"부터 "VBA 매크로를 작성하세요", "불가능합니다 — 전용 소프트웨어를 사용하세요"까지 다양합니다. 진실은 그 중간 어딘가에 있으며, Excel이 유용하지 않게 되는 정확한 지점을 이해하는 것이 실제 재단 목록 최적화 도구가 필요한 시점을 결정하는 핵심입니다.
Excel이 잘하는 것
Excel의 장점을 인정해 봅시다. 재단 목록 계획의 첫 번째 단계 — 부품 목록 자체를 작성하는 것 — 에서 Excel은 완벽하게 적합합니다. 사실, 꽤 훌륭합니다.
모든 부품을 이름, 길이, 너비, 두께, 수량, 재료 유형, 결 방향, 메모와 함께 나열할 수 있습니다. 수식을 사용하여 총 면적, 총 엣지 밴딩 길이, 예상 재료 비용을 계산할 수 있습니다. 재료별 또는 캐비닛별로 부품을 정렬, 필터링, 그룹화할 수 있습니다. 팀과 스프레드시트를 공유할 수도 있습니다.
부품 목록 — 재단할 항목의 구조화된 표 — 만 필요하다면 Excel로 충분합니다. 이것이 CutGrid(및 대부분의 다른 재단 목록 최적화 도구)가 Excel 및 CSV에서 직접 가져오기를 지원하는 이유입니다. 스프레드시트는 목록을 작성하기에 훌륭한 곳입니다. 다만 레이아웃을 최적화하기에는 적합하지 않습니다.
Excel의 한계
"이 부품들을 시트에 어떻게 배치해야 할까?"라고 묻는 순간, 스프레드시트 수식의 영역을 벗어나 조합 최적화의 영역으로 들어서게 됩니다. 이것이 중요한 이유를 설명합니다.
2D 네스팅 문제는 NP-난해입니다
이것은 단순한 전문 용어가 아닙니다 — 실질적인 의미가 있습니다. "NP-난해"란 가능한 배치의 수가 너무 빠르게 증가하여 적당한 입력값에 대해서도 어떤 컴퓨터도 합리적인 시간 내에 모든 경우를 시도할 수 없다는 것을 의미합니다.
간단한 예를 들어보겠습니다: 단일 시트에 20개의 부품이 있습니다. 각 부품은 어느 위치에나 배치될 수 있고, 대부분은 90° 회전이 가능합니다. 가능한 배치의 수는 천문학적입니다 — 우주의 원자 수보다 훨씬 많습니다. 최적의 배치를 찾으려면 무차별 대입이 아닌 휴리스틱을 사용하여 해 공간을 지능적으로 탐색하는 특수 알고리즘이 필요합니다.
Excel의 Solver 추가 기능은 단순한 선형 최적화 문제를 처리할 수 있습니다. 하지만 회전, 커프 간격, 결 방향, 다중 시트가 포함된 2D 빈 패킹은 선형 문제가 아닙니다. Solver는 이를 전혀 모델링하지 못하거나, 몇 시간 동안 실행한 후 평범한 결과를 내놓습니다.
시각적 레이아웃 없음
Excel에서 어떻게든 최적의 배치를 계산했다 하더라도, 여전히 그것을 그려야 합니다. 재단 목록 최적화 도구는 시각적 재단 다이어그램을 생성합니다 — 각 부품이 각 시트의 어디에 위치하는지, 치수, 부품 레이블, 재단 순서를 보여주는 색상 코드 지도입니다. 이것이 인쇄해서 톱 앞에 가져가는 것입니다.
Excel에서는 차트나 외부 드로잉 도구에서 수동으로 직사각형을 그려야 합니다. 모든 시트에 대해. 치수를 변경하거나 부품을 추가할 때마다.
커프 보정 없음
톱날이 재료를 통과할 때 재료의 일부가 제거됩니다 — 이것이 커프입니다. 일반적인 패널 톱의 커프는 3 – 3.5 mm입니다. 재단 목록 최적화 도구는 인접한 모든 부품 쌍 사이에 이 간격을 자동으로 삽입합니다.
Excel에서는 모든 치수 계산에 커프 여유를 수동으로 추가해야 합니다. 여러 시트에 걸쳐 40개의 부품이 있다면, 수십 개의 추가 수식이 필요하며 — 각각이 잠재적인 오류의 원인이 됩니다. 그리고 커프 값을 변경하면(날을 교체했기 때문에), 모든 수식을 업데이트해야 합니다.
알고리즘 선택 없음
전용 최적화 도구는 장비에 따라 길로틴 알고리즘과 표준(선반) 알고리즘 중에서 선택할 수 있습니다. 길로틴은 모든 재단이 끝에서 끝까지 이루어지도록 보장합니다(패널 톱용). 표준은 유연한 배치를 허용합니다(CNC용). Excel은 길로틴 재단이 무엇인지 모릅니다.
다중 시트 최적화 없음
실제 프로젝트는 여러 시트를 사용합니다. 40개 부품의 주방 캐비닛 프로젝트는 MDF 시트 3 – 4장이 필요할 수 있습니다. 최적화 도구는 한 번에 하나의 시트가 아닌 모든 시트에 걸쳐 총 낭비를 최소화하기 위해 어떤 부품이 어떤 시트에 들어갈지 결정합니다.
Excel에서는 수동으로 부품을 시트에 할당하고, 맞는지 수동으로 확인하고, 맞지 않을 때 수동으로 재배치해야 합니다. 치수 하나를 변경하면 전체 할당을 다시 해야 할 수도 있습니다.
잔재 추적 없음
시트 재단을 마치면 잔재가 남습니다 — 현재 프로젝트에는 너무 작지만 다음 프로젝트에는 완벽할 수 있는 사용 가능한 재료 조각들입니다. 재단 목록 최적화 도구는 이러한 잔재를 재고 라이브러리에서 추적하고 향후 프로젝트에서 재사용합니다.
Excel은 잔재의 존재를 알지 못합니다.
VBA 매크로 방식
일부 창의적인 사용자들은 Excel에서 기본적인 1D 재단 최적화를 시도하는 VBA 매크로를 작성했습니다. 이것은 선형 재료 — 막대나 파이프에서 길이를 재단하는 — 에서 작동하며, 문제가 1차원인 경우입니다.
일반적인 VBA 방식은 부품을 길이별로 정렬하고(가장 긴 것부터), 최초 적합 감소 알고리즘을 사용하여 원자재 길이에 할당하고, 필요한 총 원자재와 막대당 낭비를 보고합니다. 알루미늄 프로파일, 목재 스터드, 강철 파이프와 같은 단순한 선형 재단의 경우 이것이 합리적으로 작동할 수 있습니다.
하지만 상당한 한계가 있습니다:
1D만 가능. 2D 시트 네스팅을 위한 VBA 매크로는 극히 드물고 매우 불안정합니다. 두 번째 차원, 회전, 커프를 추가하면 알고리즘 복잡성이 급격히 증가합니다.
시각적 출력 없음. 매크로는 텍스트 목록을 제공합니다 — "막대 1: 2400 재단, 1800 재단, 낭비 300" — 하지만 다이어그램은 없습니다. 레이아웃을 머릿속으로 재구성해야 하며, 이는 오류를 유발합니다.
불안정한 코드. VBA 매크로는 스프레드시트 구조를 변경하거나, 열 이름을 바꾸거나, 다른 버전의 Excel에서 파일을 열면 작동이 중단됩니다. 직접 작성하지 않은 경우 디버깅하기 어렵고 유지 관리가 불가능합니다.
커프, 트림, 결 없음. 대부분의 VBA 매크로는 톱 커프, 시트 트림 여백, 결 방향을 무시합니다. 이러한 매개변수를 추가하면 코드가 훨씬 복잡해지며 — 그 수준의 VBA를 작성할 수 있는 대부분의 사용자는 독립 실행형 애플리케이션을 작성하는 것이 더 나을 것입니다.
성능. VBA는 느립니다. CutGrid가 1초 미만에 처리하는 복잡한 2D 최적화가 VBA 매크로에서는 몇 분이 걸리거나 Excel이 완전히 충돌할 수 있습니다.
Solver 방식
Excel의 내장 Solver는 합법적인 최적화 도구입니다. 선형 프로그래밍 문제를 해결할 수 있으며, 비선형 문제를 위한 진화적 솔버도 있습니다. 일부 사용자들은 Solver를 사용하여 재단 목록 최적화를 모델링하려고 시도했습니다.
설정이 복잡합니다: 결정 변수(각 부품이 배치되는 위치), 제약 조건(겹침 없음, 시트 경계 내, 커프 간격), 목적 함수(낭비 최소화)를 정의합니다. 매우 작은 문제 — 단일 시트에 5 ~ 8개의 부품 — 의 경우 Solver가 때때로 합리적인 해결책을 찾을 수 있습니다.
그보다 큰 경우에는 Solver가 한계에 부딪힙니다. 무료 버전은 200개의 결정 변수로 제한됩니다. 유료 버전(OpenSolver 또는 Solver 추가 기능)조차도 2D 패킹의 비선형 제약 조건에 어려움을 겪습니다. 그리고 여전히 시각적 레이아웃은 얻을 수 없습니다 — 좌표 표만 있을 뿐입니다.
실제 비교: 동일한 프로젝트, 두 가지 도구
구체적으로 살펴보겠습니다. 18 mm 자작나무 합판으로 책장 5개 세트를 제작하고 있습니다. 원자재 시트: 2440 × 1220 mm. 커프: 3 mm. 트림: 10 mm.
귀하의 재단 목록:
부품 | 길이 (mm) | 너비 (mm) | 수량 | 합계 |
|---|---|---|---|---|
측면 패널 | 1800 | 300 | 10 | 10 |
상판/하판 | 564 | 300 | 10 | 10 |
선반 | 564 | 280 | 15 | 15 |
뒷면 레일 | 564 | 80 | 10 | 10 |
킥보드 | 600 | 100 | 5 | 5 |
총계: 50개 부품.
Excel에서: 부품을 나열합니다(2분). 모든 부품의 총 면적을 계산합니다: 약 10.2 m². 각 시트는 2.98 m²입니다. 따라서 최소 3.4장의 시트가 필요합니다 — 커프와 트림을 고려하면 최소 4장, 아마도 5장이 필요합니다. 하지만 실제로 몇 장이 필요한지는 알 수 없습니다. 부품이 어떻게 맞는지 볼 수 없기 때문입니다. 5장 또는 6장으로 추측하고 그에 맞게 구매할 수 있습니다. 추측이 틀리면 다시 목재상으로 돌아가야 합니다.
CutGrid에서: 동일한 부품을 입력하거나(또는 Excel 파일을 가져오기 — 30초) 커프를 3 mm, 트림을 10 mm로 설정합니다. 최적화를 실행합니다. 1초 이내에 CutGrid는 레이아웃을 생성합니다: 4장의 시트, 86% 재료 활용률, 각 부품이 어디에 위치하는지 정확히 보여주는 명확한 다이어그램. PDF를 내보내고 톱으로 향합니다.
차이점: Excel은 "아마도 5장, 어쩌면 6장"이라고 알려줬습니다. CutGrid는 "정확히 4장, 재단 방법은 이렇습니다, 그리고 저장할 수 있는 잔재는 이것입니다"라고 알려줬습니다. 시트 한 장 절약, 4만 ~ 8만 원이 다시 주머니로 돌아옵니다.
Excel이 여전히 올바른 선택인 경우
공정하게 말하자면, Excel이 진정으로 충분한 상황이 있습니다:
최적화가 아닌 부품 목록을 작성하는 경우. 치수와 함께 부품을 나열하고 재료 면적을 계산하기만 하면 된다면 Excel로 충분합니다. 그런 다음 최적화 단계를 위해 해당 목록을 CutGrid로 가져오면 됩니다.
부품이 5개 이하인 경우. 작은 선반이나 간단한 상자를 재단하는 경우, 머릿속으로 시트에 부품을 배치할 수 있을 것입니다. 사소한 프로젝트에 최적화 도구는 불필요한 복잡성을 추가합니다.
간단한 매크로로 1D 선형 재단을 하는 경우. 막대나 파이프에서 길이를 재단하는 경우 — 문제가 1차원이고 작동하는 VBA 매크로가 있는 경우 — Excel은 합리적인 결과를 낼 수 있습니다. 간단한 VBA 매크로와 전용 선형 최적화 도구 사이의 격차는 2D 시트 최적화에서의 격차보다 작습니다.
현장에 있고 휴대폰만 있는 경우. Google Sheets의 빠른 스프레드시트로 재료 수량을 추정하는 것이 없는 것보다는 낫습니다. 하지만 CutGrid도 모든 브라우저에서 실행됩니다 — 휴대폰 포함 — 따라서 이 장점은 사라지고 있습니다.
하이브리드 워크플로우: Excel + 최적화 도구
많은 작업장에서 최선의 접근 방식은 두 도구를 결합하는 것입니다. 다음은 효과적인 워크플로우입니다:
1단계: Excel에서 재단 목록을 작성합니다. 스프레드시트를 잘하는 것에 사용하세요: 데이터 정리. 부품을 나열하고, 수량을 계산하고, 재료를 추적하고, 비용을 추정합니다. 수년간 사용해온 템플릿이 있다면 계속 사용하세요.
2단계: CutGrid로 가져옵니다. Excel 파일을 .xlsx 또는 .csv로 저장합니다. CutGrid로 가져옵니다. 부품, 치수, 수량, 재료 유형이 직접 전송됩니다 — 다시 입력할 필요가 없습니다.
3단계: 최적화하고 내보냅니다. 커프, 트림, 알고리즘을 설정합니다. 최적화를 실행합니다. 작업장용 PDF로 재단 다이어그램을 내보내거나, CNC용 DXF로 내보냅니다.
4단계: Excel 파일을 업데이트합니다. 최적화 후, 기존 워크플로우에 데이터가 필요한 경우 결과를 Excel로 다시 내보냅니다 — 비용 보고서, 구매 주문서, 재고 업데이트.
이 워크플로우는 기존 프로세스를 존중하면서 Excel이 할 수 없는 한 가지를 추가합니다: 공간 최적화.
스프레드시트가 경쟁할 수 없는 이유의 수학
이 문제가 스프레드시트에 왜 그렇게 어려운지 궁금하다면, 직관적인 설명이 있습니다.
1D 문제(막대에서 길이 재단)의 경우, 가능한 배치의 수는 팩토리얼로 증가합니다 — 20개의 부품은 20!(약 2.4 퀸틸리언)개의 가능한 순서가 있습니다. 하지만 최초 적합 감소와 같은 좋은 휴리스틱은 각 길이가 어느 막대에 들어가는지만 결정하면 되기 때문에 이를 효율적으로 해결할 수 있습니다.
2D 문제(시트에서 직사각형 재단)의 경우, 각 부품에는 X 위치, Y 위치, 회전이 있습니다. 제약 조건(겹침 없음, 경계 내, 커프 간격)은 단순한 순서로 축소할 수 없는 복잡한 기하학적 문제를 만듭니다. 결정 변수의 수는 3n(부품당 세 개의 변수)으로 증가하고, 제약 조건은 n²(모든 부품 쌍이 겹치지 않아야 함)으로 증가합니다.
50개의 부품이 있으면 150개의 결정 변수와 2,500개의 비겹침 제약 조건이 있습니다. Excel의 Solver는 수백 개가 아닌 수십 개의 변수를 가진 문제를 위해 설계되었습니다. 그리고 크기를 처리할 수 있다 하더라도, 기하학적 제약 조건은 비선형입니다 — Solver가 잘 처리하지 못하는 "둘 중 하나" 조건을 포함합니다.
이것이 전용 재단 목록 최적화 도구가 존재하는 이유입니다. 이 도구들은 이 정확한 문제 클래스를 위해 특별히 제작된 특수 알고리즘 — 선반 휴리스틱, 유전 알고리즘, 시뮬레이티드 어닐링, 하이브리드 접근 방식 — 을 사용합니다. 몇 시간이 아닌 몇 초 만에 거의 최적에 가까운 해결책을 찾습니다.
핵심 요약
Excel은 부품 목록 작성에 탁월합니다. 데이터 입력, 계산, 정리에 계속 사용하세요. 세계 최고의 스프레드시트 도구인 데는 이유가 있습니다.
Excel은 레이아웃 최적화 도구가 아닙니다. 부품이 시트에 어떻게 맞는지 결정해야 하는 순간, 다른 도구가 필요합니다. 2D 네스팅 문제는 수학적으로 어렵습니다 — Solver에게도 너무 어렵고, VBA 매크로에게도 너무 어렵고, 셀 그리드에게는 너무 시각적입니다.
진짜 낭비는 소프트웨어 비용이 아닙니다 — 추가 시트에 있습니다. CutGrid 구독 비용은 자작나무 합판 한 장보다 저렴합니다. 최적화 도구가 프로젝트당 시트 한 장만 절약해도 즉시 본전을 뽑습니다.
다시 입력하지 말고 가져오세요. CutGrid는 Excel과 CSV를 기본적으로 읽습니다. 스프레드시트가 입력이고, 최적화 도구가 엔진이며, 재단 다이어그램이 출력입니다.
아직도 재단 목록에 Excel을 사용하고 계신가요?
스프레드시트를 CutGrid로 가져와서 차이를 확인하세요. 부품 목록은 그대로 유지됩니다 — 더 스마트한 레이아웃만 얻을 수 있습니다.