之前一直使用的是常青藤的命令面板,后来发现不支持cad2026只得放弃。
在坛子内找了很多面板,都有各种问题,不是很如意,主要有以下问题:
1. lisp面板大多设置不方便,分组,命名以及命令分散在文件各处。
2. c++或.net的面板,又担心将来可能因为不更新导致无法继续使用。
花了一天的时候,在ai的帮助下,参考 牛皮工具箱 和 阳羡刚刚好工具箱 写了一个简单的工具箱。
特色如下:
1. 配置方便,正常使用的情况下,所有需要配置的内容均集中在代码前面,不需要挨个修改。
2. 循环生成按钮,牛皮工具箱我甚至没找到如何进行配置,大量的重复代码(总行数7259),让人无处下手。本程序现有代码约350行,实现了核心功能和一些必须的检测(并非拉踩)
3. 支持命令全名、命令别名(pgp文件内配置的)、以及lisp函数命令。不支持额外设置快捷键,需要自行在pgp文件内配置。
4. 最多9个tab,每个tab最多81个按钮,总计最多729的命令(不包含tab切换按钮),允许有空白按钮,方便自定义排序(甚至可以摆个字出来)
截图:
关于配置的主要内容,源码中都有注释,这里简单的说一下。
 - (setq *wyl:TabNum* 1) ;首次加载时默认的tab
- (setq wyl:btn_width " width=15 ;") ;默认按钮宽度
- (defun c:qw() ;命令调用名
- (wyl:main_GEN_MINGLING_PANEL *wyl:TabNum* )
- )
- ;; === 数据结构示例 ===
- (setq wyl:mingling_sonlist1 ; 这是一个tab
- (list "常用编辑" ; tab名
- (list
- ;分别是 行列数 命令显示名 执行内容,其中行列数最大为9,即最大为99,最小为1
- ;行列数可以不连续,也可不按顺序,空出来的会灰显,但是不能重复
- (list 11 "复制" "copy") ; 用命令全名
- (list 12 "移动" "m") ; 用快捷键别名 M
- (list 21 "删除" "e") ; 用快捷键别名 E
- (list 22 "测试" "(print 1)") ;直接调用函数
- (list 34 "测试" "(setq a 1)(print a)") ;多函数链式调用
- (list 24 "加载并调用" "(load "D:/_同步文件/lsp/批量图纸编号V3.lsp")(c:ttt)") ;加载并调用,注意双引号的转义和反斜杠/的使用
- (list 31 "" "1") ; 命令显示名为空白则无效
- (list 32 "空白" "") ; 命令执行内容为空,会生成可点击的按钮,但是不会执行任何内容
- )
- )
- )
- (setq wyl:mingling_sonlist2
- (list "不常用编辑"
- (list
- (list 11 "错误复制" "copy1")
- (list 12 "移动" "m")
- (list 21 "删除" "e")
- (list 23 "错误删除" "ee")
- (list 22 "测试2" "(print 2)")
- )
- )
- )
- (setq wyl:minglinglist
- (list
- (cons 1 wyl:mingling_sonlist1) ;选项卡编号及内容,同样的,只能在1到9
- (cons 3 wyl:mingling_sonlist2) ;选项卡编号可以不连续,但是顺序不能错,错了以后可能会出现意料之外的错误
- )
- )
命令名为qw,沿用了常青腾的设置,如果与常用快捷键冲突,可自行修改。
我其实更多的是使用上面tab1里24的那种调用方式,对于一些不常用的命令,用的时候再加载,也不需要特殊记忆快捷命令。这也是为什么这个面板不支持快捷命令配置的原因。
写的比较仓促,可能有各种问题和优化的空间。
|