多專案併行:參數為什麼不會互相污染
實務上很少一次只開一個檔。同時開兩個專案的圖時,搭接長度表、樓層資料、圖層命名這些參數如果是軟體層級的全域設定,你就會用到另一個案子的值——而且不會有任何錯誤訊息,圖照樣畫得出來,錯的只有數字。Grebarz 的參數跟著圖走,不是跟著軟體走。
全域參數在多專案下會靜默出錯
把參數存在軟體層級(使用者設定、全域組態)是最直覺的做法,單一專案時也完全沒問題。問題出在同時開著兩個案子:軟體只有一組設定,而你手上有兩套規則。
這種錯誤難處理的地方在於它不會報錯。搭接長度取到另一個案子的值,圖還是畫得出來、料單還是算得出來,只是數字錯了——通常要到工地或加工廠才會發現。
- 同時開兩個案子交叉作業,改了 A 案的參數,B 案跟著變
- 接手別人的案子,套用的是自己上一個案子留下的設定
- 回頭改三個月前的舊案,拿到的是「現在」的參數而不是當時的
Grebarz 的做法:參數跟著圖走
Grebarz 不把參數存在軟體裡,而是存在專案資料夾中。每次執行功能時,它從「目前作用中的那張圖」的存檔位置往上尋找該專案的參數資料夾(最多五層),取到的就是這張圖所屬專案的設定。
關鍵在於「用哪一組參數」是由那張圖決定的,不是由「目前選的專案」決定——因為根本沒有「目前選的專案」這個狀態。兩張屬於不同專案的圖同時開著,各自解析各自的,切到哪一張就是哪一組。
| 參數存在哪 | 切換專案要做什麼 | 同時開兩案 | |
|---|---|---|---|
| 軟體層級的全域設定 | 使用者設定/全域組態 | 手動切換或重新匯入設定 | 共用同一組,會互相覆蓋 |
| Grebarz(參數跟著圖) | 各專案自己的資料夾 | 不必做任何事,切到那張圖就是 | 各自解析各自的,互不影響 |
「不必做任何事」是重點:需要人記得執行的步驟,就會在趕件的時候被忘記。
三個附帶的好處
- 整包搬走,參數跟著走
- 參數在專案資料夾裡,所以把整個專案複製給同事、或搬到另一台電腦,設定一起過去,不必另外匯出匯入,也不會漏掉某一項。
- 舊案拿到的是當時的參數
- 回頭修改幾個月前的案子時,讀到的是那個專案當初的設定,而不是你這段時間陸續調整過的現況——這對要重出料單的變更特別重要。
- 沒有「切換專案」這個動作
- 少一個步驟就少一個會忘記的地方。開哪張圖就用哪組參數,不需要在動工前先確認自己選對了專案。
這個做法的限制
- 圖必須先存檔——還沒存過的新圖沒有位置可依據,功能會提示你先存檔
- 圖要放在專案的資料夾結構裡,往上數層之內要找得到該專案的參數資料夾
- 把圖單獨複製到桌面之類的地方去改,就會找不到參數
換句話說,這個設計把「參數屬於哪個專案」這件事交給資料夾結構來表達。好處是它不需要另一套專案管理介面,代價是圖不能隨便搬離它所屬的資料夾。
怎麼驗證
這是選型檢核表第 4 題,試用期就測得出來。
- 同時開啟兩個不同專案的圖
- 在其中一張圖上改一個看得出差別的參數(例如搭接長度)
- 切到另一張圖,確認它的值沒有跟著變
- 回到第一張,確認改動仍在
延伸閱讀
以下都是公開的技術文件,不需登入即可閱讀。
第一次使用的建議流程 含專案資料夾結構怎麼建立
樓層資料設定 專案層級參數的一例