既然直取不行,那繞個彎就能抓到了,存在SEL中
(defun c:test()
(setq ss (ssget "x" '((0 . "LINE")(8 . "GXYZ") ))) ;過濾線型及圖層
(setq sel (ssadd))
(repeat (setq i (sslength ss))
(setq en (ssname ss (1- i)))
(setq xdata (cdr (assoc -3 (entget en '("*"))))) ;取出擴展數據串列
(setq z (assoc 1000 (cdar xdata)))
(if (equal z (cons 1000 "172001-3")) ;比對兩者值
(setq sel (ssadd en sel)) ;若符合加入選集中
)
)
)
使用版主提供的 test01.dwg 檔案做測試
带扩展属性只能选择多段线,其他属性要二次过滤,例如楼上的方法
页:
1
[2]