用LISP程序加载菜单文件
菜单文件名:xzh.mns 文件在C:盘xzh文件夹里(defun c:mu (/ pre_filedia CNT)
(if (not (menugroup "xzh.mns"))
(progn
(setq pre_filedia (getvar "filedia"))
(setvar "filedia" 0)
(vl-cmdf "menuload" "xzh.mns")
(princ "\n菜单及工具条已成功加载,欢迎您再次使用!")
(setvar "filedia" pre_filedia)
)
(prompt "\n菜单已加载!")
)
(princ)
)
执行如上程序其结果如下:
请问要如何解决才能加载呢?请高手们多指点迷津,谢谢
;;自动添加菜单和工具条
(defun c:ldmu (/ pre_filedia CNT)
(if (not (menugroup "陈洪宝"))
(progn
(setq pre_filedia (getvar "filedia"))
(setvar "filedia" 0)
(vl-cmdf "menuload" "陈洪宝.mnu")
(setq CNT 1)
(while (menucmd (strcat "P" (itoa CNT) ".1=?"))
(setq CNT (1+ CNT))
)
(if (> CNT 1)
(setq CNT (- CNT 1))
(setq CNT 1)
)
(menucmd (strcat "P" (itoa CNT) "=+陈洪宝.pop1"))
(princ
"\n菜单及工具条已成功加载,欢迎您再次使用!"
)
(setvar "filedia" pre_filedia)
)
(prompt "\n菜单已加载!")
)
(princ)
) mccad 发表于 2013-5-18 13:54
如果问题已经解决,最后写出你的解决方法,以方便别人学习。
对于菜单加载,如果菜单不在支持目录下,则需 ...
谢谢点拨,请问有选择卸载MNU文件里不同的POP时应该用哪个lisp语句啊,谢谢! chbddzx12 发表于 2015-2-3 11:04
;;自动添加菜单和工具条
(defun c:ldmu (/ pre_filedia CNT)
(if (not (menugroup "陈洪宝"))
谢谢大咖,解决了我的问题,虽然不明白里边有几句什么意思:L "xzh.mns"是否应放在支持的路径里呢? oldnewlearn 发表于 2013-5-17 21:58 static/image/common/back.gif
"xzh.mns"是否应放在支持的路径里呢?
谢谢你的指点,但是没有“下拉菜单”这是为什么呢 问题已解决,谢谢各位 如果问题已经解决,最后写出你的解决方法,以方便别人学习。
对于菜单加载,如果菜单不在支持目录下,则需要加上路径。所以需要把菜单文件所在的目录加入到支持目录下。
一般菜单需要配套的LSP支持,如果你在菜单文件所在目录下旋转了一个与菜单文件同名而后缀为.mnl的LSP文件。则这个LSP文件会随菜单的加载而加载执行。
你上面所写的程序段只是加载了菜单,并没有将下拉菜单显示出来,如果要将菜单显示出来,则需要使用menucmd 函数。该函数的具体使用方法见:http://www.mjtd.com/function/info-126-603.html
mccad 发表于 2013-5-18 13:54 static/image/common/back.gif
如果问题已经解决,最后写出你的解决方法,以方便别人学习。
对于菜单加载,如果菜单不在支持目录下,则需 ...
我的菜单文件是在CAD自带的菜单文件里增加自己的菜单,固用如下:
(defun c:mu (/)
(setvar "filedia" 0)
(if (not (menugroup "xzh"))
(command "menu" "xzh.mns"))
(setvar "filedia" 1)
(princ)
) (command "cuiload" "机械.cui")
(command "menu" "机械") 669423907 发表于 2013-5-18 20:33 static/image/common/back.gif
(command "cuiload" "机械.cui")
(command "menu" "机械")
这段两命令我试了,可是最终起动后的菜单栏只有机械了,其它默认的都不见了
好东西。。。
页:
[1]
2