查看单个帖子
旧 2009-05-06, 11:16 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】problem with erasing paperspace viewports

problem with erasing paperspace viewports
problem with erasing paperspace viewports
hi,
it seems there is a problme when we erase a paperspace viewport - some object id of the erased viewport remains registered somewhere.
here is how to simulate this bug.
first set the active layout to be layout1.
run this code in the odamfcapp:
code:
нино (11:02 am) :
//test fow switch to layout when the last created viewport in it is erased
oddbobjectid idvp;
oddbdatabaseptr pdb = this->m_pdb;
{
oddbblocktablerecordptr precord = pdb->getactivelayoutbtrid().safeopenobject(oddb::kforwrite);
oddbviewportptr pvp = oddbviewport::createobject();
pvp->setdatabasedefaults(precord->database());
odgepoint3d ptcenter(1.,1.,0.);
pvp->setcenterpoint(ptcenter);
pvp->setheight(0.5);
pvp->setwidth(1.);
idvp = precord->appendoddbentity(pvp);
}
{
oddbviewportptr pview = idvp.safeopenobject(oddb::kforwrite);
pview->erase();
}
then switch to layout2 and then back to layout1 (no redraw).
an error is thrown for erased object.
best regards
chudomir
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)