本帖最后由 dcl1214 于 2025-10-21 14:34 编辑

  1. (defun $add-ToolBar$ (MenuGroup-N  Toolbar-N  data
  2.           lst     /    a
  3.           barbutton-obj    bitmaps
  4.           bmp-f     i    menugroup-obj
  5.           mnu-f     png    toolbar-bars
  6.           toolbar-new  toolbars-obj PNG-STR
  7.          )
  8.           ;($add-ToolBar$ nil nil nil nil)
  9.   (or MenuGroup-N (SETQ MenuGroup-N "Changli"))
  10.   (or Toolbar-N (SETQ Toolbar-N "YZ"))
  11.   (or data
  12.       (setq data (list
  13.        (LIST (CONS "功能" "画线")
  14.        (cons "快捷键" "(vl-cmdf \"line\")")
  15.        (cons "提示语" "鼠标靠上来命令行下面显示提示语")
  16.        (cons "图标" "fzd.bmp")
  17.        )
  18.        (LIST (CONS "功能" "画圆")
  19.        (cons "快捷键" "(vl-cmdf \"CIRCLE\")")
  20.        (cons "提示语" "鼠标靠上来命令行下面显示提示语")
  21.        (cons "图标" "fzd.bmp")
  22.        )
  23.      )
  24.       )
  25.   )
  26.   (SETQ  MenuGroup-obj
  27.    (vl-catch-all-apply
  28.      'vla-Item
  29.      (list (vla-get-MenuGroups (vlax-get-Acad-Object))
  30.      MenuGroup-N
  31.      )
  32.    )
  33.   )
  34.   (IF (vl-catch-all-error-p MenuGroup-obj)
  35.     (SETQ MenuGroup-obj NIL)
  36.   )
  37.   (setq Toolbar-bars nil)
  38.   (if MenuGroup-obj
  39.     (setq toolbars-obj
  40.      (vl-catch-all-apply
  41.        'vla-get-toolbars
  42.        (LIST
  43.          MenuGroup-obj
  44.        )
  45.      )
  46.     )
  47.   )
  48.   (IF MenuGroup-obj
  49.     (vlax-for x  toolbars-obj
  50.       (setq Toolbar-bars (cons (vla-get-name x) Toolbar-bars))
  51.     )
  52.     (PRINT "没有安装中线CAD")
  53.   )
  54.   (IF (or (vl-position (STRCASE Toolbar-N T) Toolbar-bars)
  55.     (vl-position Toolbar-N Toolbar-bars)
  56.       )
  57.     (vla-delete
  58.       (vl-catch-all-apply
  59.   'vla-Item
  60.   (list toolbars-obj
  61.         Toolbar-N
  62.   )
  63.       )
  64.     )
  65.     (progn
  66.       (setq Bitmaps nil)
  67.       (setq ToolBar-NEW
  68.        (vl-catch-all-apply
  69.          'vla-Add
  70.          (list toolbars-obj Toolbar-N)
  71.        )
  72.       )
  73.       (setq i 0)
  74.       (while (setq a (car data))
  75.   (setq barButton-obj
  76.          (vl-catch-all-apply
  77.      'vla-AddToolbarButton
  78.      (list
  79.        ToolBar-NEW
  80.        i
  81.        (cdr (assoc "功能" a))
  82.        (cdr (assoc "提示语" a))
  83.        (strcat
  84.          "(if c:yz()(vl-catch-all-apply 'load(list(findfile \"yz.vlx\"))))"
  85.          (cdr (assoc "快捷键" a))
  86.          " "
  87.        )
  88.        0
  89.      )
  90.          )
  91.   )
  92.   (setq png(SETQ PNG-STR (cdr (assoc "图标" a))))
  93.   (if png
  94.     (if (and png (setq png (findfile png)))
  95.       (progn
  96.         (vla-GetBitmaps
  97.     barButton-obj
  98.     'SmallBitmapName
  99.     'LargeBitmapName
  100.         )
  101.         (vla-SetBitmaps
  102.     barButton-obj
  103.     png
  104.     png
  105.         )
  106.       )
  107.       (print (strcat "没有找到: " png-STR))
  108.     )
  109.   )
  110.   (setq i (1+ i))
  111.   (setq data (cdr data))
  112.       )
  113.       (vl-catch-all-apply 'vla-put-Visible(list ToolBar-NEW :vlax-true))
  114.     )
  115.   )
  116.   (vl-catch-all-apply
  117.     'vlax-release-object
  118.     (list MenuGroup-obj)
  119.   )
  120.   (vl-catch-all-apply
  121.     'vlax-release-object
  122.     (list toolbars-obj)
  123.   )
  124.   (vl-catch-all-apply 'vlax-release-object (list ToolBar-NEW))
  125.   (setq  MenuGroup-obj nil
  126.   toolbars-obj  nil
  127.   ToolBar-NEW   nil
  128.   )
  129.   (gc)
  130. )



网友答:
sachindkini 发表于 2025-10-21 14:36
thanks for sharing

WHERE ARE YOU FROM

网友答:
sachindkini 发表于 2025-10-23 13:30
我来自印度

是天竺的那个印度吗

网友答:
664571221 发表于 2025-10-23 10:15
WHERE ARE YOU FROM

我来自印度

网友答: 非常感谢分享 刚好需要这个

网友答: 源码好定西

网友答: thanks for sharing

网友答: 感谢大佬分享

网友答: 源码好东西

网友答: 感谢大佬分享

网友答: 感谢大佬的分享

网友答: 怎么用的呀
  • 上一篇:如何识别实体是否为复合实体
  • 下一篇:没有了