| 给出楼主一段完整的代码吧: 
  ;;;-----------------------------------------------------------;;
;;; 判断点是否在多边形内                                      ;;
;;;-----------------------------------------------------------;;
(defun c:tt( / poly dxf lst pt)
  (if (and (setq poly (car (entsel "\n请选择多段线:")))
           (setq dxf (entget poly))
           (= "LWPOLYLINE" (cdr (assoc 0 dxf)))
      )
    (progn
      (setq lst (mapcar 'cdr (vl-remove-if '(lambda (x) (/= 10 (car x))) Dxf)))
      (if (zerop (getvar "WORLDUCS"))
        (setq lst (mapcar (function (lambda (p) (trans p poly 1))) lst))
      )
      (while (setq pt (getpoint "\n判断点:"))
        (if (ALG:Inside-p pt lst)
          (princ "\n在内!")
          (princ "\n在外!")
        )
      )
    )
    (princ "\n请选择多段线!")
  )
  (princ)
)
;;;-----------------------------------------------------------;;
;;; 夹角(以P1为顶点,从p2到p3的有向角度)                    ;;
;;; 正代表逆时针,负则反之                                    ;;
;;;-----------------------------------------------------------;;
(defun GEO:Angle (p1 p2 p3 / a )
  (setq a (- (angle p1 p3) (angle p1 p2)))
  (if (< a 0)
    (if (< a (- pi))
      (+ a 6.283185307179586476925286766559)
      a
    )
    (if (> a pi)
      (- a 6.283185307179586476925286766559)
      a
    )
  )
)
;;;-----------------------------------------------------------;;
;;; 判断点是否在多边形(用顶点表示)内                        ;;
;;; 方法: Pt与各个顶点的有向夹角和的绝对值如果等于2*pi则为真. ;;
;;; 参数: Pt  要判断的点                                      ;;
;;;       lst 顶点列表                                        ;;
;;; 返回: T 在多边形内,nil则在外                             ;;
;;;-----------------------------------------------------------;;
(defun ALG:Inside-p (Pt lst /)
  (if (> (length lst) 2)                                        ;至少要3点
    (equal
      (abs                                                        ;绝对值
        (apply
          '+                                                        ;总和
          (mapcar
            (function (lambda (p q) (GEO:Angle pt p q)))        ;有向夹角
            (cons (last lst) lst)
            lst
          )
        )
      )
      6.283185307179586476925286766559                                ;2*pi
      1e-4                                                        ;设低一点,防止累计误差
    )
  )
)
 |