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