dipenghao 发表于 2004-9-24 10:06:00

网格是类AcDbFace四个点形成的。


多段线是AcDbPolyline类形成的。


现在判断出两个实体相交,如果要求面积,可以首先形成面域或构造闭合多义线,都可以得到面积。现在的情况是如何构造??

easypower 发表于 2004-9-24 11:24:00

如果你不知道构成面域的实体,那你就得自己写算法实现求轮廓的函数,


或者你用acedCommand调边界来求。。。。。。


帮不了你,太复杂,没那么多时间的,


只能帮你提供参考意见

dipenghao 发表于 2004-9-27 16:51:00

实体知道。但是两个实体相交得到的面域可能不止一个。如何选择那个是?????

easypower 发表于 2004-9-27 17:06:00

“两个实体相交得到的面域可能不止一个“


不明白,请贴图说明

dipenghao 发表于 2004-9-28 07:32:00




命令: _region<BR>选择对象: 找到 1 个<BR>选择对象: 找到 1 个,总计 2 个<BR>选择对象:<BR>已提取 2 个 环。<BR>已创建 2 个 面域。


我用工具栏上的命令:(面域),分别选择了两个实体,结果提示已经创建了两个面域,?我的问题主要是要他们相交的部分 也就是一个AcDbFace(四个点)类和AcDbPolyline类的求交集的面积问题

easypower 发表于 2004-9-28 10:57:00

你用这两个面域,然后求交呀!!

funlxming 发表于 2004-9-28 13:22:00

版主说的只有在两个封闭时才能用。但楼主说的可不是这样,我觉得有个简单的办法,就是用boundary命令。我以前曾企图写个这样的算法,可是效果不太理想,便作罢了。

easypower 发表于 2004-9-28 13:45:00

是要封闭,搂主给的例子也是封闭的呀,


是可以用boundary,有一定限制


最好自己写算法

dipenghao 发表于 2004-9-28 14:23:00

我这样做的<BR>                       AcDbVoidPtrArray curveSegments,regions;<BR>                       curveSegments.append(pFace);<BR>                       curveSegments.append(pPoly);


AcDbRegion reg;<BR>                       if(Acad::eInvalidInput==reg.createFromCurves(curveSegments,regions))<BR>                               acutPrintf("不合法\n");


                       double regArea;<BR>                       reg.getArea(regArea);<BR>                       reg.close();<BR>                       acutPrintf("area=%0.3f\n",regArea);


可能是我理解错了。createFromCurves函数的该怎么使用??<BR>

easypower 发表于 2004-9-28 16:58:00

AcDbVoidPtrArray regions;<BR>        AcDbRegion::createFromCurves(entities, regions);


        if (regions.length() &lt; 1) <BR>        {<BR>                return Acad::eInvalidInput;<BR>        }<BR>        AcDbRegion *pRegion = new AcDbRegion;<BR>        assert(pRegion != NULL);


        for (int i = 0; i &lt; regions.length(); i++)<BR>        {<BR>                pRegion-&gt;booleanOper(AcDb::kBoolUnite,(AcDbRegion*)regions);//AcDb::kBoolUnite自己用什么类型自己查<BR>                delete (AcRxObject*)regions;<BR>        }


......
页: 1 [2]
查看完整版本: 两个多边形相交,如何求两个图形的交集的面积??