几何尺寸与公差论坛------致力于产品几何量公差标准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)
-   DirectDWG (http://www.dimcax.com/hust/forumdisplay.php?f=89)
-   -   【转帖】exploding 3dpolylines (http://www.dimcax.com/hust/showthread.php?t=16197)

yang686526 2009-05-05 10:16 AM

【转帖】exploding 3dpolylines
 
exploding 3dpolylines
exploding 3dpolylines
with dd 2.1.0 exploding 2dpolyline gives a set of lwpolylines
but
exploding a 3dpolyline returns a 3dpolyline.
here is the code i use :
//================================================== ===========================
void importer::convert3dpolylines(player pthelayer,oddbentityptr pent)
//================================================== ===========================
{
odresult odres;
odrxobjectptrarray pentityptrs;
bool bempty;
int inbelements,i;
odrxobjectptr pexplodedentity;
odres= pent->explodegeometry(pentityptrs);
bempty= pentityptrs.isempty();
if(!bempty)
{
inbelements= pentityptrs.length();
for(i=0; i< inbelements; i++)
{
pexplodedentity= pentityptrs[i]; // first
displayentityname((oddbentityptr) pexplodedentity);
convertentity(pexplodedentity,false,null,-1,false,null );
}
}
i would expect that exploding a 3dpolyline returns a set of 3d lines..
is this a kown issue ?
thanks
explodegeometry() calls entity's worlddraw() and makes db entities of geometry primitives called from worlddraw(). single polyline in cases of oddb3dpolyline.
in order to get lines from oddb3dpolyline you need to call explode() or explodetoblock().
sergey slezkin


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