明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1497|回复: 3

急:如何判断闭合区域??

[复制链接]
发表于 2005-6-17 15:03:00 | 显示全部楼层 |阅读模式
各位大侠,我遇到了这么一个问题.平面上有n条B样条曲线,它们互相可能有交点,现在要把
它们构成的闭区域找出来,如何判定?需要用到图论吗?不知AutoCAD里面是如何判定区域闭合的.谢谢各位.
发表于 2005-9-29 20:06:00 | 显示全部楼层
用面域?!
发表于 2005-9-30 19:44:00 | 显示全部楼层

如何交互生成面域对象
代码:

 AcDbObjectId eId;
 AcDbEntity * ent;
 ads_name en;
 int rc = acdbEntLast(en);  //获取数据库中任意一个实体
    if (rc != RTNORM)
    {
        acutPrintf("the database has nothing.\n", rc);
    }
    if(!acedCommand(RTSTR,"-boundary",RTSTR,PAUSE,RTSTR,"",RTNONE))
  return;            //调用命令生成边界
    for(;;)                        //边界可能是嵌套型的,也就是有孤岛,所以进行循环
 {
  int rc = acdbEntNext(en,en);          //获取生成的边界
  if (rc != RTNORM)
   break;       //已经没有边界实体,退出循环
  acdbGetObjectId(eId, en);
  acdbOpenObject(ent, eId,AcDb::kForRead);
  ent->close();
  if(ent->isKindOf(AcDbPolyline::desc())) //生成的应是AcDbPolyline实体
                  //..................
                  //create region object                //这时就可以根据AcDbPolyline
 };                                                  //的点的信息生成面域对象

发表于 2005-9-30 19:47:00 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 04:54 , Processed in 0.142907 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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