几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(C++) (http://www.dimcax.com/hust/forumdisplay.php?f=34)
-   -   【转帖】急:如何判断闭合区域?? (http://www.dimcax.com/hust/showthread.php?t=7617)

yang686526 2009-04-18 02:16 PM

【转帖】急:如何判断闭合区域??
 
急:如何判断闭合区域??
急:如何判断闭合区域??
各位大侠,我遇到了这么一个问题.平面上有n条b样条曲线,它们互相可能有交点,现在要把
它们构成的闭区域找出来,如何判定?需要用到图论吗?不知autocad里面是如何判定区域闭合的.谢谢各位.
用面域?!
如何交互生成面域对象
代码:
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
}; //的点的信息生成面域对象
这个程序中便用了面域来求面积!


所有的时间均为北京时间。 现在的时间是 01:12 PM.