如何获得一个实体最近另外一个实体
www.dimcax.com
如何获得一个实体最近另外一个实体比如获得指定的文字最近line线或者pline,用autolisp如何实行?谢谢。
还有,autocad
d
自己解决了,获得实体的坐标,然后构造一个选择区域,用ssget获得区域内的实体,可逐步增加区域,获得实体后停止。挺简单。呵呵。
d
我现在也正需要这方面的,可不可以贴出来学习一下?
d
(defun fun_ssget(sdpt sddelobj sdlaynm / my_tot my_objss my_ld my_ru my_x my_y );//(点坐标,ssname,图层)
(setq my_x (car sdpt)
my_y (cadr sdpt)
my_objss nil
my_prcsn 5.0
my_addstep 0.5
my_tot 0
)
(while(< my_tot 2)
(setq my_prcsn (+ my_prcsn my_addstep)
my_ru (list (+ my_x my_prcsn) (+ my_y my_prcsn))
my_ld (list (- my_x my_prcsn) (- my_y my_prcsn))
my_objss (ssget "_c" my_ld my_ru sdlaynm)
)
(if ( null my_objss)
(setq my_objss nil)
(setq my_tot (sslength my_objss ))
)
(if (> my_prcsn 100.0)
(setq my_tot 10000)
)
)
(if ( null my_objss)
(alert "none object")
(progn
(setq my_obj(ssdel sddelobj my_objss));;删除自身
)
)
(setq objnm(ssname my_objss 0))
)
d