跳到主要內容
Hai 二次開發工作室

CRD-S1 · Legacy macro maintenance

CoCreate 舊巨集維護・Lisp 程式改版

公司用了多年的 CoCreate 巨集,寫的人已經離職、沒有留下文件;平常還能用, 但一遇到錯誤、要改規則或升級版本,就沒人知道該從哪裡改。

我協助盤點既有的 Lisp 程式、整理功能與檔案關係、修正錯誤,並配合新版本或新流程調整, 讓巨集重新變成可以維護的工具。

CoCreate 巨集Lisp 維護版本升級文件整理
舊巨集維護示意圖:巨集報錯、原作者離職、沒有文件而改回手動,經過盤點功能、修正並測試,交付可正常使用的巨集、功能說明文件與版本測試紀錄
示意圖,實際流程與畫面依你們的需求設計。

01

先盤點,再決定怎麼改

舊巨集最常見的問題不是「寫得不好」,而是沒有人知道它完整在做什麼。 直接修改容易牽一髮動全身,所以我會先做盤點:

  • 公司實際在用哪些巨集、各自的功能與使用者
  • 程式之間的呼叫關係、啟動時載入的檔案與設定
  • 依賴的圖框、零件庫、屬性名稱或資料夾路徑
  • 在目前與目標版本上的執行狀況

盤點結果會整理成文件,之後不論修補、改寫或換人維護,都有依據。

02

常卡住的地方

  • 原作者離職

    巨集能用但沒人看得懂,出錯時只能繞過或放棄使用。

  • 升級版本後報錯

    想升級 Creo Elements/Direct,卻擔心舊巨集不能用而一直延後。

  • 規則變了改不動

    料號規則、圖框或屬性欄位調整,但巨集裡寫死了舊規則。

  • 檔案散落各處

    同一個功能有好幾個版本的程式檔,不確定哪一個才是正在用的。

03

工具可以怎麼做

  1. 01

    程式盤點

    整理現有巨集清單、功能、呼叫關係與相依檔案。

  2. 02

    功能文件化

    寫成使用者看得懂的操作說明,以及維護者需要的技術說明。

  3. 03

    錯誤修正

    依盤點結果修正錯誤,並在實際使用的圖面上驗證。

  4. 04

    版本相容調整

    在目標版本上測試,調整有差異的指令與對話框。

  5. 05

    規則參數化

    把寫死在程式裡的料號、路徑、欄位名稱抽成設定,日後改規則不必改程式。

  6. 06

    整併與重寫

    重複或結構混亂的程式,評估整併或重寫成較好維護的版本。

04

開發前會確認的條件

這些條件決定工具能不能穩定運作,也會影響開發範圍與報價。不確定的項目,評估時一起確認即可。

程式檔案

要確認什麼是否還保有可閱讀的 Lisp 原始檔

為什麼重要決定能否直接修改,或需要依行為重寫

使用中版本

要確認什麼目前與目標的 Creo Elements/Direct 版本

為什麼重要版本差異是測試與調整的重點

實際用法

要確認什麼誰在用、多常用、用在哪些流程

為什麼重要決定盤點與修正的優先順序

相依資源

要確認什麼圖框、零件庫、屬性欄位、網路路徑

為什麼重要換環境時最容易出錯的地方

測試方式

要確認什麼能否提供可測試的範例模型與環境

為什麼重要修正後需要在實際情境驗證

相關技術筆記

全部筆記 →

05

常見問題

多數 Lisp 語法可以延續,但部分系統指令與對話框行為可能在版本間有差異。建議先盤點公司在用的巨集,在新版本上逐一測試,再決定需要修正的範圍。

先說明巨集目前的狀況

告訴我使用的版本、巨集大概有幾個、現在遇到什麼問題,就能先判斷盤點的範圍。

LINE諮詢開發需求