明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
123
返回列表 发新帖
楼主: dipenghao

用多边形区域选择方式构造选择集的问题

  [复制链接]
发表于 2004-9-27 22:53:00 | 显示全部楼层

回复

E版主? 只有11楼和16楼是成功的代码.
发表于 2004-9-28 07:59:00 | 显示全部楼层
但是我仔细对比过你2楼和11楼的代码,发现基本上没有差别呀???


就几个判断返回值的地方有变化,能说明你2楼的错误在那里么??
发表于 2004-9-28 08:51:00 | 显示全部楼层

回复

在这里: else
{
acdbPointSet(pick, lastpt);
nRet = acedGetPoint(pick, "\nPick next point - [ENTER] for exit: ", pick);
acedGrDraw(lastpt, pick, 1, 0); newRb = acutNewRb(RTPOINT);
newRb->resval.rpoint[0] = pick[0];
newRb->resval.rpoint[1] = pick[1];
newRb->resval.rpoint[2] = pick[2];
rbTrav->rbnext = newRb;
rbTrav = rbTrav->rbnext;
//if (newRb)
// acutRelRb(newRb);
}
if (nRet != RTNORM)
{
keepPicking = Adesk::kFalse;
break;
} 这里的代码,是这样考虑的,如果if (nRet == RTNORM) 时,才 newRb = acutNewRb(RTPOINT);
newRb->resval.rpoint[0] = pick[0];
newRb->resval.rpoint[1] = pick[1];
newRb->resval.rpoint[2] = pick[2];
rbTrav->rbnext = newRb;
rbTrav = rbTrav->rbnext; 把建立链表结点的代码写在acedGetPoint(pick, "\nPick next point - [ENTER] for exit: ", pick) == RTNORM的判断为T之中, 否则就也错了
发表于 2004-9-28 10:56:00 | 显示全部楼层
呵呵,我知道了,哎!!!


最后一个ENTER加入了一个错误的点!


晕死!!!
发表于 2005-1-8 20:18:00 | 显示全部楼层
如果选择了几个点,然后改变视图显示的区域,使所选择的实体不在视图中,会选择到0个实体,怎么办呢?
发表于 2005-1-11 10:51:00 | 显示全部楼层
受益匪浅,谢谢几位
发表于 2009-11-22 14:02:00 | 显示全部楼层
谢谢了  学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 12:57 , Processed in 0.170270 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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