469229020@QQ.CO 发表于 2022-12-31 16:44:01

有没有可以合并LISP工具到按钮合集工具?

有没有可以合并LISP工具到按钮合集工具?

意思是插入一个LISP文件到工具箱中,就能生成一个功能按钮。插入几个就能生成合集的工具,有没有呢?

wzg356 发表于 2023-1-1 12:28:07

想的太宽了,手工填一下不行吗?

vitalgg 发表于 2023-1-1 14:17:44

本帖最后由 vitalgg 于 2023-1-1 14:19 编辑


#+title: @lisp UI 交互系统

开发者可以很方便地在自己的应用中加入菜单。

菜单函数可以用在 您的应用包内任何 .lsp 文件中。

为了管理方便,可以写一个单独的文件如 menu.lsp , 用于管理你的应用包的菜单。

默认情况下,用户可以使用快捷键 *F1* 启动命令面板,按 *Esc* 退出面板,还有 *A-Z* 可以快速调用 面板中排在前面的 26 个功能。

* 菜单及命令面板

@lisp 可以在加载应用包时生成相应的菜单。目前 所有的功能菜单均集中于 菜单 @lisp(A) 中。

菜单功能和命令面板中的功能是一致的。

用户可以根据自己的习惯选择用菜单还是命令面板。

* 添加菜单
=@:add-menu= 函数用于创建单个菜单。

=@:add-menus= 用于创建多个菜单

** @:add-menu 说明与示例

#+BEGIN_SRC lisp
(@:add-menu "类别" "功能名称" '(功能函数 参数 ...))
(defun 功能函数 (参数 ...)
   "功能定义"
   )
#+END_SRC

示例(无参数):
#+BEGIN_SRC lisp
(@:add-menu "大绘图" "附着签名" '(@:attach-sign))
(defun @:attach-sign ( )
   ...
)
#+END_SRC

示例(有参数):

#+BEGIN_SRC lisp
(@:add-menu "大绘图" "插入图框" '(@:insert-tukuang "tukuang.dwg" @:*tukuang*))
(@:add-menu "变更及工程处理" "变更" '(@:insert-tukuang "bg-tukuang.dwg" @:*bg-tukuang*))
(@:add-menu "变更及工程处理" "处理方案" '(@:insert-tukuang "fa-tukuang.dwg" @:*fa-tukuang*))

(defun @:insert-tukuang (tk-file tk-dwg)
    ...)

#+END_SRC

** @:add-menus
#+begin_src lisp
;; 一个类别,多个功能
(@:add-menus
   '("类别"
   ("功能1" (expr1)) ; 本身在 quote 中,不用重复 quote
   ("功能2" (expr2))
   ("功能3" (expr3))))
;; 多个类别,多个功能
(@:add-menus
   '(("类别1"
      ("功能1" (expr1))
      ("功能2" (expr2))
      ("功能3" (expr3)))
   ("类别2"
      ("功能4" (expr6))
      ("功能5" (expr5))
      ("功能6" (expr4)))

#+end_src



* 短命令

@lisp 菜单和命令面板没有定义任何 命令行命令。

对于喜欢用键盘操作的用户,@lisp 将命令定义的权利完全交给了用户,用户可以自己定义喜欢的字母组合来启动功能。

#+begin_src lisp
(@:define-hotkey "SHORT"expr) ;; expr 可以不仅限于@lisp中的功能。
#+end_src

** TODO 编辑短命令 GUI 版本


* 非开发者

用户也可以添加自己的菜单

只需在的 @lisp 主文件夹下的 custom.lsp 中加入 @:add-menu(s) 相应的语言即可。






页: [1]
查看完整版本: 有没有可以合并LISP工具到按钮合集工具?