明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1434|回复: 10

[基础] lisp添加菜单

[复制链接]
发表于 2019-9-25 12:58 | 显示全部楼层 |阅读模式
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


发表于 2019-9-25 13:24 | 显示全部楼层
cuiload加载MNU
 楼主| 发表于 2019-9-25 13:33 | 显示全部楼层

menuload也可以加载菜单,应该不是这个原因
发表于 2019-9-25 13:41 | 显示全部楼层
看看帮助吧。
 楼主| 发表于 2019-9-25 14:08 | 显示全部楼层
我在末尾添加" princ ",发现执行了
只是菜单没有添加成功,不知道为什么
 楼主| 发表于 2019-9-25 14:21 | 显示全部楼层
发现问题了
(command "_.menuload" "sq214cad.mnu")这里需要使用绝对路径
想问一下,lisp怎么使用相对路径
发表于 2019-9-26 07:54 | 显示全部楼层
(command "_.menuload" (findfile "sq214cad.mnu"))
发表于 2019-9-26 08:55 | 显示全部楼层
(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)
 楼主| 发表于 2019-9-26 09:05 | 显示全部楼层
slysmart 发表于 2019-9-25 14:21
发现问题了
(command "_.menuload" "sq214cad.mnu")这里需要使用绝对路径
想问一下,lisp怎么使用相对路 ...

这个好用,谢谢
 楼主| 发表于 2019-9-26 14:44 | 显示全部楼层

findfile()函数的功能是在autoCAD的当前目录
我的文件不在autoCAD的当前目录,如何能让findfile()函数找到指定目录?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-10 01:13 , Processed in 0.142394 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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