将UCS设置为“世界”,然后尝试:
(ST:Geo-Linear '(1.0 1.0 1.0) '(2.0 2.0 4.0) '(3.0 3.0 3.0))
如果你仔细研究我的函数,你会注意到,如果任何三个点不共线,递归调用将无法实现。 其他剥猫皮的方法
(defun c:point@line (/AUX-PT E E-OBJ ENT PT PT-XYZ )
;; Tharwat 13. 07. 2011
;; add by DEVITG
(VL-LOAD-COM)
(if
(and
(setq e (car (entsel "\n Select a Line :")))
(eq (cdr (assoc 0 (setq ent (entget e)))) "LINE")
(setq pt (car (entsel "\n Select a point :")))
(eq (cdr (assoc 0 (setq ent (entget pt)))) "POINT")
);_and
(progn
(setq e-obj (vlax-ename->vla-object e))
(setq pt-xyz (cdr (assoc 10 (setq ent (entget pt)))))
(setq aux-pt (vlax-curve-getclosestpointto e-obj pt-xyz t))
(if (equal aux-pt pt-xyz)
(alert "point belong to line")
(alert "point is out theline")
)
);_ progn
);_ if
);_ end defun 哦,现在我明白了^它看起来不在Z坐标内^,所以我将返回距离。。
在您的ListCollinar中,它使用“递归”,而我在这种情况下并不擅长。嗨。。
我还得学习越来越多。非常感谢你。祝您今天过得愉快
不客气,你也是
页:
1
[2]