![]() |
【转帖】3d solid cant be exploded
3d solid can't be exploded
3d solid can't be exploded hi, i am trying to explode 3d solid in a block and it is not working. in the past versions it worked. however when i upgraded dwgdirect to 1.14.01, it doesn't work anymore. below is the code i am using and i have also attached the dwg file. does anyone know if this is a known bug or not?? thanks su ming oddbobjectid msid = pdb->getmodelspaceid(); oddbblocktablerecordptr pms = pdb->getmodelspaceid().safeopenobject(oddb::kforwrite) ; oddbobjectiteratorptr pmsents = pms->newiterator(); oddbobjectidarray idstoexplode; while (!pmsents->done()) { oddbobjectid entid = pmsents->objectid(); oddbentityptr pmsent = oddbentity::cast(entid.openobject(oddb::kforwrite) ); if (pmsent->iskindof(oddbblockreference::desc())) { if (pmsent->explodetoblock(pms) == eok) { idstoexplode.push_back(entid); } } pmsents->step(); } // erase the exploded block references. oddbobjectidarray::iterator explodeiter = idstoexplode.begin(); for ( ; explodeiter != idstoexplode.end(); explodeiter++) { oddbentityptr pent = (*explodeiter).safeopenobject(oddb::kforwrite); pent->erase(); } attached files perhaps you did not load "modelergeometry" module. vladimir no, i am currently including these libraries ..\dwgdirect\lib\debug\dd_root_dll.lib ..\dwgdirect\lib\debug\dd_alloc_dll.lib ..\dwgdirect\lib\debug\dd_ge_dll.lib ..\dwgdirect\lib\debug\dd_gs_dll.lib ..\dwgdirect\lib\debug\dd_db_dll.lib ..\dwgdirect\lib\debug\dd_gi_dll.lib ..\dwgdirect\lib\debug\dd_modelergeometry_dll.lib ..\dwgdirect\lib\debug\dd_spatialindex_dll.lib and is modelergeometry.drx present is the application folder? (i cannot reproduce the error in odamfcapp sample, - there all the solids are exploded to bodies and regions. body'es cannot be further exploded by design (as in arx)) vladimir think i figured what i did wrong. sorry. |
所有的时间均为北京时间。 现在的时间是 02:23 AM. |