高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】explode or explodegeometry issue with 3dsolids and bodys
explode or explodegeometry issue with 3dsolid's and body's
explode or explodegeometry issue with 3dsolid's and body's
trying to explode complex 3d solids (mainly solids with holes) and bodys down to the 3dface level, recursively calling explode() or explodegeometry() as appropriate, generates uncorrect skins. lots of bad faces appear, like in the enclosed images... using dwgdirect 2.1.1
is there a fix for this ?
sincerely
jph
attached images
hi,
could you attach all dwg files ? i am planning to test it with mfcapp 2.1.1, 2.2.0 and with current toolkit sources. could you reproduce defect in mfcapp somehow?
last edited by sslezkin; 10th january 2007 at 01:30 amfff">.
hi alexander,
i do not use mfcapp . and usin mfc app will probably not exhibit the problem because it does not do what we do :
i use the oda kit to convert dwg files to our modeler file format.
solid3d and body are recursively exploded down to the 3dface level with this kind of code :
/*================================================= ===========================*/
void importer::convertsolid3d(player pthelayer, oddbentityptr ptheent)
/*================================================= ===========================*/
{
odresult odres;
odrxobjectptrarray pentityptrs;
bool bempty;
size_t inbelements=0,i;
odrxobjectptr pexplodedentity;
oddb3dsolidptr pent= ptheent;
odres= pent->explode(pentityptrs); // pent->explodegeometry(pentityptrs);
bempty= pentityptrs.isempty();
if(!bempty)
{
inbelements= pentityptrs.length();
for(i=0; i< inbelements; i++)
{
pexplodedentity= pentityptrs[i];
displayentityname((oddbentityptr) pexplodedentity);
convertentity(pexplodedentity,false,null,-1,false,null );
return;
} // convertsolid3d
similar code is used for each generated entity.
exploding the punched cylinder ( see enclosed dwg ) produces body entities, which are then exploded into 3dfacemesh, which are then exploded in 3dface.
the problem exhibits also with punched region which are exploded in 3dfacemesh then exploded in 3dface
there is obviously a generic problem with the surface triangulator (ge library ).
is aware and has replicated the issue.
we use the mac llibdd_macxc_xxx.a but the issue also exists in the windows dll.
sincerely
attached files (293.3 kb, 5 views)
hi,
i have tested files. results are
2.1 & 2.2 - i can reproduce bug with 1solid in mfcapp, but it has different from your screenshorts problems with tesselator.
current sources - bug was fixed already. i'll ask neil to test your files on mac with current sources.
thank you.
i hope neil will send us beta libs for mac including the fix for testing on more complex dwg files.
jp
what do you call " current sources " ? the official one dowloadable from the oda site ?
no, it is current project status. simply - files on my pc (or starteam current view). it is next release
|