找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 160|回复: 0

ARX中使用Boundary

[复制链接]

0

主题

0

回帖

26

积分

管理员

积分
26
发表于 2024-2-28 08:48:15 | 显示全部楼层 |阅读模式
  1.         ads采用name en;
  2.         AcDbObjectId eId;
  3.         AcDbEntity *pEntity;
  4.         int rc = acdbEntLast(en);  //获取数据库中任意一个实体
  5.         if (rc != RTNORM)
  6.         {
  7.                 acutPrintf("the database has nothing./n", rc);
  8.                 return 2;
  9.         }
  10.         if (!acedCommand(RTSTR, "-boundary", RTSTR, PAUSE, RTSTR, "", RTNONE))
  11.                 return 3;     //调用命令生成边界
  12.         for (;;)                        //边界可能是嵌套型的,也就是有孤岛,所以进行循环
  13.         {
  14.                 int rc = acdbEntNext(en, en);          //获取生成的边界
  15.                 if (rc != RTNORM)
  16.                         break;       //已经没有边界实体,退出循环
  17.                 acdbGetObjectId(eId, en);
  18.                 acdbOpenObject(pEntity, eId, AcDb::kForRead);
  19.                 if (pEntity->isKindOf(AcDbPolyline::desc())) //生成的应是AcDbPolyline实体
  20.                 {
  21.                         pEntity->highlight();
  22.                         //这边处理
  23.                 }
  24.                 else
  25.                 {
  26.                         pEntity->close();
  27.                 }
  28.                 //eraseAEntity(eId);
  29.                 //..................
  30.                 //create region object                //这时就可以根据AcDbPolyline
  31.         };
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|膜结构网

GMT+8, 2024-12-28 13:28 , Processed in 0.130410 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表