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
面板的汉字乱码