wzg356 发表于 2023-2-6 15:32:20

zxfddz 发表于 2023-2-6 15:05
这是要结合别的插件用的吗

程序命令自己填写,也可以自己把cad常用功能单命令不好记的填上去就行,前面的只是例子

spp_wall 发表于 2023-2-7 08:24:26

支持!!!!!!!!!

灰石Jeremy 发表于 2023-2-8 11:42:07

感谢楼主的分享

Yruz 发表于 2023-2-10 10:23:55

本帖最后由 Yruz 于 2023-2-10 10:49 编辑

wzg356 发表于 2023-2-6 15:32
程序命令自己填写,也可以自己把cad常用功能单命令不好记的填上去就行,前面的只是例子
搞错写法,很不错的

hzyhzjjzh 发表于 2023-2-10 12:30:20

看看 学习一下,{:1_1:}

丶俗人 发表于 2023-2-15 14:45:49

大佬可以把代码重新上传一下吗?不知道为啥,复制到文本后,加载总是或错列表缺陷或者多一个括号.
自己有点看不出来.

丶俗人 发表于 2023-2-15 15:03:20

本帖最后由 丶俗人 于 2023-2-15 19:03 编辑

丶俗人 发表于 2023-2-15 14:45
大佬可以把代码重新上传一下吗?不知道为啥,复制到文本后,加载总是或错列表缺陷或者多一个括号.
自己有点看 ...
已解决~
文本编码问题~

chslwj521 发表于 2023-2-15 15:41:05

感谢楼主分享。。

zmzk 发表于 2023-2-17 21:35:33

;快捷键---图层控制
(defun c:ww ()
(mainpaneldcl
(list
(list "图层控制tcg"
(list "图层关闭/l-" "layoff")
(list "图层关闭(反)/tcgbf" "tcgbf")
(list "全部显示/`"   "layon")
(list "孤立图层/q" "layiso")
(list "退出孤立/qq" "layuniso")
)


))
(princ))

;面板主程序
(vl-load-com)
(defun mainpaneldcl (strklst / maxl keylst n nn lcmd ff f id cmd)
      (setq ff(vl-filename-mktemp "temp_pannel.dcl") f(open ff "w"))
      (write-line "MYbutton:button{width =10;vertical_margin=none;horizontal_margin=none;}" f)
      (write-line "MYpanel:dialog{label=\"xx工具\";:row{" f)
      (setq n 0 nn(mapcar 'length (mapcar 'cdr strklst)) maxl(apply 'max nn));表长
      (mapcar (function(lambda(x / l1)
                (write-line(strcat ":column{label=" (vl-prin1-to-string(car x))";")f)
                (setq x(cdr x) x(append x(repeat(- maxl(length x))(setq l1(cons '("" "")l1)))));表补长
                (mapcar (function(lambda(y / k)
                        (setq k(strcat "key" (itoa(setq n(1+ n)))))
                        (write-line(strcat
                              ":MYbutton{label="(vl-prin1-to-string(car y))";key= "(vl-prin1-to-string k)
                              (if(= (setq y(cadr y)) "")";is_enabled = false;}" ";}");填充的空白键
                        )f)                        
                        (setq keylst(cons k keylst) lcmd(cons y lcmd));键表key1开始/命令表
                ))x)
                (write-line "}" f)
      ))strklst)
      (write-line "}:row{" f)
      (write-line(if(> (length nn)2)":text{label=\"盛年不再来!岁月不待人!\";is_enabled = false;}" "spacer_0;")f)
      (write-line":button{label=\"关闭\"; key=\"cancel\";is_cancel=true;width=6;fixed_width=true;}" f)
      (write-line "spacer_0;}}" f)
      (close f)
      (setq id(load_dialog ff))(vl-file-delete ff)
      (new_dialog "MYpanel" id "3" P_MYpaneldcl)
      (mapcar (function(lambda(x)(action_tile x(strcat "(setq P_MYpaneldcl(done_dialog "(substr x 4)"))"))))keylst)
      (setq n (start_dialog))(unload_dialog id)      
      (if(> n 0)(if(wcmatch(setq cmd(nth(1- n)(reverse lcmd))) "(*)")(eval(read cmd));(函数)方式
                (vla-SendCommand(vla-get-ActiveDocument(vlax-get-acad-object))(strcat cmd "\n"));c:命令方式,方便重复执行
      ));点击按钮的值
)我的程序汉字面板为什么是乱码的啊?

zmzk 发表于 2023-2-17 21:37:21

面板的汉字乱码
页: 1 2 [3] 4 5 6 7 8
查看完整版本: 重写经典---麦版面板dcl 短小精干(20241016传可伸缩版))