查看单个帖子
旧 2009-05-06, 02:40 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】how to get entities in model space by selectionse

how to get entities in model space by selectionset?
how to get entities in model space by selectionset?
dear all!
i have dwg file that have model space and paper space (layout viewport). mfcapp cannot get entities that are in model space. it returns only paper space viewport, not entities in this viewport.
i know that because of activevpid is alway layout viewport. so i change odexeditorobject:nmouseleftbuttonclick function to solve this problem, but nothing changed. do i make something wrong? how can i get these entities in selectionset?
code:
code:
oddbselectionsetptr pworkset = workingsset();
for(int i=0; i< m_pdevice->numviews(); ++i)
{
odgsclientviewinfo vi;
odgsview* pview = m_pdevice->viewat(i);
pview->clientviewinfo(vi);
oddbobjectid vpid(vi.viewportobjectid);
if(vpid == activevpid())
continue;
oddbselectionsetptr patpointset = oddbselectionset::select( vpid, 1, &pt );
oddbselectionsetiteratorptr piter = patpointset->newiterator();
while( !piter->done() )
{
if( pworkset->ismember( piter->objectid() ) )
{
piter.release();
break;
}
piter->next();
}
if( piter.isnull() )
{
if( pdragcallback->begindragcallback( pt ) )
{
workingsset()->clear();
selectionsetchanged();
return( true );
}
}
}
}thank you!
trang
selection works in active space. use setcurrentlayout() function to swtich layouts.
vladimir
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)