几何尺寸与公差论坛------致力于产品几何量公差标准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)
-   -   【转帖】dwf file import contains extra layouts (http://www.dimcax.com/hust/showthread.php?t=15830)

yang686526 2009-05-04 08:22 PM

【转帖】dwf file import contains extra layouts
 
dwf file import contains extra layouts
dwf file import contains extra layouts
we are using dwgdirect version 2.3.1 in our application. part of our application allows the import of dwf files. once the file has been imported into the database, we iterate over all layouts to get the names of all the layouts. when doing this, every dwf file we import always contains the layouts named "layout1" and "layout2". however, when attempting to render these layouts to a bitmap, they always result in an empty bitmap. also, when these dwf files are viewed with other viewers (such as the brava free dwg viewer or autodesk dwf viewer) they never contain these layouts.
can someone please explain why these layout names are provided by dwgdirect when iterating through the layouts.
also, what is the easiest way to determine that these layouts contain no entities so that we do not try to render them.
a snippet of code, showing how we loop through the layouts is shown here and a sample input dwf file is attached.
code:
oddbdictionaryptr playoutdict = pdb->getlayoutdictionaryid().safeopenobject();
oddbdictionaryiteratorptr piter = playoutdict->newiterator();
oddbobjectid firstlayoutid = piter->objectid();
piter->setposition(firstlayoutid);
while (!piter->done())
{
oddblayoutptr playout = piter->objectid().safeopenobject();
strcpy(pcadlayouts->name, (const char *)(playout->getlayoutname()));
piter->next();
...
}attached files
empty layouts are created in the new database. you may remove them before importing dwf. layout is empty when it contains one entity (overall viewport).
vladimir
thanks. i need just a little more clarification.
are the empty layouts created when calling createdatabase()?
exactly how do i remove a layout?
exactly how do i determine the number of entities associated with a layout?
sorry if these are basic questions, but i find that it is not so easy to get answers to such basic questions by reading through the documentation.


所有的时间均为北京时间。 现在的时间是 03:29 AM.