![]() |
【转帖】[求助]用例子的getsubentpathsatgsmarker无法遍历子实体
[求助]用例子的getsubentpathsatgsmarker无法遍历子实体
[求助]用例子的getsubentpathsatgsmarker无法遍历子实体 今天用arx里的例子遍历region的各个边,发现只能找到一个边,为什么呢? ads_name sset; if (acedssget("_:s", null, null, null, sset) != rtnorm) { return acad::einvalidadsname; } struct resbuf *prb; acedssnamex(&prb, sset, 0); acedssfree(sset); struct resbuf *ptemp; int i; for (i=1, ptemp = prb;i<3;i++, ptemp = ptemp->rbnext) { ; } ads_name ename; ads_name_set(ptemp->resval.rlname, ename); ptemp = ptemp->rbnext; marker = ptemp->resval.rint; acutrelrb(prb); acdbgetobjectid(objid, ename); acdbentity *pent; acdbopenacdbentity(pent, objid, acdb::kforread); acgepoint3d pickpnt; acgematrix3d xform; int numids; acdbfullsubentpath *subentids; pent->getsubentpathsatgsmarker(acdb::kedgesubenttype, marker, pickpnt, xform, numids, subentids); for( i = 0; i < numids; i++) { pent->highlight(subentids[i]); pent->unhighlight(subentids[i]); } delete []subentids; pent->close(); 调试的时候发现numids的值怎么是1呢?为什么只得到一个边? |
| 所有的时间均为北京时间。 现在的时间是 04:59 AM. |