找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1109|回复: 2

[求助]:是代码还是CAD问题(intersectWith),帮忙,在线等

[复制链接]
发表于 2005-1-19 09:00:09 | 显示全部楼层 |阅读模式

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

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

×
在使用intersectWith()函数时,明明是只有一个交点,程序却说有3个交点,不知谁知道,
我自己测试其中一个原因可能是一条线的端点与另一条线很近时,程序会认为是相交的,不知是我的参数设置有问题,下面是图例
代码为
                ads_name ent1,ent2;
                AcGePoint3d pt;
                int rc;
                                rc = acedEntSel("\n请选择一条线段: ", ent1,
                                        asDblArray(pt));
                                if(rc==RTCAN) return;
                                if (rc != RTNORM) {
                                        //        acutPrintf("\n    在选择实体时出错!");
                                        return;
                                }

                                rc = acedEntSel("\n请选择另一条线段: ", ent2,
                                        asDblArray(pt));
                                if(rc==RTCAN) return;
                                if (rc != RTNORM) {
                                        //        acutPrintf("\n    在选择实体时出错!");
                                        return;
                                }

                                AcDbObjectId eId;
                                acdbGetObjectId(eId, ent1);
        AcDbEntity *pEnt,*pEntity;
        acdbOpenObject(pEnt, eId, AcDb::kForRead);
        pEnt->close();
        acdbGetObjectId(eId, ent2);
        acdbOpenObject(pEntity, eId, AcDb::kForRead);
        pEntity->close();
        AcGePoint3dArray ptArray;
        AcGePlane plane;
        AcDb::Planarity flag;
        pEntity->getPlane(plane,flag);
if(pEntity->intersectWith(pEnt,AcDb::kOnBothOperands,plane,ptArray)
   !=Acad::eOk) return;//求实体的交点集
acutPrintf("\n有交点 共 %i ",ptArray.length());
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-1-19 12:49:27 | 显示全部楼层
运行过程中,你选择的实体是什么
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-19 16:22:42 | 显示全部楼层 |阅读模式

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

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

×
AcDb2dPolyline
AcDbPolyline
普通画的线是可以的,就是附件里的那两条线不是符合
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-22 10:01 , Processed in 0.508218 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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