tm20038175 发表于 2011-6-27 17:41:58

求点到直线最近点,并画出。。。

求点到直线最近点,并画出。。。
这就是垂足………

caoyin 发表于 2011-6-27 18:37:12

(setq LINE (car(entsel)) PNT (getpoint "\n拾取点: "))
(command "_.LINE" "_NON" PNT "_NON" (vlax-curve-getClosestPointTo LINE PNT T) "")

ljpnb 发表于 2011-6-27 18:40:17

(defun c:test ()
(setq        ln (vlax-ename->vla-object (car (entsel "\n选择一直线: ")))
        pt (getpoint "\n选择一点: ")
)
(setq pt1 (vlax-curve-getClosestPointTo ln pt))
(command "line" "non" pt "non" pt1 "")
(princ)
)

tm20038175 发表于 2011-6-27 19:10:22

太好了,感谢两位大侠~~~~~

caoyin 发表于 2011-6-27 20:51:01

回复 ljpnb 的帖子

(vlax-curve-getClosestPointTo ln pt T))

ljpnb 发表于 2011-6-27 20:58:38

caoyin 发表于 2011-6-27 20:51 static/image/common/back.gif
回复 ljpnb 的帖子

(vlax-curve-getClosestPointTo ln pt T))

呵呵,版大仔细哦,这个T我注意到的,后来还特意去掉的,当然是垂足的话,那是一定要加"T"的

tm20038175 发表于 2011-6-27 21:16:12

严谨治学,一个单词也绝不放过,呵呵~~~~~

ljpnb 发表于 2011-6-27 21:43:27

这个T也不是非加不可,那要看使用意图.如果说垂足点落在直线的延长线上,你想要这个点,那就要加T,如果不要,那就会取直线上最近一个端点.....

raimo 发表于 2011-6-27 21:55:31

ljpnb 发表于 2011-6-27 21:43 static/image/common/back.gif
这个T也不是非加不可,那要看使用意图.如果说垂足点落在直线的延长线上,你想要这个点,那就要加T,如果不要,那 ...

好仔细,更贴题@

if 发表于 2011-6-28 08:33:06

vlax-curve开头的函数没有必要转化为VLA对象
页: [1] 2
查看完整版本: 求点到直线最近点,并画出。。。