Rick_Ismael 发表于 2022-7-6 08:38:46

选择帮助

大家好,
 
我想使用(ssget“:L”)选择实体。选择集由多条线和一个块组成。使用交叉选择,如何选择所有线并在选择中获得块的插入点,而不将块放入选择集中。非常感谢。

pBe 发表于 2022-7-6 09:00:36

您可以:
两个选择提示。。
 

(ssget ":L" '((0 . "LINE")))
(ssget ":S:E:L" '((0 . "INSERT")))

 
 

 
一气呵成:

(defun c:test (/ ss i ent inspt)
(setq ss (ssget ":L" '((0 . "INSERT,LINE"))))
   (repeat (setq i (sslength ss))
    (setq ent (entget (ssname ss (setq i (1- i)))))
   (if (eq (cdr (assoc 0 ent)) "INSERT")
      (setq inspt (cdr (assoc 10 ent))
               ss (ssdel (ssname ss i) ss))
      (princ "\nFunctions for lines: ")
   )
   )
(print inspt)
(sssetfirst nil ss)
(princ)
)

Rick_Ismael 发表于 2022-7-6 09:31:01

谢谢pBe,它有效。这就是我想要实现的目标。
 

pBe 发表于 2022-7-6 09:42:19

 
太棒了真为你高兴
 
干杯
页: [1]
查看完整版本: 选择帮助