这个怎么样?
- (defun GetWindowPoly (/ PtLst pt gr)
- ;; Lee Mac ~ 31.01.10
- (if (car (setq ptLst (list (getpoint "\nSpecify First Point: "))))
- (progn
- (princ "\nPick Window Points >>")
- (while
- (setq pt
- (progn
- (while
- (and (= 5 (car (setq gr (grread 't 5 0))))
- (listp (cadr gr)))
- (redraw)
- (mapcar
- (function
- (lambda (from to)
- (grdraw from to 3 1)))
-
- (cons (cadr gr) ptLst) (append ptLst (cdr gr))))
-
- (cond ((listp (cadr gr)) (cadr gr)))))
-
- (cond (pt (setq ptLst (cons pt ptLst)))))
- (redraw)
- (reverse ptLst))))
- (defun c:test (/ pts ss)
- (if (and (setq pts (GetWindowPoly))
- (setq ss (ssget "_WP" pts)))
- (sssetfirst nil ss))
- (princ))
很遗憾OSnap |