(nentsel)
你好这个线程不是关于(nentsel),而是用于类似的功能。
我试着用这个:
(cdr (assoc 0 (entget (ssname (ssget "_+.:E:S:L:N") 0))))
这意味着:“选择单个实体,在解锁层上,嵌套”
所以我在块内选择了一条嵌套的LWMOLYLINE,它返回“INSERT”。
怎么会? RTM:主实体也添加到集合中。 ssnamex是答案:
; Alternative of (nentsel)
(defun C:test ( / SS Lst )
(while (not (setq SS (ssget "_+.:E:S:L:N"))) SS)
(setq Lst (vl-remove-if-not '(lambda (x) (= 'ENAME (type x))) (apply 'append (ssnamex SS))))
(mapcar '(lambda (x) (cdr (assoc 0 (entget x)))) Lst)
)
例子:
("LWPOLYLINE" "INSERT") ; prints after selecting nested LWpolyline
("LINE" "INSERT" "INSERT") ; prints after selecting nested line within a nested block
页:
[1]