王咣生 发表于 2004-9-27 22:53:00

回复

E版主? 只有11楼和16楼是成功的代码.

easypower 发表于 2004-9-28 07:59:00

但是我仔细对比过你2楼和11楼的代码,发现基本上没有差别呀???


就几个判断返回值的地方有变化,能说明你2楼的错误在那里么??

王咣生 发表于 2004-9-28 08:51:00

回复

在这里:


                        else<BR>                        {<BR>                                acdbPointSet(pick, lastpt);<BR>                                nRet = acedGetPoint(pick, "\nPick next point - for exit: ", pick);<BR>                                acedGrDraw(lastpt, pick, 1, 0);


                                newRb = acutNewRb(RTPOINT);<BR>                                newRb-&gt;resval.rpoint = pick;<BR>                                newRb-&gt;resval.rpoint = pick;<BR>                                newRb-&gt;resval.rpoint = pick;<BR>                                rbTrav-&gt;rbnext = newRb;<BR>                                rbTrav = rbTrav-&gt;rbnext;<BR>                                //if (newRb)<BR>                                //        acutRelRb(newRb);<BR>                        }<BR>                        if (nRet != RTNORM)<BR>                        {<BR>                                keepPicking = Adesk::kFalse;<BR>                                break;<BR>                        }


这里的代码,是这样考虑的,如果if (nRet == RTNORM) 时,才


                                newRb = acutNewRb(RTPOINT);<BR>                                newRb-&gt;resval.rpoint = pick;<BR>                                newRb-&gt;resval.rpoint = pick;<BR>                                newRb-&gt;resval.rpoint = pick;<BR>                                rbTrav-&gt;rbnext = newRb;<BR>                                rbTrav = rbTrav-&gt;rbnext;


把建立链表结点的代码写在acedGetPoint(pick, "\nPick next point - for exit: ", pick) == RTNORM的判断为T之中, 否则就也错了

easypower 发表于 2004-9-28 10:56:00

呵呵,我知道了,哎!!!


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


晕死!!!

pckite 发表于 2005-1-8 20:18:00

如果选择了几个点,然后改变视图显示的区域,使所选择的实体不在视图中,会选择到0个实体,怎么办呢?

dry 发表于 2005-1-11 10:51:00

受益匪浅,谢谢几位

wangziqiang 发表于 2009-11-22 14:02:00

谢谢了学习了
页: 1 2 [3]
查看完整版本: 用多边形区域选择方式构造选择集的问题