另一个想法:
- (defun c:test ( / a b g i l p s u )
- (if (setq s (ssget '((0 . "POINT"))))
- (progn
- (repeat (setq i (sslength s))
- (setq p (assoc 10 (entget (ssname s (setq i (1- i)))))
- u (cons (trans (cdr p) 0 1) u)
- l (cons p l)
- )
- )
- (princ "\nSelect Point: ")
- (while
- (progn (setq g (grread t 13 2) a (car g) b (cadr g))
- (cond
- ( (= 5 a) (redraw)
- (foreach x u (grdraw x b 1 1)) t
- )
- ( (= 3 a)
- (if (setq s (ssget b '((0 . "POINT"))))
- (progn
- (setq p (cdr (assoc 10 (entget (ssname s 0)))))
- (foreach x l (entmakex (list (cons 0 "LINE") x (cons 11 p)))) nil
- )
- (princ "\nPlease Select a Point.")
- )
- )
- )
- )
- )
- )
- )
- (redraw) (princ)
- )
|