菜单里当然显示顺序功能项,是同 (ai_draworder ??) 函数调用 _.draworder 命令的,而这个函数也是在 acad.mnl 里定义的。
通常的,刚进入 ACAD 时,acdorder.arx 可能没被加载,但一旦运行 draworder 命令,就会自动加载它的。
现在是 draworder 命令可以使用,但菜单里的不可用,那就查 acad.mns 里这部分的是否正常,acad.mnl 里对 ai_draworder 是否正常:
// 菜单文件中的定义
ID_MnOrder [->显示顺序(&O)] ID_DrawordeF [前置(&F)]^C^C^P(ai_draworder "_f") ^P ID_DrawordeB [后置(&B)]^C^C^P(ai_draworder "_b") ^P [--] ID_DrawordeA [置于对象之上(&A)]^C^C^P(ai_draworder "_a") ^P ID_DrawordeU [<-置于对象之下(&U)]^C^C^P(ai_draworder "_u") ^P
; acad.mnl 中的定义
(defun ai_draworder (option / ss )
(setq m:err *error* *error* *merr*) (ai_sysvar '("cmdecho" . 0))
(if (setq ss (ssget "_I")) (command "_.draworder" option) (if (setq ss (ssget)) (command "_.draworder" ss "" option) ) ) (ai_sysvar NIL) (setq *error* m:err m:err nil)
(princ) ) |