lzj511 发表于 2008-12-7 21:14:00

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

vlax-curve-getDistAtPoint为什么在这个图里面不能用啊?返回 nil,在其他图里面就可以用,为什么呢?

caoyin 发表于 2008-12-8 08:58:00

<p>注意坐标系的问题,该函数需要wcs的点,运行程序之前先</p><p>(command ".ucs"&nbsp;"")</p>

lzgxklable 发表于 2011-9-5 22:27:54

同样问题,顶高手出来帮忙

caoyin 发表于 2011-9-6 08:31:50

(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)
)
)

小菜123 发表于 2011-9-6 08:43:44

有时候曲线坐标比较大的时候,确实会返回nil,还有其它几个曲线函数也是同样问题,估计是bug

ljttjl 发表于 2020-2-17 01:38:09

小菜123 发表于 2011-9-6 08:43
有时候曲线坐标比较大的时候,确实会返回nil,还有其它几个曲线函数也是同样问题,估计是bug

是的,也是反复查找原因,才发现曲线(line线)坐标位置较大时,vlax-curve-getDistAtPoint会返回nil,同样的曲线移动到较小坐标位置时,同样的语句执行就没问题。

ljttjl 发表于 2020-2-17 01:52:37

补充:是line线在较大坐标位置时,用(vlax-curve-getClosestPointTo)函数返回指定点离线上最近点(n表示),再用(vlax-curve-getDistAtPoint)得到该点(n)在直线中的长度时返回nil。但奇怪的是,还是这条线,如果用(getpoint)函数nea捕捉线上最近点(m表示),再用(vlax-curve-getDistAtPoint)得到该点(m)在直线中的长度时又没问题,正常返回点在线中的长度。l困扰很长时间,一直找不到原因,才搜索到此
页: [1]
查看完整版本: [求助]vlax-curve-getDistAtPoint在有些图里面为什么不能用?