|
请教高手:我在炸开一个实体后,产生一个AcDbVoidPtrArray类的数组,在遍历的时候怎么总是有问题:测试过程中炸开实体产生的object的ID和名称都是一样的,程序如下:请指点迷津:
void MYEX()//执行的命令函数
{
struct resbuf *pcb;
pcb=acutNewRb(RTDXF0);//创建一个结果缓冲区,组码为0,表示实体类型
ads_name ss;
char sbuf[100];
strcpy(sbuf,"3DSOLID");
pcb->resval.rstring=sbuf;
pcb->rbnext=NULL;
acedSSGet("X",NULL,NULL,NULL,ss);//生成选择集
long lenSet;
acedSSLength(ss,&lenSet);
for(int i=0;iisKindOf(AcDb3dSolid::desc()))
{
pEnt->explode(pArr);//这样指针pArr指向的内存地址的内容就是explode后的各实体。
acutPrintf("\\n objID=%s",objId);
int lenArr=pArr.length();
for(int j=0;jclose();
}
}
acutRelRb(pcb);
acedSSFree(ss);//释放选择集
}本帖以下内容被隐藏保护;需要你回复后,才能看到! 游客,如果您要查看本帖隐藏内容请 回复 |
|