传回曲线上最接近指定点的点(vlax-curve-getclosestpointTo)函数几个疑惑
传回曲线上最接近指定点的点;|
传回曲线上最接近指定点的点 (使用 WCS)
(vlax-curve-getClosestPointTo curve-obj givenPnt )
自变量
curve-obj
测量 VLA 物件。
givenPnt
要寻找曲线上最近点的点 (使用 WCS)。
extend
如果有指定,且不为 nil,vlax-curve-getClosestPointTo 当搜寻最近点时,会延伸曲线。
传回值
如果成功的话,传回代表曲线上点的 3D 点串行,否则为 nil。|;
(defun TT ()
(vl-load-com)
(setvar "osmode" 0)
(setq QQ (vlax-ename->vla-object (car (entsel "\nSelect curve"))))
(setq PT (getpoint))
(setq PT1 (vlax-curve-getclosestpointto QQ PT t))
)
今测试当选取同一点PT,求曲线上此点的距离最近的点。
第一次选取的曲线为样条曲线,返回结果PT1(60.4103 27.8629 0.0)
将样条曲线换为复合线之后返回结果(57.0933 26.5878 0.0)
经测试((57.0933 26.5878 0.0)不在指定复合线上,而在复合线延伸线上。
求高手解答,(vlax-curve-getClosestPointTo curve-obj givenPnt )
函数中所指曲线可以是复合线“pline”吗?如果不能,那对复合线 如何实现呢?
另外此函数和vlax-curve-getClosestPointToProjection
的区别在哪?
补充一点,上述所讲复合线,是曲线拟合过的 这里的“曲线”是个统称,可以为pline,甚至可以为line。
页:
[1]