|
- ads采用name en;
- AcDbObjectId eId;
- AcDbEntity *pEntity;
- int rc = acdbEntLast(en); //获取数据库中任意一个实体
- if (rc != RTNORM)
- {
- acutPrintf("the database has nothing./n", rc);
- return 2;
- }
- if (!acedCommand(RTSTR, "-boundary", RTSTR, PAUSE, RTSTR, "", RTNONE))
- return 3; //调用命令生成边界
- for (;;) //边界可能是嵌套型的,也就是有孤岛,所以进行循环
- {
- int rc = acdbEntNext(en, en); //获取生成的边界
- if (rc != RTNORM)
- break; //已经没有边界实体,退出循环
- acdbGetObjectId(eId, en);
- acdbOpenObject(pEntity, eId, AcDb::kForRead);
- if (pEntity->isKindOf(AcDbPolyline::desc())) //生成的应是AcDbPolyline实体
- {
- pEntity->highlight();
- //这边处理
- }
- else
- {
- pEntity->close();
- }
- //eraseAEntity(eId);
- //..................
- //create region object //这时就可以根据AcDbPolyline
- };
复制代码 |
|