打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【新提醒】lisp创建自定义工具栏


初衷:我们在加载某个lisp程序时,如果同时为该程序自动生成个自定义工具栏使用起来就方便了。
实现:在加载lisp时,自动执行一段程序,创建一个mnu文件,写入工具栏内容,然后加载。
例子:

;;; 自动创建"动态轴测图"工具栏子程序
(defun create_zct.mnu ( / filen lst menuname stream tempname x)
  (defun getmenu ( / lst x)                         ; 获得cad加载的菜单列表
    (vlax-for x (vla-get-menugroups (vlax-get-acad-object)) (setq lst (cons (vla-get-name x) lst)))
  )
  (setvar "cmdecho" 0)
  (vl-load-com)
  (if (member "ZCT" (getmenu))                         ; 判断cad是否加载zct工具栏
    (command "TOOLBAR" "动态轴测图" "S")                ; 如果已加载,则显示该工具栏
    (progn                           ; 如果没加载,则自动执行下面程序
      (alert "\n程序自动创建\"动态轴测图\"工具栏,请稍后")
      (setq menuname (cond
         ((setq tempname "zct.mnu"        ; 在cad搜索目录创建一个菜单mnu文件
         filen (open tempname "w") ; 打开该菜单并写状态
   )
    (foreach stream '("***MENUGROUP=ZCT\n" "***TOOLBARS\n" ; 写入工具栏内容,图标最好采用cad自带的图标
       "**ZCT\n" "ID_ZCT001        [_Toolbar(\"动态轴测图\", _Floating, _Hide, 10, 340, 1)]\n"
       "ID_ZCT011        [_Button(\"轴测图直线\", \"RCDATA_16_OSNEND\", \"RCDATA_16_OSNEND\")]^C^Czline\n"
       "ID_ZCT012        [_Button(\"轴测图标注\", \"RCDATA_16_DIMOBL\", \"RCDATA_16_DIMOBL\")]^C^Czdim\n"
       "ID_ZCT013        [_Button(\"轴测图文字\", \"RCDATA_16_TEXEDI\", \"RCDATA_16_TEXEDI\")]^C^Cztext\n"
       "ID_ZCT014        [_Button(\"轴测图更改\", \"RCDATA_16_DIMOVE\", \"RCDATA_16_DIMOVE\")]^C^Czch\n"
      )
      (princ stream filen)
    )
    (close filen)     ; 关闭mnu文件
    tempname
         )
       )
      )
      (command "menuload" menuname)        ; 加载刚才创建的mnu文件
      (command "TOOLBAR" "动态轴测图" "S") ; 显示工具栏
    )
  )
  (princ)
)
(create_zct.mnu)                           ;本句的作用是加载本lisp就自动执行create_zct.mnu子程序


;;; 以下部分是正常的程序
(defun c:zline ()
  (alert "\n\"轴测图直线\"暂未开源")
  (princ)
)
(defun c:zdim ()
  (alert "\n\"轴测图标注\"源码在明经论坛")
  (princ)
)
(defun c:ztext ()
  (alert "\n\"轴测图文字\"暂未开源")
  (princ)
)
(defun c:zch ()
  (alert "\n\"轴测图更改\"暂未开源")
  (princ)
)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
CAD生成并加载菜单文件及工具条
AutoCAD工具栏丢失怎么办?
AutoCAD自定义菜单和工具栏
Lisp调用VBS函数的子程(测试)
LISP循环语句
*精制翻页相册(下)(ps教程)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服