M76 发表于 2022-7-6 22:40:14

比较vba中的点

真的没有其他方法来检查两个点是否相同,而不是单独比较其坐标的每个元素吗?

SEANT 发表于 2022-7-6 22:51:04

基本上这是正确的。当然,二进制数学操作会产生需要解决的微小差异,即比较需要一定的容忍度。
 
 
 
一种很好的方法是计算点之间的距离,并将其与可接受的公差进行比较。

M76 发表于 2022-7-6 23:03:21

是的,这就是我想要的解决方案。尽管如此,我认为他们可以为它包含一个函数,就像autolisp中有一个函数一样。

SEANT 发表于 2022-7-6 23:11:36

这是真的。VBA没有很多有用的功能。而且,考虑到VBA的不赞成,Autodesk将不会努力解决这种情况。
 
 
 
你可能很高兴知道VB。NET确实包含了所有缺失的功能。
 
 
 
然而,在某种程度上,多年来使用VBA是有益的,因为它迫使我对编码技术/算法进行了更深入的探索,而不是一切都是预先打包的。
 
 
 
即使通过ObjectARX api公开了所有内容。程序员需要自己开发的东西总是少了一些。

M76 发表于 2022-7-6 23:17:35

嗯,当生产力是一个问题时,我总是在寻找最快的解决方案,而不一定是最好的。
 
我不知道我是否能用VB。NET,但如果可能的话,如何实现?

Joro-- 发表于 2022-7-6 23:24:17

嗯,我认为你仍然可以使用。如果两点相同,则要比较的AcadPoint对象的ObjectID属性。相同的ObjectID表示相同的点。

Joro-- 发表于 2022-7-6 23:39:18

...使用VBA。。。

fixo 发表于 2022-7-6 23:42:54

如果我理解正确,那么下一个代码应该适合您
选项明确功能IsPointsEqual(p1()为双精度,p2()为双精度,fuzz为双精度)为BooleanIf Abs(p1(0)-p2(0))
页: [1]
查看完整版本: 比较vba中的点