本帖最后由 xyccf 于 2018-5-21 16:27 编辑
 - (vl-load-com)(defun PtLists (en)
- (mapcar 'cdr
- (vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget en))
- )
- )
- (defun ss->lst (ss / i)
- (setq l nil)
- (if ss
- (repeat (setq i (sslength ss))
- (setq l (cons (ssname ss (setq i (1- i))) l))
- )
- )
- l
- )
- (defun c:tt ()
- (setq ptzero (getpoint))
- (setq sslst (ss->lst (ssget '((0 . "*POLYLINE")))))
- (setq ptlst nil)
- (foreach x sslst
- (setq ptlst (append (PtLists x) ptlst))
- )
- (setq closestpt (car (vl-sort ptlst '(lambda (y z) (< (distance y ptzero) (distance z ptzero))))))
- (entmake (list '(0 . "CIRCLE") (cons 10 closestpt) (cons 40 50)));圆半径可以根据实际情况设定
- )
|