明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 20944|回复: 64

[源码] 面板源码

    [复制链接]
发表于 2017-8-24 17:03 | 显示全部楼层 |阅读模式
无聊没事发着玩,也是修改xshrimp的,不要喷我

本帖子中包含更多资源

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

x

评分

参与人数 3明经币 +3 收起 理由
lee50310 + 1 赞一个!
fangmin723 + 1 赞一个!
USER2128 + 1 赞一个!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下

本帖被以下淘专辑推荐:

发表于 2020-8-24 13:08 | 显示全部楼层
1291500406 发表于 2019-4-23 18:10
把一个数字改掉151改成1~255之间的数

大佬,这个面板源码能奉献下不
回复 支持 0 反对 1

使用道具 举报

发表于 2019-6-20 20:09 | 显示全部楼层
  1. (setq lst '(("钢筋书写"
  2.              ("钢筋结钩" "xyp-gjg")
  3.              ("另类镜像" "lljx")
  4.              ("板筋处理" "bjcl ")
  5.              ("动态板筋" "dtbj")
  6.             )
  7.             ("注筋标注"
  8.              ("注筋排版" "zjpb")
  9.              ("注筋左置 " "zjzz")
  10.              ("注筋移位 " "zjyw")
  11.              ("改图层名 " "gtcm")
  12.             )
  13.             ("桩基网架"
  14.              ("桩基承台 " "zjct")
  15.              ("桩基统计 " "zjtj")
  16.              ("平板网架 " "pbwj")
  17.              ("曲线桁架 " "qxhj")
  18.             )
  19.             ("编辑处理"
  20.              ("改粱编号" "glbh")
  21.              ("梁宽校对" "lkjd")
  22.              ("梁柱修剪" "lzxj")
  23.              ("井字梁 " "xyp-jzl")
  24.             )
  25.            )
  26. )
  27. ;;(dcl-load lst)
  28. (defun dcl-load        (lst         /         make-dcl         do_buttion
  29.                  dclid         dd         i         loop         lst1         lst2
  30.                  m         n2         tt
  31.                 )
  32.   (defun do_buttion (tt)
  33.     (if        (= (eval (read (strcat "(type c:" tt ")"))) 'subr)
  34.       (eval (read (strcat "(c:" tt ")")))
  35.       (vl-cmdf tt)
  36.     )
  37.   )
  38.   (setq lst1 (mapcar 'car lst))
  39.   (defun make-dcl (lst / dcla dclb dclc dcld i lst2 m)
  40.     (setq dcla
  41.            (list "my_dialog:dialog{label = \"防迷你菜单\";")
  42.     )
  43.     (setq i 0)
  44.     (setq dclb (list ":row{:boxed_column{label = \"【菜单分组】\";"))
  45.     (foreach n lst1
  46.       (setq dclb
  47.              (append
  48.                dclb
  49.                (list
  50.                  (strcat
  51.                    ":button{label=\""
  52.                    n
  53.                    "\";key = \"butt"
  54.                    (itoa i)
  55.                    "\";vertical_margin=none;vertical_margin=none;}"
  56.                  )
  57.                )
  58.              )
  59.       )
  60.       (setq i (1+ i))
  61.     )

  62.     (setq lst2 (cdr (assoc (nth 0 lst1) lst)))
  63.     (setq dclc (list "}:boxed_column{"))
  64.     (setq m 0)
  65.     (foreach n1        lst2
  66.       (setq dclc
  67.              (append
  68.                dclc
  69.                (list
  70.                  (strcat
  71.                    ":button{label=\""
  72.                    (car n1)
  73.                    "\";key = \"but"
  74.                    (itoa m)
  75.                    "\";vertical_margin=none;vertical_margin=none;}"
  76.                  )
  77.                )
  78.              )
  79.       )
  80.       (setq m (1+ m))
  81.     )
  82.     (setq dcld
  83.            (list
  84.              "}}:button{label=\"关闭\";key=\"cancel\";is_cancel=true;width=10;fixed_width=true;alignment=centered;}}"
  85.            )
  86.     )
  87.     (append dcla dclb dclc dcld)
  88.   )
  89.   (new_dialog
  90.     "my_dialog"
  91.     (setq dclid (dcl-write (make-dcl lst)))
  92.   )
  93.   (setq loop t)
  94.   (while loop
  95.     ;|
  96.     (setq i 0)
  97.     (repeat (length lst1)
  98.       (action_tile
  99.         (strcat "butt" (itoa i))
  100.         (progn (setq lst2 (cdr (assoc (nth i lst1) lst))
  101.                      m          0
  102.                )
  103.                (foreach        n2 lst2
  104.                  (set_tile (strcat "but" (itoa m)) (car n2))
  105.                  (action_tile
  106.                    (strcat "but" (itoa m))
  107.                    (progn
  108.                      (setq tt (cadr (nth m lst2)))
  109.                      (do_buttion tt)
  110.                    )
  111.                  )
  112.                  (setq m (1+ m))
  113.                )
  114.         )
  115.       )
  116.       (setq i (1+ i))
  117.     )|;
  118.     (setq dd (start_dialog))
  119.     (cond
  120.       ((= 0 dd) (setq Loop nil))
  121.     )
  122.   )
  123.   (unload_dialog dclid)
  124. )
  125. (defun dcl-write (lst / dcl_file file str dcl_id dcl-name)
  126.   (setq dcl_file (vl-filename-mktemp nil nil ".dcl"))
  127.   (setq file (open dcl_file "w"))
  128.   (foreach str lst (write-line str file))
  129.   (close file)
  130.   (setq dcl_id (load_dialog dcl_file))
  131.   (vl-file-delete dcl_file)
  132.   dcl_id
  133. )
  134. 没法完成了,看下
回复 支持 1 反对 0

使用道具 举报

发表于 2017-8-25 17:24 | 显示全部楼层
本帖最后由 fangmin723 于 2017-8-25 17:33 编辑
独沐秋枫 发表于 2017-8-25 11:59
请问如何往里添加工具?

(defun c:drawline(/ p0) (command "LINE" (setq p0 (getpoint "\n指定第一个点:")) (getpoint p0 "\n指定第二个点:") ""))

把这句先加载到CAD里面去,然后再改(action_tile "1lab" "(alert \" 按了1lab\")")这句为(action_tile "1lab" "(done_dialog 2)"),改
  1. (cond
  2.       ((= 0 dd) (setq Loop nil))
  3.       ((= 2 dd) (setq Loop nil) (c:drawline))
  4.     )

然后加载tabs1.lsp文件,输ta1运行程序,选择工具一,点击名为1lab按钮试试!
回复 支持 0 反对 1

使用道具 举报

 楼主| 发表于 2017-8-25 10:43 | 显示全部楼层
fangmin723 发表于 2017-8-25 08:14
本帖最后由 fangmin723 于 2017-8-25 08:51 编辑
谢谢楼主的分享,两个文件一起用还是觉得太麻烦了,请原 ...

随便整,我发源码也没收钱目的就是让你们随便整
回复 支持 1 反对 0

使用道具 举报

发表于 2017-8-24 17:55 | 显示全部楼层
看到的第一眼感觉  怎么那么像迷你的面板
发表于 2017-8-25 08:14 | 显示全部楼层
本帖最后由 fangmin723 于 2017-8-25 11:43 编辑

谢谢楼主的分享,两个文件一起用还是觉得太麻烦了,请原谅我把两个文件整合了,

如果有违楼主个人意愿,请通知删除!



注意:这个-From:dcl->lsp V1.8.6(beta)是用工具转化后自动生成的,如果不需要,可以在源代码里面进行去除!
楼主给的代码里面不含这个!

本帖子中包含更多资源

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

x

评分

参与人数 1明经币 +2 收起 理由
xyp1964 + 2 赞一个!

查看全部评分

发表于 2017-8-25 08:17 | 显示全部楼层
感谢楼主分享
发表于 2017-8-25 09:51 | 显示全部楼层
我就喜欢这个
发表于 2017-8-25 11:39 | 显示全部楼层
hao3ren 发表于 2017-8-25 10:43
随便整,我发源码也没收钱目的就是让你们随便整

发表于 2017-8-25 11:59 | 显示全部楼层
请问如何往里添加工具?
发表于 2017-8-25 13:04 来自手机 | 显示全部楼层
如果是无模式对话框,那就完美了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-25 16:21 , Processed in 0.617724 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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