仅仅在(8 . "GCD")的后面再加一个过滤表实现,应该不太可能,真能的话就太简单了!
不过我试着编写了一段程序,应该可以满足你的要求: - (setq pt (getpoint "\n请输入指定一点:"))
- (setq ssn 0)
- (if (setq ss (ssget "x"'((0 . "INSERT")(8 . "GCD"))))
- (repeat (sslength ss)
- (setq ss_name (ssname ss ssn))
- (setq ss_att (entget ss_name))
- (setq ss_name_xy (cdr (assoc '10 ss_att)))
- (setq pt_ss_dis (distance pt ss_name_xy))
- (if (> pt_ss_dis 20.0) (setq ss (ssdel ss_name ss))
- (setq ssn (1+ ssn))
- )
- )
- )
|