AutoCAD 選單系統由多種副檔名檔案協同運作。理解檔案類型職責、層次結構、載入/編譯流程,是進行穩定選單定制與部署的前提。本文完整梳理 6 種選單檔類型、9 大區段標籤、基本/局部選單載入機制、編譯鏈路。
| 副檔名 | 類型 | 格式 | 說明 |
|---|---|---|---|
.MNU | 樣板選單檔 | 文本 | 源碼原始檔,記錄功能結構,用戶直接編輯此檔 |
.MNC | 編譯後選單檔 | 二進位 | AutoCAD 直接載入執行,含命令字串與語法樹 |
.MNR | 選單資源檔 | 二進位 | 包含選單使用的位圖資源 (.BMP) |
.MNS | 選單來源檔 | 文本 | AutoCAD 從 MNU 編譯產生,界面修改後自動更新,不可直接給 CAD 用 |
.MNT | 備用資源檔 | 二進位 | MNR 唯讀/損壞時自動生成 |
.MNL | 配套 LISP 程式 | 文本 | 同名載入時自動執行,含選單巨集呼叫的 LISP 函數 |
用戶編輯 .MNU
↓ (AutoCAD 編譯)
.MNC (執行檔) + .MNS (同步來源) + .MNR (位圖資源)
↓ (同名載入)
.MNL (自動執行 LISP)
關鍵規則: 修改 .MNU 後必須重新載入 (MENU 指令),才能生成新 .MNS/.MNC,讓修改生效。
區段標籤格式:***SECTION_NAME,二層結構用 ** 標識。
| 區段標籤 | 功能 |
|---|---|
| ***MENUGROUP | 定義選單群組名 |
| ***BUTTONSn | 定點裝置按鈕功能 |
| ***AUXn | 系統滑鼠選單 |
| ***POPn | 下拉/快捷選單 |
| ***TOOLBARS | 工具列按鈕 |
| ***IMAGE | 圖像控制選單 |
| ***SCREEN | 螢幕選單 (傳統文字模式) |
| ***TABLETn | 數位化儀選單 |
| ***HELPSTRINGS | 選單項/工具列提示文字 |
| ***ACCELERATORS | 鍵盤加速鍵 |
註解行以 // 開頭,編譯器忽略。不需包含所有區段,可拆分多小檔案按需載入。
| 特性 | 基本選單 | 局部選單 |
|---|---|---|
| 載入指令 | MENU | MENULOAD / 選單:工具→自定義→選單 |
| 影響範圍 | 替換原有完整選單 | 疊加於現有選單,不改變原選單 |
| 下拉選單顯示 | 直接顯示於選單列 | 需用 AutoLISP 插入選單列才顯示 |
| 可卸載性 | 不可單獨卸載 (只能換基本選單) | MENUUNLOAD 隨時卸載 |
| 持久化 | 退出記錄,下次自動載入 | 最多記錄 24 個局部選單組名 |
透過對話框選擇檔案時:
.MNC → 直接載入。.MNS → 同目錄找同名 .MNC → 找到載入 / 否則編譯 .MNS 產生 .MNC 再載入。.MNU → 編譯產生 .MNC/.MNS → 載入 .MNC。.MNL → 找到則執行其中 AutoLISP 表達式。FILEDIA=0 時需在命令列指定檔案,搜尋順序同上。
選單檔「編輯 .MNU → 編譯 .MNC → 載入執行 → 同步 .MNS/.MNR → 掛載 .MNL」是標準生命週期。企業部署時,建議僅分發編譯後的 .MNC + .MNR + .MNL 三檔,避免用戶誤改源碼導致環境不一致;源碼 .MNU 由管理員版本控管,統一編譯發布。