几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   DirectDWG (http://www.dimcax.com/hust/forumdisplay.php?f=89)
-   -   【转帖】how to get entities in model space by selectionse (http://www.dimcax.com/hust/showthread.php?t=16677)

yang686526 2009-05-06 02:40 PM

【转帖】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::onmouseleftbuttonclick 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


所有的时间均为北京时间。 现在的时间是 12:46 PM.