查看单个帖子
旧 2009-05-04, 03:02 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】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.
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)