gsy5666 发表于 2021-3-2 11:24:24

IntersectWith怎么排除多余的交点

用IntersectWith方法求两个多段线的交点 会有多余的交点 怎么排除多余的交点呢求教

bluelover 发表于 2021-3-2 11:24:25

本帖最后由 bluelover 于 2021-8-31 13:27 编辑

这个问题似乎是AutoCAD本身的问题,我也遇到过。
我处理的方法是验证下交点是否在多段线上,然后剔除多余的"伪交点"。

varwolf2017 发表于 2021-8-1 11:08:03

多段线选择不延伸,减少多交点,一般都会有多交点,这就要看你需要什么样的交点,自己根据范围确定自己要的交点

sieben 发表于 2021-8-31 16:00:22

是否使用了平面作为输入参数?

SWAYWOOD 发表于 2021-9-20 22:52:54

看看这个
https://help.autodesk.com/view/OARX/2019/ENU/?guid=GUID-13F06F2F-A19D-4E4C-B786-17D77D7EBD47

suker23 发表于 2021-11-8 23:53:14

用IntersectWith即使使用了不延伸还有投影平面,当坐标数值很大时,比如31000000000,还会出现多余的交点。

mkhsj928 发表于 2021-11-9 13:33:56

将两实体移动到原点附近再求交!后把交点移动回原位

suker23 发表于 2021-11-10 23:27:19

目前好像只有这个方法。坐标数值很大,但我不知具体多大,会出现多余的交点。

weilu 发表于 2022-4-19 15:35:23

mkhsj928 发表于 2021-11-9 13:33
将两实体移动到原点附近再求交!后把交点移动回原位

为什么坐标值很大,就有可能得不到交点

你有种再说一遍 发表于 2022-4-22 05:40:37

weilu 发表于 2022-4-19 15:35
为什么坐标值很大,就有可能得不到交点

首先是内存有极限,这个极限来自于双精度浮点数,
而曲线求交点是经过多次牛顿迭代来逼近交点,当逼近的时候出现累加数超过了双精度之后,那么就会溢出了.
这个问题实际上桌子不需要解决,也很难解决.
求交对象包围盒max点很大的时候平移两个对象的中心到原点,
然后再求交就好了.
页: [1] 2
查看完整版本: IntersectWith怎么排除多余的交点