414249149 发表于 2025-8-18 00:36:03

一键选中尺寸标注

(defun c:SSBZ (/ ss old-cmdecho)
; 保存并屏蔽命令行提示
(setq old-cmdecho (getvar "CMDECHO"))
(setvar "CMDECHO" 0)
(princ "\n-->请框选范围以选择标注、文字和引线: ")
; 使用默认框选模式选择对象
(if (setq ss (ssget '((-4 . "<OR")
                        (0 . "DIMENSION") ; 标注
                        (-4 . "OR>"))))   ; 闭合OR逻辑
    (progn
      (sssetfirst nil ss) ; 高亮显示选中的对象
      (princ (strcat "\n成功选中 " (itoa (sslength ss)) " 个对象!")))
    (princ "\n未找到符合条件的对象或未进行选择!"))
; 恢复命令行设置
(setvar "CMDECHO" old-cmdecho)
(princ)
)

qazxswk 发表于 2025-8-18 00:43:25

(ssget '((-4 . "<OR")(0 . "DIMENSION")(-4 . "OR>"))) 可以写成 (ssget'( (0 . "DIMENSION"))),不是更简单一点吗?

414249149 发表于 2025-8-18 10:15:41

qazxswk 发表于 2025-8-18 00:43
(ssget '((-4 . ""))) 可以写成 (ssget'( (0 . "DIMENSION"))),不是更简单一点吗?

确实更简单

lxl304712346 发表于 2025-8-18 10:46:29

只能选中标注哦:D-

qazxswk 发表于 2025-8-18 16:17:25

lxl304712346 发表于 2025-8-18 10:46
只能选中标注哦

可以在 "DIMENSION"后面添加你想要过滤的类型,如"TEXT"、"MTEXT"等。

chslwj521 发表于 2025-8-18 16:49:50

SSGET的妙用可不只如此哦。有兴趣可查看葵花宝典

菜鸟初来乍到 发表于 2025-8-18 18:41:01

感谢大佬分享

pxt2001 发表于 2025-8-25 15:51:35

仅一个尺寸类型,写死了,宜新增选项适配各种类型
页: [1]
查看完整版本: 一键选中尺寸标注