你當(dāng)前的位置>>主頁>>AutoCAD知識(shí)>>AutoCAD二次開發(fā)
 
            創(chuàng)建快捷菜單

   

    快捷菜單是使用與下拉菜單相同的語法在 MNU 文件中定義的。POP0 菜單部分用于定義默認(rèn)的對(duì)象捕捉快捷菜單,從 POP500 到 POP999 的菜單部分
則用于定義上下文快捷菜單。
AutoCAD 通過別名(例如 **GRIPS)引用上下文快捷菜單并在特定情況下使用它們。實(shí)際的 POPn 編號(hào)并不重要,但是別名必須遵循正確的命名慣例以
便于使用。以下是 AutoCAD 的專用別名:

GRIPS
此菜單的內(nèi)容定義了選定夾點(diǎn)快捷菜單(在選定對(duì)象的夾點(diǎn)時(shí),在繪圖區(qū)域中單擊右鍵)。
CMDEFAULT
此菜單的內(nèi)容定義了默認(rèn)模式快捷菜單(在沒有活動(dòng)命令且未選定任何對(duì)象時(shí),在繪圖區(qū)域中單擊右鍵)。
CMEDIT
此菜單的內(nèi)容定義了編輯模式快捷菜單(在選定一個(gè)或多個(gè)對(duì)象、未選定任何夾點(diǎn)并且沒有活動(dòng)命令時(shí),在繪圖區(qū)域中單擊右鍵)。
CMCOMMAND
此菜單的內(nèi)容定義了命令模式菜單(在命令處于活動(dòng)狀態(tài)時(shí),在繪圖區(qū)域中單擊右鍵)。除了 CMCOMMAND 菜單內(nèi)容之外,命令行選項(xiàng)(方括號(hào)中的關(guān)鍵字)
也被插入到該菜單中。
上下文相關(guān)快捷菜單
CMEDIT 和 CMCOMMAND 快捷菜單可以上下文相關(guān)。當(dāng)選定一個(gè)或多個(gè)特定對(duì)象類型時(shí),除了 CMEDIT 菜單的內(nèi)容以外,適當(dāng)?shù)膶?duì)象菜單(如果有)也被插入
該菜單。對(duì)象菜單使用以下命名慣例:OBJECT_objectname 或 OBJECTS_objectname。
如果選定單個(gè)對(duì)象,則使用 OBJECT_objectname 菜單;如果選定多個(gè)對(duì)象,則使用 OBJECTS_objectname 菜單。如果沒有 OBJECT_objectname,則
AutoCAD 將使用 OBJECTS_objectname 菜單(如果有)。
除插入對(duì)象外,在任何情況下,對(duì)象名稱還是對(duì)象的 DXF 名稱。AutoCAD 使用名稱 BLOCKREF 和 XREF 來區(qū)分塊插入和外部參照。
以下的 AutoLISP 代碼定義OTYPE 命令,該命令報(bào)告選定對(duì)象的 DXF 名稱。
(defun C:OTYPE() (cdr (assoc 0 (entget (car (entsel))))))
例如,為支持一個(gè)或多個(gè)選定塊參照的特定對(duì)象快捷菜單項(xiàng),請(qǐng)插入以下行:
***POP512
**OBJECTS_BLOCKREF
[shortcut menu for block objects]
ID_BLOCK [Explode] ^C^C_explode
像 CMEDIT 菜單一樣,上下文相關(guān)的信息也添加到 CMCOMMAND 菜單中。所有名為 COMMAND_commandname 的菜單都被添加到 CMCOMMAND 菜單中。commandname
的文本可以是任何有效的 AutoCAD 命令,包括任何自定義命令或第三方命令。
如果要使用帶有連字號(hào)前綴的命令(例如 INSERT),則需要將菜單命名為 COMMAND_INSERT。

民眾工作室.制作      版權(quán)所有