明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2898|回复: 2

[函数] 传回曲线上最接近指定点的点(vlax-curve-getclosestpointTo)函数几个疑惑

[复制链接]
发表于 2011-4-16 11:34 | 显示全部楼层 |阅读模式
传回曲线上最接近指定点的点
;|
传回曲线上最接近指定点的点 (使用 WCS)
(vlax-curve-getClosestPointTo curve-obj givenPnt [extend])
自变量
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 [extend])
函数中所指曲线可以是复合线“pline”吗?如果不能,那对复合线 如何实现呢?

另外此函数和vlax-curve-getClosestPointToProjection
的区别在哪?


 楼主| 发表于 2011-4-16 11:37 | 显示全部楼层
补充一点,上述所讲复合线,是曲线拟合过的
发表于 2011-4-16 13:19 | 显示全部楼层
这里的“曲线”是个统称,可以为pline,甚至可以为line。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-18 20:00 , Processed in 0.224049 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表