当前位置: 首页 > 工具软件 > Boundary > 使用案例 >

boundary的用法

令狐晟
2023-12-01

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
   };  

 类似资料: