找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1014|回复: 2

[ARX程序]:用acdbInters()计算交点出错!

[复制链接]
发表于 2004-7-16 12:05:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
在vc6下用acdbInters()求交点,一点问题都没有;在.net下用了几次后就出错!本来两条线段没有实交点,在求实交点的时候,总是返回RTNORM。最后自己写了个求交点的程序,但不知道这个问题是什么原因?不知道各位遇到过类似的问题没有,怎么解决的?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-7-16 17:55:15 | 显示全部楼层
用 AcDbEntity::intersectWith

[PHP]
AcDbEntity::intersectWith

virtual Acad::ErrorStatus
intersectWith(
    const AcDbEntity* pEnt,
    AcDb::Intersect intType,
    AcGePoint3dArray& points,
    int thisGsMarker = 0,
    int otherGsMarker= 0) const;
[/PHP]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-19 21:44:56 | 显示全部楼层
acdbInters() 是纯几何运算函数,引入AcDbEntity 方法欠妥,且未必能解决问题。

发生这种事有点让人不可思议,两条直线求交点应该是不复杂的事,但是长期
以来,AutoDesk 并没有很好地处理好这个问题。不久前,我在本论坛上有提出
类似问题。我在用acdbInters()时发现:当两条直线中的一条的长度达 1.0E+8 后
无法得到有效交点,在AutoCAD里用作图法,设置OSMODE 到 "int"时,无法捕捉
到真正的交点,而是捕捉到直线的端点!好怪!
对双精度浮点数来说,其有效数位是16位,上述1.0E+8 并不大啊!

我在国产ZWCAD (中望)中试用,高达 1.0E+16也没有出现问题。

上述问题在 高达 R2004 版本中AutoCAD还没有解决。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-21 22:07 , Processed in 0.183556 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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