明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: citykunan

加载下拉菜单

  [复制链接]
发表于 2004-4-3 21:51 | 显示全部楼层
学学看。
发表于 2004-4-7 09:21 | 显示全部楼层
郑大老板真乃高手,我正冥思苦想如何确保把自定义的菜单在不同的acad都插在同一位置呢。 不过我的程序浅显易懂 :) ;;加载自定义菜单
(defun c:ldmu ()
(setq pre_filedia (getvar "filedia"))
(setvar "filedia" 0)
(command "menuload" "menutest")
(menucmd "p11=+mymenu.pop1");注意=之后的+
(setvar "filedia" pre_filedia)
(princ)
)
;;卸载自定义菜单
(defun c:uldmu ()
(setq pre_filedia (getvar "filedia"))
(setvar "filedia" 0)
(command "menuunload" "mymenu")
(setvar "filedia" pre_filedia)
(princ)
)
发表于 2004-4-7 10:15 | 显示全部楼层

整合

整合之后,不过将菜单项改为倒数第二项了。 ;;加载自定义菜单到倒数第二项
;;菜单文件名为menutest.mnu,MENUGROUP=MYMENU
(defun c:ldmu (/ pre_filedia CNT)
(setq pre_filedia (getvar "filedia"))
(setvar "filedia" 0)
(command "menuload" "menutest")
(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) "=+mymenu.pop1"))
(setvar "filedia" pre_filedia)
(princ)
)
;;卸载自定义菜单
(defun c:uldmu (/ pre_filedia)
(setq pre_filedia (getvar "filedia"))
(setvar "filedia" 0)
(command "menuunload" "mymenu")
(setvar "filedia" pre_filedia)
(princ)
)
发表于 2004-4-7 11:14 | 显示全部楼层

优化

加载、卸载前先判断是否已经加载 ;;加载自定义菜单到倒数第二项
;;菜单文件名为menutest.mnu,MENUGROUP=MYMENU
(defun c:ldmu (/ pre_filedia CNT)
(if (not (menugroup "mymenu"))
(progn
(setq pre_filedia (getvar "filedia"))
(setvar "filedia" 0)
(command "menuload" "menutest")
(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) "=+mymenu.pop1"))
(setvar "filedia" pre_filedia)
)
(prompt "\n菜单已加载!")
)
(princ)
)
;;卸载自定义菜单
(defun c:uldmu (/ pre_filedia)
(if (menugroup "mymenu")
(progn
(setq pre_filedia (getvar "filedia"))
(setvar "filedia" 0)
(command "menuunload" "mymenu")
(setvar "filedia" pre_filedia)
)
(prompt "\n未找到需要卸载的菜单!")
)
(princ)
)
发表于 2004-4-7 17:31 | 显示全部楼层
飞哥的程序一定要好好看看的!
发表于 2004-4-7 19:53 | 显示全部楼层
不看不行
发表于 2004-4-12 20:45 | 显示全部楼层
飞版主你好,我是个初学者,想用lisp 语言在AutoCAD的菜单栏上加上一个菜单(“液压零件库”),能通过调用菜单调用名种零件,你能给我一点提示吗?


我在把零件做成经幻灯片后,请用如何在这个基础上建成一个图形库呢?


谢 谢!
发表于 2004-4-12 20:54 | 显示全部楼层
你要把图画好了,存成一个或多个文件,,我写过一个插入图块的程序,你可以搜索一下。。。
发表于 2004-4-12 21:23 | 显示全部楼层
xuexi
发表于 2004-4-13 08:37 | 显示全部楼层
meflying发表于2004-3-30 14:06:00既然你已知道menucmd这个函数,为什么不自己去试一下,要到这里问是否可以??? 希望你自己琢磨出来后再看: (menucmd \"p11=menug...

我也回复一个看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-6-18 20:25 , Processed in 0.159122 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表