lisp添加菜单
acaddoc.lsp (不在cad安装目录下)
(defun s::startup ( / aa )
(if (null (menugroup "sq214cad"))
(progn
(command "filedia" 0)
(command "_.menuload" "sq214cad.mnu")
(menucmd "P16=+sq214cad.pop1")
(command "filedia" 1)
)
)
)
我在CAD "工具" -- "加载应用程序"-- "内容" 里添加acaddoc.lsp,启动CAD,菜单未添加成功。"sq214cad.mnu"与acaddoc.lsp在同一目录下,TKS
cuiload加载MNU hn10183051 发表于 2019-9-25 13:24
cuiload加载MNU
menuload也可以加载菜单,应该不是这个原因 看看帮助吧。 我在末尾添加" princ ",发现执行了
只是菜单没有添加成功,不知道为什么 发现问题了
(command "_.menuload" "sq214cad.mnu")这里需要使用绝对路径
想问一下,lisp怎么使用相对路径 (command "_.menuload" (findfile "sq214cad.mnu")) (defun wh_Loadmnu (/ pre_filedia CNT)
(if (not (menugroup "sq214cad"))
(progn
(setq pre_filedia (getvar "filedia"))
(setvar "filedia" 0)
(vl-cmdf "menuload" "sq214cad.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) "=+sq214cad.pop1"))
(princ
"\n菜单及工具条已成功加载,欢迎您再次使用!"
)
(setvar "filedia" pre_filedia)
)
(prompt "\n菜单已加载!")
)
(princ)
)
(wh_Loadmnu) slysmart 发表于 2019-9-25 14:21
发现问题了
(command "_.menuload" "sq214cad.mnu")这里需要使用绝对路径
想问一下,lisp怎么使用相对路 ...
这个好用,谢谢 slysmart 发表于 2019-9-26 09:05
这个好用,谢谢
findfile()函数的功能是在autoCAD的当前目录
我的文件不在autoCAD的当前目录,如何能让findfile()函数找到指定目录?
页:
[1]
2