Tharwat 发表于 2022-7-5 19:01:13

 
考虑一下这一点。
 

(defun c:sall (/ s ss)
(if (and (setq s (car (entsel "\nSelect object on layer to select All : ")))
          (setq ss (ssget "_X" (list (assoc 8 (entget s)))))
          )
   (alert (strcat "Items selected < " (itoa (sslength ss)) " >"))
   )
(sssetfirst nil ss)
(princ)
)

Happy Hobbit 发表于 2022-7-5 19:04:45

太好了,这很有效。
 
不过我做了一些小改动,删除了“_X”,因为我需要选择要选择的内容&从“警报”更改为“普林斯”。希望你不介意
 
(defun c:SALL(/ s ss)
(if (and (setq s (car (entsel "\nSelect object on layer to select : ")))
          (setq ss (ssget (list (assoc 8 (entget s)))))
          )
(princ (strcat "\n "(itoa (sslength ss))" items selected"))
   )
(sssetfirst nil ss)
(princ)
)

Tharwat 发表于 2022-7-5 19:08:14

 
当然不介意,快乐编码。

StevJ 发表于 2022-7-5 19:10:59

 
很多时候,我需要更改层上所有文本的高度或大小,我发现Tharwat的程序可以完美地实现这一目的,但有一个例外:它选择层上的所有内容,而不仅仅是文本。
在进行了大量搜索并试图理解这个简单的程序后,一些心理障碍使我无法使其仅选择图层上的文本对象。可悲的是,在绝望中,我发现自己希望ssget有一个“T”选项。
请你们中的一个善良的灵魂解释一下怎么做?
 
谢谢
史蒂夫

Happy Hobbit 发表于 2022-7-5 19:14:01

尝试将第3行更改为:
(setq ss (ssget "_X" (list (assoc 8 (entget s)) '(0 . "TEXT,MTEXT"))))
 
或者,如果您不想包括多行文字,那么:
   (setq ss (ssget "_X" (list (assoc 8 (entget s)) '(0 . "TEXT"))))

Tharwat 发表于 2022-7-5 19:15:32

 
嗨,史蒂夫。
 
试试这个:
 

(defun c:Test (/ s h ss doc i e)
;;    Tharwat 24.10.2015    ;;
(princ
   "\nSelect Text on layer to change height for all texts on the same layer :"
)
(if (and (setq s (ssget "_+.:S:L:E" '((0 . "TEXT,MTEXT"))))
          (setq h (getdist "\nSpecify text height :"))
          (setq ss
               (ssget "_X"
                        (list '(0 . "TEXT,MTEXT") (assoc 8 (entget (ssname s 0))))
               )
          )
   )
   (progn
   (vla-startUndomark
       (setq doc (vla-get-activedocument (vlax-get-acad-object)))
   )
   (repeat (setq i (sslength ss))
       (entmod
         (subst (cons 40 h)
                (assoc 40 (setq e (entget (ssname ss (setq i (1- i))))))
                e
         )
       )
   )
   (vla-Endundomark doc)
   )
)
(princ)
)(vl-load-com)

StevJ 发表于 2022-7-5 19:19:08

哈比人的修改建议和塔尔瓦特的新计划都很好地发挥了作用,非常感谢你们的回应。
然而,关于
快乐的霍比特人和
12和Tharwat's
它们在各自的例程中工作正常,但不可互换。
 
史蒂夫

Tharwat 发表于 2022-7-5 19:24:22

不客气,史蒂夫。
 
关于你对差异的疑问,实际上,如果你在上述例程中替换DXf代码的位置,结果不会有任何差异。

Happy Hobbit 发表于 2022-7-5 19:26:11

很高兴我能帮助史蒂夫
 
这里有一节关于AfrsLIST中的过滤器
 
在李的优秀网站上

Zac Davis 发表于 2022-7-5 19:30:45

 
检查这个
这是一个最好的lisp有选择,它有很多选择,我不能没有它。。希望你喜欢
页: 1 [2]
查看完整版本: 需要LISP程序来选择al