potencjalek 发表于 2022-7-5 23:45:13

vlax曲线getDistAtPoint

嗨,伙计们
我在几个应用程序中使用了函数vlax curve getDistAtParam
最近我发现这个函数工作不好(在某些情况下,它在不应该返回nil的地方返回nil)
有没有人有过同样的经历?
 
我的问题是
两者之间的区别是什么
vlax曲线getDistAtParam
vlax曲线getDistAtPoint
?

Tharwat 发表于 2022-7-5 23:59:04

你们能把你们在上面实现代码的样例图形中使用的代码贴出来吗?

potencjalek 发表于 2022-7-6 00:05:47

附着的dwg文件
图纸中有一条直线
粘贴到命令行松弛代码中
(setq en (car(entsel)))
然后选择普林
然后粘贴
(vlax-curve-getDistAtParam en (vlax-curve-getEndParam en))
返回pline的长度
在那次粘贴之后
(vlax-curve-getDistAtPoint en (vlax-curve-getEndPoint en))
返回零
为什么?
这两个函数之间有什么区别?
我使用bricscad v13(我在v14上也检查了它)
getDistAtPoint\u错误。图纸

Tharwat 发表于 2022-7-6 00:08:53

 
实际上它不应该,它在我的Cad 2009和2014上正常工作,当然他们带来了相同的数字,即多段线的长度。
 
 
对不起,我的系统上没有安装bricscad,也没有任何使用它的经验。

potencjalek 发表于 2022-7-6 00:19:47

的确
在autocad 2012中工作(我刚刚检查过)
所以问题是bricscad支持,而不是lisp大师
无论如何,谢谢你的关注

Tharwat 发表于 2022-7-6 00:30:03

不客气。

BIGAL 发表于 2022-7-6 00:31:51

你只是得到长度,因为这是一个有效变量,因为vla自己得到,就像图层线型区域等,aasoc 10是起始点,assoc 11可能也是结束点。另一个使用get'coords返回所有的pts,显然是第一个和最后一个。
 
这可能是一个很好的全局定义,可以返回一堆答案。这有用吗?

potencjalek 发表于 2022-7-6 00:40:31

我在许多例程中使用(vlax curve getDistAtPoint pline point_on_pline)
我所附的图纸只是bricscad断层的一个样本
我需要的是返回从起点到指定点的pline距离的函数(确切地说是getdistatpoint)
你有什么建议可以代替vlax curve getDistAtPoint?

marko_ribar 发表于 2022-7-6 00:48:42

 

(vlax-curve-getDistAtParam pline (vlax-curve-getParamAtPoint pline (vlax-curve-getClosestPointTo pline point_on_pline)))
页: [1]
查看完整版本: vlax曲线getDistAtPoint