明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2387|回复: 12

工具箱?

[复制链接]
发表于 2021-8-12 13:18:14 | 显示全部楼层 |阅读模式
本帖最后由 pengl86 于 2021-8-30 13:31 编辑

大家有木有工具箱的壳,可以很方便加载自己日常搜集的小插件
发表于 2021-8-27 15:26:09 | 显示全部楼层
  1. (defun c:yw ()
  2. (setq ln (list ;;这里是你要加载的程序
  3. "G:\\面板\\程序1.lsp"
  4. "G:\\面板\\程序2.lsp"
  5. "G:\\面板\\程序3.lsp"
  6. ))
  7. (mapcar '(lambda(x) (vl-catch-all-apply 'vl-load-all (list x))) ln)
  8.   (make_panel
  9.     (list
  10.      (list "第一列" ;;第一列
  11.             (list "程序1" "cx1") ;(list  按钮标签  运行的命令)
  12.             (list "程序2" "cx2")
  13.             (list "程序3" "cx3")
  14.       );;第一列
  15.       (list "第二列";第二列
  16.             (list "功能名称" "命令快捷键") ;(list  按钮标签  运行的命令)
  17.             (list "直线" "line")
  18.       ) ;;第二列 复制时注意起止括号,LISP括号必须成对..
  19.       (list "第三列";都可以自己修改
  20.             (list "圆" "CIRCLE")
  21.       )
  22.     )
  23.   )
  24.   (princ)
  25. )
  26. (defun make_panel ( menulist / n num_nobut num_button nn nnn menuname val_lst add_dclrow tt order_lst in num_image)
  27.   (defun add_dclrow ( dstr / ) (if dstr (setq val_lst (cons dstr val_lst))))
  28.   (setq menuname (strcat (vl-filename-mktemp) "temp_pannel.dcl"));
  29.   (setq rq (menucmd "M=$(edtime,$(getvar,date),YYYY年MO月DD日)"))
  30.   (add_dclrow "curbutton:button{width=10;vertical_margin=none;vertical_margin=none;}")
  31.   (add_dclrow "curimage:image{width=10;height=0.2;vertical_margin=none;vertical_margin=none;}")
  32.   (add_dclrow "curpanel:dialog{label="回归-雁工具箱";alignment=centered;vertical_margin=none;horizontal_margin=none;")
  33.   (add_dclrow "spacer;")
  34.   (add_dclrow ":column{")
  35.   (add_dclrow ":row{")
  36.   (setq len (apply 'max (mapcar 'length menulist))
  37.         order_lst (apply 'append (mapcar 'cdr menulist))
  38.         num_button 0
  39.         num_nobut 0
  40.         in 0
  41.         num_image 0
  42.   )
  43.   (foreach nn menulist
  44.         (setq in 0)
  45.         (add_dclrow (strcat " : boxed_column{label="" (car nn) "";vertical_margin=none; horizontal_margin=none;"))
  46.         (foreach nnn (cdr nn)
  47.            (setq num_button (1+ num_button)
  48.                  in (1+ in)
  49.                  num_image (1+ num_image)
  50.                  tt (car nnn)
  51.                  tt (if tt tt "")
  52.            )
  53.            (add_dclrow (strcat ":curbutton{label="" tt "";key="but" (itoa num_button) "";}"))
  54.            (if (= 4 in)
  55.                (progn (add_dclrow (strcat ":curimage{key="ima" (itoa num_image) "";}"))
  56.                       (setq in 0)
  57.                )
  58.            )
  59.         )
  60.         (repeat (- len (length nn))
  61.            (setq num_nobut (1+ num_nobut)
  62.                  in (1+ in)
  63.                  num_image (1+ num_image)
  64.            )
  65.            (add_dclrow (strcat " : curbutton{key="butno" (itoa num_nobut) "";}"))
  66.            (if (= 4 in)
  67.                (progn (add_dclrow (strcat ":curimage{key="ima" (itoa num_image) "";}"))
  68.                       (setq in 0)
  69.                )
  70.            )
  71.         )
  72.         (add_dclrow "spacer;}")
  73.   )
  74.    (add_dclrow "}:button{label="关闭";key="cancel";is_cancel=true;width=10;fixed_width=true;alignment=centered;}}")
  75.    (add_dclrow (strcat ":concatenation {:text_part {label="作者:QQ276863649 今日日期:";}:text {width=12;label="" rq "";}:text_part{label=" ";}}}"))
  76.    (vl-file-delete menuname)
  77.    (setq nn (open menuname "w"))
  78.    (foreach n (reverse val_lst) (write-line n nn))
  79.    (close nn)
  80.    (setq nnn (load_dialog menuname))
  81.    (if (not (new_dialog "curpanel" nnn)) (exit))
  82.    (setq n 0)
  83.    (repeat num_nobut (mode_tile (strcat "butno" (itoa num_nobut)) 1) (setq num_nobut (1- num_nobut)))
  84.   (foreach nn menulist
  85.         (foreach nnn (cdr nn)
  86.            (setq n (1+ n)
  87.                  tt (car nnn)
  88.                  tt (if tt tt "")
  89.            )
  90.            (if (= tt "")
  91.                (mode_tile (strcat "but" (itoa n)) 1)
  92.                (action_tile (strcat "but" (itoa n)) (strcat "\(done_dialog " (itoa n) "\)"))
  93.            )
  94.         )
  95.   )
  96.    (setq nn (start_dialog))
  97.    (unload_dialog nnn)
  98.    (vl-file-delete menuname)
  99.   (if (> nn 0)
  100.        (progn (setq tt (cadr (nth (1- nn) order_lst)))
  101.               (princ "\n")
  102.               (if (= (eval (read (strcat "(type c:" tt ")"))) 'SUBR)
  103.                   (eval (read (strcat "(c:" tt ")")))
  104.                   (vl-cmdf tt)
  105.               )
  106.        )
  107.    )
  108. )
发表于 2021-8-13 06:44:53 | 显示全部楼层
本帖最后由 vitalgg 于 2021-8-13 06:48 编辑

你说的不就是  @lisp
主页: http://atlisp.cn


加菜单加面板一个函数搞定

  1. ;; 添加单个菜单项
  2. (@:add-menu "类别" "功能" "执行命令")
  3. ;; 添加多个菜单项
  4. (@:add-menus
  5. '(("类别" ("功能1" "执行命令1")
  6.              ("功能2" "执行命令2")
  7.              ("功能3" "执行命令3"))))






发表于 2021-8-12 14:04:18 | 显示全部楼层
本帖最后由 尘缘一生 于 2021-8-12 17:29 编辑

工具箱的壳?意思是什么?
工具箱很多,恕我直言,大多数都不行,机械堆砌吗?看什么好,弄一起,也美其名曰:插件。。。。

1:贱人DCL界面,一大片,好吗?
2:天正屏幕菜单,好吗?画图效率是最快的?
3:CAD之ribbon菜单?好吗?
4:速腾菜单可好?有版本限制,你愿意用,一直用,CAD版本升级到2030,你还能用吗?



如果有兴趣,去看看燕秀怎么作的吧,这才是内行插件;大家看上面截图,用了这么多COMMAND  也好意思?
如果自己使用,有个程序能自动加载,本坛有代码,方法也很多种。





本帖子中包含更多资源

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

x
 楼主| 发表于 2021-8-13 07:56:02 | 显示全部楼层
vitalgg 发表于 2021-8-13 06:44
你说的不就是  @lisp
主页: http://atlisp.cn

可以加载日常自己搜集的插件,是吗。
发表于 2021-8-13 08:30:53 | 显示全部楼层
pengl86 发表于 2021-8-13 07:56
可以加载日常自己搜集的插件,是吗。

可以加载那个网站上收集的插件。  自己本地的插件需要处理一下,也可以。
 楼主| 发表于 2021-8-13 09:06:17 | 显示全部楼层
尘缘一生 发表于 2021-8-12 14:04
工具箱的壳?意思是什么?
工具箱很多,恕我直言,大多数都不行,机械堆砌吗?看什么好,弄一起,也美其名 ...

这个很强大,搜索一下,可以定做吗,
 楼主| 发表于 2021-8-13 09:06:59 | 显示全部楼层
尘缘一生 发表于 2021-8-12 14:04
工具箱的壳?意思是什么?
工具箱很多,恕我直言,大多数都不行,机械堆砌吗?看什么好,弄一起,也美其名 ...

工具箱壳,就是可以加载自己搜集的插件,然后可以生成目录或者菜单,
发表于 2021-8-13 16:44:48 | 显示全部楼层
pengl86 发表于 2021-8-13 09:06
工具箱壳,就是可以加载自己搜集的插件,然后可以生成目录或者菜单,

自动加载,实际就是个程序罢了,大凡插件,都开发一个用户自由扩展的文件夹,留给用户自由添加的。
发表于 2021-8-30 12:37:17 | 显示全部楼层

指令: AP
APPLOAD YW.LSP  成功载入。


指令:
指令:
指令: YW
渣昫 : 引数太多
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 08:25 , Processed in 0.166712 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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