本帖最后由 开心无惧 于 2025-6-23 13:54 编辑

请教  问一下
因为有时需要查看具体的数量,有时需要检查是否有图形被选中,
但是ctrl+1 打开特性面板 觉得占用屏幕空间,每次都按一下ctrl+1 也觉得麻烦;


想自定义工具栏可以直接显示特性面板里带数量的功能,根据选择图形的多少,直接在工具栏里显示数量?

或者 另外的方法  
不输入任何命令  是否可以每次在鼠标选择图形后  命令行里显示被选择图形的数量?



网友答: 77777777777777777


网友答: (defun c:StartSelectionReactor ( / reactor)
  ; 创建编辑器反应器回调函数
  (defun SelectionChanged (reactor argList)
    (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
    (setq ss (vla-get-PickfirstSelectionSet doc))
    (setq countDict '())
   
    ; 遍历选择集并分类计数
    (vlax-for ent ss
      (setq objType (vla-get-ObjectName ent))
      (setq countDict
        (if (setq pair (assoc objType countDict))
          (subst (cons objType (1+ (cdr pair))) pair countDict)
          (cons (cons objType 1) countDict)
        )
      )
    )
   
    ; 打印统计结果
    (if countDict
      (foreach item countDict
        (princ (strcat "\n" (car item) ": " (itoa (cdr item))))
      
    )
    (princ)
  )
  )
  ; 创建编辑器反应器监听pickfirstModified事件
  (setq reactor (vlr-miscellaneous-reactor
                  "SelectionReactor"
                  '((:vlr-pickfirstModified . SelectionChanged))))
  
  (princ "\n*** 选择集反应器已激活 ***")
  (princ "\n选择或取消选择图形查看统计信息")
  (princ)

)
; 启动反应器
(c:StartSelectionReactor)
                ; 停止反应器
;(vlr-remove (car (vlr-reactors :vlr-miscellaneous-reactor)))

网友答: 去LEEMAC的网站逛下,那边有

网友答:
和尚777 发表于 2025-6-23 15:46
(defun c:StartSelectionReactor ( / reactor)
  ; 创建编辑器反应器回调函数
  (defun SelectionChanged ...

感谢 我试一下
  • 上一篇:AUTOCAD中中,用ucs建立新坐标系之后,如何设置让
  • 下一篇:没有了