lisp 创建自定义菜单
本帖最后由 langjs 于 2014-6-15 01:57 编辑以前发过一个lisp创建自定义工具栏 ,http://bbs.mjtd.com/thread-92860-1-1.html
现在补一个创建自定义 菜单程序。
加载这个程序就自动创建了一个新的菜单在CAD上了
刚才看到G版发了一个VisualLisp自动添加菜单项源码,等有空再研究研究。
先来张图:
;; ==============================================================
;;; 说明:用lisp创建菜单
;;; 作者:langjs qq:59509100 日期:2014年6月
;;; ==============================================================
(defun create_klscl (/ f i)
(if (not (menugroup "KLSCL")) ; 如果cad没有加载klscl菜单则,得干啥呢....
(progn
(alert "\n程序自动创建\"KLSCL\"菜单,请稍后")
(setq f (open "KLSCL.mnu" "W")); 建立klscl.mnu菜单文件,得写点东西在里边
(write-line "***MENUGROUP=KLSCL" f) ; 菜单名称就叫klscl吧
(write-line "" f) ; 不用管它,这行就这个
(write-line "***POP1" f) ; 这行还不用管
(write-line "" f) ; 接着不管。。。
(write-line " " f) ; 显示的菜单头,没头可不行
(write-line " [--]" f) ; 一个分界符,纯粹为了好看
(write-line " [脱硫废水系统TLFS]^C^CTLFS" f) ; 点击这个执行^c^c后边的tlfs主程序
(write-line " [--]" f) ; 再来一个分界符,帅多了
(write-line " [查询参数 CXCS]^C^CCXCS" f) ; 点击这个执行cxcs主程序
(write-line " [->设置图块 ]" f) ; 向右弹出。。。
(write-line " [可分解 KKFJ]^C^CKKFJ" f) ; 真弹了一个东东来
(write-line " [<-不可分解KBFJ]^C^CKBFJ" f) ; 弹完得回去了
(close f) ; 写完菜单关了吧
(command "menuload" "KLSCL.mnu") ; 加载看看行不行
(if (menugroup "KLSCL") ; 真加载了!
(progn ; 计算现有菜单数量,得把菜单安排个合适位置
(setq i 1)
(while (< i 24)
(if (menucmd (strcat "p" (itoa i) ".1=?"))
(setq i (1+ i))
(progn
(menucmd (strcat "p" (itoa i) "=+KLSCL.pop1")) ; 显示出klscl来鸟!那个i也可以是 (- i 2)
(setq i 25)
))))))
)
(princ)
)
(create_klscl);;; 调用上边的子程序,加载lisp程序就加载了
;;; 我的其它程序,与创建菜单程序没啥大关系
(defun c:tlfs ()(alert "\n私人程序,真不提供。"))
(defun c:cxcs ()(alert "\n私人程序,真不提供。"))
(defun c:kkfj ()(alert "\n私人程序,真不提供。"))
(defun c:kbfj ()(alert "\n私人程序,真不提供。"))
强大,非常好用,适合初学lisp 还没学会,我只会加载 360527010 发表于 2015-4-28 22:31
请问下,这个加载程序是否有数量限制的?为什么我加到第25个lisp插件的时候就无法加载了?
解决了吗?我也遇到同样的问题 楼主,请问这一步(defun c:tlfs ()(alert "\n私人程序,真不提供。")) 具体怎么操作啊,比如20+个lsp程序,需要放到一个文件夹下吗?还是? 真心不错 本帖最后由 xhq1954425 于 2014-6-15 06:30 编辑
厉害!如果同时加载几个下拉菜单怎样改写……?
求指点,不懂如何使用 赞一个,不错 很好的菜单制作实例。。。
(write-line " [&KL水处理系统]" f) ; 显示的菜单头,没头可不行
&加热键
狼大师帖子要看的 360527010 发表于 2014-6-15 10:37 static/image/common/back.gif
求指点,不懂如何使用
考下来存为XX.lsp文件。在CAD里边直接加在这个lisp程序 大师们同时出手,我等有福了,支持学习 不错,只是加载菜单的速度较慢