- 积分
- 559
- 明经币
- 个
- 注册时间
- 2005-7-22
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
今天用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);
pEnt->unhighlight(subentIds);
} delete []subentIds; pEnt->close(); 调试的时候发现numIds的值怎么是1呢?为什么只得到一个边? |
|