无痕 发表于 2004-5-29 19:12:00

本帖最后由 作者 于 2004-5-29 20:14:23 编辑

;|利用 offset 方法判断点在曲线的内外关系.测试版 -----------无痕。
返回T=在内.         !!!***************支持不闭合曲线***********************!!!
         对自相交曲线有bug.不支持!
(defun c:test (/ e) (while (setq e (entsel "\n选曲线:"))(print (ptin e (getpoint "\n选点:")))))
|;
(defun ptin (ept pt / oecho oe obj e ll ur k)
   (vl-load-com)
   (setq oecho (getvar "cmdecho"))
   (vl-cmdf ".undo" "be")
   (setvar "cmdecho" 0)
   (setq obj (vlax-ename->vla-object (car ept))
e   (entlast))
   (vla-getboundingbox obj 'll 'UR)
   (setq d (apply 'distance   (mapcar 'vlax-safearray->list (list LL UR))))
   (vl-cmdf "_.offset" d ept pt)(vl-cmdf);偏移
   (setq k (if (eq (entlast) e) T nil))
   (vl-cmdf ".undo" "e" "u")
   (setvar "cmdecho" oecho)
   k
)
页: 1 2 [3]
查看完整版本: [求助]如何判断一点在pline围成的封闭空间内