高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】last saved view settings
last saved view settings
last saved view settings
hi all,
in autocad, if you zoom in on a drawing to a specified area, and save the drawing and exit autocad. the next time you open autocad and this drawing, it positions the view exactly where you left off at.
are these settings possible to get ?
cheers
jason
layout has viewports (at least overall viewport). view settings (camera position, target, height etc.) are stored in viewports.
sslezkin,
thank you for your response, according to the documentation :
getviewportarray returns an array of oddbobjectids of all the oddbviewports that exist in the paper space layout. the first id in the list will be the overall paper space viewport. if the list returned is empty, then this layout is model space or has never been switched to (activated).
so in the case of model space, how do i get the the last saved position.
i tested this in autocad, opened a drawing in model space, zoomed into a specific region, and saved the drawing. upon opening autocad, the view is exactly where left off. i also tested in odmfcapp and it has the same behaviour (so i know it can be located :-) ).
i will keep investigating and see if i can work it out. but if you could let me know, that would be great.
yours sincerely,
jason
for model space view inforamtion is in oddbviewporttablerecords. active one has name "*active". note that where may be multiple *active model viewports.
code:
oddbviewporttableptr pvt = pdb->getviewporttableid().safeopenobject();
oddbsymboltableiteratorptr pvpiter = pvt->newiterator();
for ( ; !pvpiter->done(); pvpiter->step())
{
oddbviewporttablerecordptr pvp = pvpiter->getrecordid().openobject();
if (!pvp.isnull() && oddbsymutil::isviewportactivename(pvp->getname()))
{
// use this interface for convenience to have the same code processing
// oddbviewport (ps viewports) and oddbviewporttablerecord (ms viewports)
odabstractviewpeptr pview = pvp;
// get the data from pview
...
}
|