明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: wzg356

[资源] 重写经典---麦版面板dcl 短小精干

  [复制链接]
 楼主| 发表于 2023-2-6 15:32 | 显示全部楼层
zxfddz 发表于 2023-2-6 15:05
这是要结合别的插件用的吗

程序命令自己填写,也可以自己把cad常用功能单命令不好记的填上去就行,前面的只是例子
发表于 2023-2-8 11:42 | 显示全部楼层
感谢楼主的分享
发表于 2023-2-10 10:23 | 显示全部楼层
本帖最后由 Yruz 于 2023-2-10 10:49 编辑
wzg356 发表于 2023-2-6 15:32
程序命令自己填写,也可以自己把cad常用功能单命令不好记的填上去就行,前面的只是例子

搞错写法,很不错的
发表于 2023-2-10 12:30 | 显示全部楼层
看看 学习一下,
发表于 2023-2-15 14:45 | 显示全部楼层
大佬可以把代码重新上传一下吗?不知道为啥,复制到文本后,加载总是或错列表缺陷或者多一个括号.
自己有点看不出来.
发表于 2023-2-15 15:03 | 显示全部楼层
本帖最后由 丶俗人 于 2023-2-15 19:03 编辑
丶俗人 发表于 2023-2-15 14:45
大佬可以把代码重新上传一下吗?不知道为啥,复制到文本后,加载总是或错列表缺陷或者多一个括号.
自己有点看 ...

已解决~
文本编码问题~
发表于 2023-2-15 15:41 | 显示全部楼层
感谢楼主分享。。
发表于 2023-2-17 21:35 | 显示全部楼层
  1. ;快捷键---图层控制
  2. (defun c:ww ()
  3. (mainpaneldcl
  4. (list
  5. (list "图层控制tcg"
  6. (list "图层关闭/l-" "layoff")
  7. (list "图层关闭(反)/tcgbf" "tcgbf")
  8. (list "全部显示/`"   "layon")
  9. (list "孤立图层/q" "layiso")
  10. (list "退出孤立/qq" "layuniso")
  11. )


  12. ))
  13. (princ))

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-2 08:47 , Processed in 0.382106 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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