明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3263|回复: 13

我倒!Vla-InterSectWith函数有bug?

  [复制链接]
发表于 2005-11-3 21:05 | 显示全部楼层 |阅读模式

图中一条直线与中间那条多断线相加,明显只有一个交点,为什么用intersectwith函数求出来有两个交点?

测试函数:

(defun mint(/ m_ent1 m_ent2 m_jdtab)
  (setq m_ent1 (car(entsel)))
  (setq m_ent2 (car(entsel)))
  (setq m_jdtab (vla-intersectwith
       (vlax-ename->vla-object m_ent1)
       (vlax-ename->vla-object m_ent2)
       acExtendnone
     )
  );;求交点表
  (print (vlax-safearray->list (vlax-variant-value m_jdtab)))
  (princ)
)


选中间那条多断线和直线,得到结果

(617455.0 3.13191e+006 0.0 617455.0 3.13191e+006 0.0)

望高手赐教!

 

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2005-11-4 10:04 | 显示全部楼层
真搞不懂了,,,还不止这样,在红色直线附近很小范围内(我测试是0.001mm左右级别的范围)从左往右画一条直线穿过它,得到的交点都是这条直线的起点,而使用同样两个点,从右往左画一条直线,得到的交点却是正确的...
发表于 2005-11-4 14:36 | 显示全部楼层

哈,晚上再来看看

发表于 2005-11-4 18:49 | 显示全部楼层

哈,简单

有一个重合点

发表于 2005-11-4 22:50 | 显示全部楼层
我查了,没有重合点,,,而且你看看我说的,我自己用LINE画的东西,是不可能有重复的东西,,,很难解释啊
发表于 2005-11-5 06:33 | 显示全部楼层
应该有一个自相交点的,找找。。。。
发表于 2005-11-5 10:20 | 显示全部楼层
直线刚好通过中间那条多段线的一个顶点,所以得到了两个交点.
发表于 2005-11-5 13:18 | 显示全部楼层
这个解释有点新意
发表于 2005-11-6 08:38 | 显示全部楼层
无痕发表于2005-11-5 13:18:00这个解释有点新意
反正你若再画一条非拟合的多段线,故意将一个顶点落在那条直线的附近(足够近就行),再看看;或者将中间那条多段线稍稍的移动一下,就知道结果了.
 楼主| 发表于 2005-11-7 09:18 | 显示全部楼层
wmz发表于2005-11-5 10:20:00直线刚好通过中间那条多段线的一个顶点,所以得到了两个交点.


请放大仔细看看,直线并没有通过中间那条多段线的顶点呀!

而且我试了故意把直线移到多段线的顶点处,求出却只有一个交点

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-4 08:28 , Processed in 0.187936 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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