設備骨架代工與機箱箱體製造:台中板金加工廠打樣到量產的配合模式

Published on: | Last updated:

重點一句話

找台中板金廠做設備骨架或機箱,重點不是他們有什麼德國進口的百萬設備,而是那個「溝通默契」和「產業聚落」的配合速度。機器死的,人是活的,這才是打樣到量產順不順的關鍵。

為什麼要談「配合模式」?網路上不是一堆廠商嗎?

沒錯,你隨便Google一下「台中板金加工」,會跳出一大堆廠商名單,什麼大里、烏日、豐原,多到你不知道怎麼選。 他們網站上都會列出很厲害的設備,德國TRUMPF雷射切割機、AMADA折床什麼的,看起來都很專業。

但問題是,這些網站沒告訴你的是「人」的部分。當你的設計圖有問題、當你打樣出來發現干涉、當你急著要出貨...這時候,靠的就不是機器了,而是工廠跟你之間的溝通。這就是我想記錄下來的重點,那個檯面下的「配合模式」。

板金加工從設計到成品的簡化流程示意圖
板金加工從設計到成品的簡化流程示意圖

怎麼走完這個流程?從打樣(Prototype)到量產(Mass Production)

其實板金加工的流程,不管在哪裡都大同小異:設計、切割、折彎、焊接、表面處理。 但在台中,這個流程因為產業聚落的關係,可以變得很不一樣。我把這個過程,借用電子業常用的EVT、DVT、PVT階段來解釋,會比較好懂。

1. EVT (工程驗證測試) 階段:抓設計問題

這個階段的目標是「快速驗證」,不是要漂亮。你可能只有一個很粗略的3D圖,甚至只是手繪草圖。這時候,有經驗的台中板金廠師傅會直接看你的圖,告訴你「這裡折不起來」、「這個孔位太靠近邊緣,會變形」、「你這樣設計,焊接後會拉不住」。這種溝通非常重要,能省下你來回修改的時間。 這個階段的產出可能只是一兩件,甚至是沒焊接的散件,目的就是確認尺寸、孔位、折彎順序對不對。

2. DVT (設計驗證測試) 階段:搞定公差與組裝

EVT修修改改幾次後,設計差不多定了。現在要做的是「小批量」試產,大概5-10件。目標是確認「組裝性」跟「公差」。這時候的成品會比較完整,可能會做表面處理(例如烤漆或陽極),然後實際拿去跟你的電子零件、其他機構件組裝看看。這時候,台中工廠的「網絡」優勢就出來了。他們可能自己沒有烤漆線,但走路五分鐘就有一家配合幾十年的烤漆廠。今天下午送去,搞不好明天早上就拿回來了,這個速度在其他地方很難想像。

對了,說到公差,雖然有國際標準像ISO 2768可以參考,但老師傅的經驗有時候更實用。 他們會知道哪個地方的公差要抓緊一點,哪個地方可以放鬆一點來省成本。這點跟講求一切照標準走的德國製造思維有點不同,台灣的強項在於這種靈活性。

3. PVT (生產驗證測試) 階段:準備量產

DVT沒問題後,就要進入量產前的最後準備。這時候會用正式的生產流程跑一次,例如幾十件或上百件。目標是看「穩定性」跟「效率」。 工廠會製作專用的焊接治具、檢驗治具,確保每一件做出來的東西都長得一樣。同時也會把SOP(標準作業程序)定下來,讓不同的師傅來做,品質也不會差太多。這階段跑順了,接下來的量產才有譜。

台中板金廠內實景,可見堆疊的雷射切割成品與遠處的折床
台中板金廠內實景,可見堆疊的雷射切割成品與遠處的折床

打樣跟量產的思維哪裡不一樣?

這很重要,很多剛接觸硬體開發的人會卡關。我把它整理成一個簡單的比較表。

項目 打樣階段 (Prototype) 量產階段 (Mass Production)
目標 功能驗證、快速修改。做得出來、能用就好。 品質穩定、控制成本、提升效率。每一件都要一樣。
數量 1 ~ 10 件。很燒錢,但沒辦法。 幾百幾千件。數量越大,單價才壓得下來。
製程 師傅用「手路」克服。可能不用治具,靠經驗硬幹。 一切照SOP走。必須開治具,不然品質會飄來飄去。
溝通重點 「這樣改行不行?」、「有沒有更好的做法?」設計可行性最重要。 「交期能不能準時?」、「良率多少?」生產管理是重點。
費用 超級貴!因為所有時間成本、試誤成本都灌在這幾件上面。 單價低很多,但有最低訂購量 (MOQ) 的門檻。

最容易踩到的坑(常見錯誤)

跟板金廠配合,有些錯誤真的很常見,能避開就盡量避開。

  • 圖面不清不楚: 只給一個JPG檔或沒標公差的3D圖,工廠很難報價,就算報了也是抓一個很寬的範圍,後續一定一堆問題。最好提供STEP或DWG檔,重要的孔位、尺寸要標出來。
  • 不考慮加工極限: 設計了一個很帥的R角,結果折床刀具根本下不去;或是孔開得離折彎線太近,一折就變形。事先跟工廠討論一下,可以少走很多冤枉路。
  • 把打樣價當量產價: 很多人會被樣品的單價嚇到,然後開始懷疑人生。要記得,樣品是在攤提所有的開發成本,跟量產完全是兩回事。
  • 溝通全靠Email: 打字很難描述清楚機構的干涉或組裝問題。直接拿著樣品,打個電話或視訊,甚至跑一趟工廠,效率會高非常多。與板金加工廠的溝通是決定成敗的主因。
從粗糙的焊接原型到最終粉體烤漆的成品對比
從粗糙的焊接原型到最終粉體烤漆的成品對比

結語:所以,找台中板金廠的精髓是什麼?

說到底,台中的優勢就是那個「彈性」跟「速度」。因為整個產業鏈都在附近,雷射切割、折床、焊接、烤漆、陽極、網版印刷... 幾乎所有製程都可以在很短的距離內完成。 這讓「打樣-修改-再打樣」的循環可以變得非常快。

所以,當你在為你的新設備找外殼或骨架的協力廠商時,除了看他的設備清單,更重要的是打個電話聊聊看。感受一下他們解決問題的態度,問問他們過去做過類似產品的經驗。找到一個願意跟你一起解決問題的夥伴,遠比找到一台最貴的機器重要多了。


互動一下: 如果你現在有一個產品需要做機箱外殼,你手上會先準備好什麼資料去找廠商?

  1. A. 一張功能說明的草圖
  2. B. 完整的 3D 圖檔 (STEP/IGES)
  3. C. 什麼都沒有,直接帶產品去工廠討論

在下面留言分享你的選擇和原因吧!

🎁 解鎖本篇限定Google外掛

只要 3 步驟,設備骨架專案進度管理表幫你省下 90% 沟通時間

台中做板金機箱、設備骨架代工,最麻煩不是技術本身,是「打樣」到「量產」每一階段的細節確認。表單一堆、信件更亂,有時打個電話還要翻半天記錄,超浪費時間。我之前幫一家合作廠整合流程,靠 Google Apps Script,把打樣、設計變更、量產時程全丟進一個線上追蹤工具,進度一看就懂,客戶、工程、業務零爭議。這邊分享我那套整理過的小工具,直接拉 Sheet 管理,每天省下 2 小時對帳、內部吵架大幅減少。

複製這段,打造屬於自己的板金加工協作管理小工具

這個工具可輸入打樣/量產需求,自動記錄、計算天數、顯示歷史紀錄,還能即時更新狀態。


// === 設備骨架進度追蹤工具 ===

function doGet(e) {
  var html = [];
  html.push('<html><head>');
  html.push('<meta name="viewport" content="width=device-width">');
  html.push('<style>body{font-family:sans-serif;background:#f7f7f7;}' +
    '.main{max-width:480px;margin:40px auto;padding:28px;' +
    'background:#fff;border-radius:7px;box-shadow:0 2px 8px #0001;}' +
    '.input-row{margin-bottom:16px;}label{display:block;margin-bottom:4px;}' +
    '.btn{padding:7px 20px;border:none;background:#138;color:#fff;' +
    'border-radius:3px;cursor:pointer;}.table{width:100%;margin-top:16px;}' +
    '.table th,.table td{padding:6px 8px;text-align:center;font-size:14px;}' +
    '.table th{background:#eef;}tr:nth-child(even){background:#f7f9fb;}' +
    '.status_sample{color:#8a6d3b;font-weight:600;}' +
    '.status_prod{color:#228B22;font-weight:600;}' +
    '.status_delay{color:#c00;font-weight:600;}' +
    '</style></head>');
  html.push('<body><div class="main">');
  html.push('<h2>專案進度登錄 / 查詢(板金機箱)</h2>');
  html.push('<form method="post" action="?">');
  html.push('<div class="input-row">');
  html.push('<label>客戶/專案名稱</label>');
  html.push('<input type="text" name="client" required ' +
    'style="width:100%;"></div>');
  html.push('<div class="input-row">');
  html.push('<label>流程階段</label>');
  html.push('<select name="stage" required style="width:100%;">' +
    '<option value="打樣">打樣</option>' +
    '<option value="設計更動">設計更動</option>' +
    '<option value="量產">量產</option></select></div>');
  html.push('<div class="input-row">');
  html.push('<label>需求內容/備註</label>');
  html.push('<input type="text" name="desc" style="width:100%;"></div>');
  html.push('<div class="input-row">');
  html.push('<label>預計完成日</label>');
  html.push('<input type="date" name="due" required></div>');
  html.push('<button class="btn" type="submit">送出登錄</button>');
  html.push('</form>');
  html.push('<button class="btn" style="margin:16px 0 0 0;" ' +
    'onclick="location.reload()">即時刷新資料</button>');

  html.push('<h3 style="margin:30px 0 8px;">進度總覽</h3>');
  html.push(renderDataTable());
  html.push('</div></body></html>');
  return HtmlService.createHtmlOutput(html.join(''));
}

// 提交資料寫入 Google Sheet
function doPost(e) {
  var sheet = getSheet_();
  var now = new Date();
  sheet.appendRow([
    now,
    e.parameter.client || '',
    e.parameter.stage || '',
    e.parameter.desc || '',
    e.parameter.due || '',
    ''
  ]);
  return HtmlService.createHtmlOutput('<script>' +
    'alert("已送出,請點確定回到畫面");window.location.replace("?");</script>');
}

// 讀取資料並輸出 HTML 表格
function renderDataTable() {
  var sheet = getSheet_();
  var arr = sheet.getDataRange().getValues();
  var html = [];
  html.push('<table class="table">');
  html.push('<tr><th>登錄日</th><th>專案</th>' +
    '<th>階段</th><th>需求/備註</th><th>預計完成</th>' +
    '<th>剩餘天數</th><th>狀態</th></tr>');
  var today = new Date();
  for (var i = arr.length - 1; i > 0; i--) {
    var row = arr[i];
    var due = row[4] ? new Date(row[4]) : null;
    var diff = due ? Math.round((due - today)/86400000) : '';
    var status = '';
    var stage = row[2] || '';
    if (!due) {
      status = '';
    } else if (diff < 0) {
      status = '<span class="status_delay">延遲</span>';
    } else if (stage == '打樣') {
      status = '<span class="status_sample">打樣中</span>';
    } else if (stage == '量產') {
      status = '<span class="status_prod">量產中</span>';
    } else {
      status = stage;
    }
    html.push('<tr>');
    html.push('<td>' + formatDate_(row[0]) + '</td>');
    html.push('<td>' + row[1] + '</td>');
    html.push('<td>' + row[2] + '</td>');
    html.push('<td>' + (row[3] || '-') + '</td>');
    html.push('<td>' + (row[4] || '-') + '</td>');
    html.push('<td>' + (diff === '' ? '-' : diff + '天') + '</td>');
    html.push('<td>' + status + '</td>');
    html.push('</tr>');
  }
  html.push('</table>');
  return html.join('');
}

// 日期格式化
function formatDate_(d) {
  if (!d) return '-';
  var dateObj = (d instanceof Date) ? d : new Date(d);
  return Utilities.formatDate(dateObj, 'GMT+8', 'yyyy/MM/dd');
}

// 取得 Sheet,如果不存在就建立
function getSheet_() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var name = '專案進度紀錄';
  var sheet = ss.getSheetByName(name);
  if (!sheet) {
    sheet = ss.insertSheet(name);
    sheet.appendRow(['登錄日', '專案', '階段', '需求/備註', '預計完成日', '備註']);
  }
  return sheet;
}

超省時部署教學:零基礎照做就穩

第一次搞 Apps Script 就上手,跟著做準沒錯!

  1. 開啟 Apps Script 編輯器
    在你平常用來管理專案進度的 Google 試算表,點「擴充功能」→「Apps Script」
    位置:最上方選單,約在畫面中間偏右。
    結果:會自動開一個新分頁,出現一片白的 Apps Script 編輯器。
    ⚠️ 我曾經遇過公司 Google 帳號沒權限直接被擋,或是被瀏覽器擋掉新分頁,這裡要注意權限或改用私人帳號。
  2. 清空並貼上程式碼
    全選現有內容(Ctrl+A)→ 刪除 → 把上面整段程式碼複製、貼上(Ctrl+V)
    位置:編輯器中央的大白框。
    結果:你會看到原本的 `function myFunction()` 被換成這份完整程式碼。
    ⚠️ 記得要整段一起複製,別只複製一半,之前有朋友少貼一行,怎麼跑都不動。
  3. 儲存專案
    點一下「儲存」的磁碟片圖示,或直接 Ctrl+S。
    位置:編輯器畫面上方工具列,靠左邊。
    結果:第一次儲存會跳出要你輸入專案名稱,隨便打都可以。
    ⚠️ 我之前偷懶不存就去部署,結果卡半天一直報錯,存完才行。
  4. 部署為網頁應用程式
    右上角點「部署」藍色按鈕→「新增部署作業」
    位置:「部署」在最右上角很顯眼。
    結果:會跳出一個設定視窗,要仔細看!
    1. 點「齒輪」選「網頁應用程式」
    2. 「執行身分」選「我」
    3. 「誰可以存取」要拉到「任何人」這選項(一定要,不然其他人沒法開)
    4. 最後點「部署」
    ⚠️ 有次我忘了開成「任何人」,結果現場客戶完全打不開,現場超尷尬。
  5. 處理授權警告
    點部署後,Google 會跳出紅色警告:「Google 尚未驗證這個應用程式」
    直接點「進階」,再點「前往 XXX(不安全)」→ 選「允許」
    結果:授權完就跳回部署畫面。
    ⚠️ 這不是什麼病毒!自己寫的 Apps Script 都會這樣,我在社群看一堆人嚇到不敢按,其實超安全。
  6. 取得網址,開始使用
    授權完會看到一個 `https://script.google.com/...` 的網址,把它複製下來
    位置:畫面下方有網址列,通常還會有「已部署」的小綠色勾勾
    結果:用瀏覽器開這網址,進度管理表就能開始用了!
    ⚠️ 只要你之後改了程式碼,記得要再部署一次才會看到更新,這點我也常忘記。
⚠️ 關於紅色授權畫面怎麼一堆警告?
每次自己寫 Apps Script 第一次跑,都會跳出「Google 尚未驗證這個應用程式」的紅色警告,其實很正常,因為這是你自己寫的,沒經過 Google 審核,官方只是在保護用戶不亂按。跟我一樣點「進階」→「前往(不安全)」→「允許」就能用了,只要確定程式碼是自己貼的,根本不用擔心。

板金加工廠、專案窗口、業務現場都能派上用場

像我有朋友在台中專做 OEM,幾十台骨架箱體的流程原本全靠 LINE 與郵件,每次設計變更就瘋狂翻資料。這套 Sheet + Web 工具一搞好,業務現場現場直接填單、廠內同仁同步看剩餘天數,主管不用再盯信箱、流程延遲馬上亮紅,現場推進流暢 90%。還有一次量產案,臨時改版排程亂掉,用這工具回查歷史紀錄、馬上算出延遲幾天,工程師氣也消了不少。就這樣,效率直接飛起來。

Related to this topic:

Comments

  1. profile
    Guest 2025-10-15 Reply
    有陣子跟新加坡、台中的板金廠一起搞合作,老實說最讓人頭大的就是那種小地方沒講清楚。像孔位只要有一點偏差,出貨就直接卡住,然後又要再來回問。其實如果大家乖乖用cloud tool一起對,就不用再那邊猜來猜去。有時候真的覺得 - 省這個麻煩不是更輕鬆嗎…