明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1931|回复: 7

[求助]vlax-curve-getDistAtPoint在有些图里面为什么不能用?

[复制链接]
发表于 2008-12-7 21:14 | 显示全部楼层 |阅读模式
vlax-curve-getDistAtPoint为什么在这个图里面不能用啊?返回 nil,在其他图里面就可以用,为什么呢?
发表于 2008-12-8 08:58 | 显示全部楼层

注意坐标系的问题,该函数需要wcs的点,运行程序之前先

(command ".ucs" "")

发表于 2011-9-5 22:27 | 显示全部楼层
同样问题,顶高手出来帮忙
发表于 2011-9-6 08:31 | 显示全部楼层
(if (and (setq PNT (getpoint "\n拾取曲线上的点:"))
         (setq EN (nentselp PNT))
    )
  (setq EN  (car EN)
        PNT (trans PNT 1 0)
        PNT (vlax-curve-getClosestPointTo EN PNT)
        DIS (vlax-curve-getDistAtPoint EN PNT)
  )
)

点评

正确  发表于 2021-6-23 17:36
发表于 2011-9-6 08:43 | 显示全部楼层
有时候曲线坐标比较大的时候,确实会返回nil,还有其它几个曲线函数也是同样问题,估计是bug
发表于 2020-2-17 01:38 | 显示全部楼层
小菜123 发表于 2011-9-6 08:43
有时候曲线坐标比较大的时候,确实会返回nil,还有其它几个曲线函数也是同样问题,估计是bug

是的,也是反复查找原因,才发现曲线(line线)坐标位置较大时,vlax-curve-getDistAtPoint会返回nil,同样的曲线移动到较小坐标位置时,同样的语句执行就没问题。
发表于 2020-2-17 01:52 | 显示全部楼层
补充:是line线在较大坐标位置时,用(vlax-curve-getClosestPointTo)函数返回指定点离线上最近点(n表示),再用(vlax-curve-getDistAtPoint)得到该点(n)在直线中的长度时返回nil。但奇怪的是,还是这条线,如果用(getpoint)函数nea捕捉线上最近点(m表示),再用(vlax-curve-getDistAtPoint)得到该点(m)在直线中的长度时又没问题,正常返回点在线中的长度。l困扰很长时间,一直找不到原因,才搜索到此
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-27 23:34 , Processed in 0.243862 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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