|
高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】[原创]高手帮帮忙 如何在图纸空间创建新视口并实现缩放!!!
[原创]高手帮帮忙 如何在图纸空间创建新视口并实现缩放!!!
[原创]高手帮帮忙 如何在图纸空间创建新视口并实现缩放!!!
void cdrawtu::createsk()
{
// 指定当前布局
acad::errorstatus es =
acdbhostapplicationservices()->layoutmanager()
->setcurrentlayout(_t("布局1"));
if (es != acad::eok)
{
return;
}
// 获得块表
acdbblocktable *pblktbl;
acdbhostapplicationservices()->workingdatabase()
->getblocktable(pblktbl, acdb::kforread);
// 获得图纸空间的块表记录
acdbblocktablerecord *pblktblrcd;
pblktbl->getat(acdb_paper_space, pblktblrcd,
acdb::kforwrite);
pblktbl->close();
// 创建新的布局对象
acdbviewport *pviewport = new acdbviewport();
pviewport->setcenterpoint(acgepoint3d(50, 50, 0));
pviewport->setheight(80);
pviewport->setwidth(120);
// 将新的布局对象添加到图纸空间块表记录中
acdbobjectid viewportid;
pblktblrcd->appendacdbentity(viewportid, pviewport);
pviewport->close();
pblktblrcd->close();
// 将新建的视口作为当前视口
acdbviewport *pvp;
acdbopenobject(pvp, viewportid, acdb::kforwrite);
pviewport->seton();
int vpnum = pviewport->number();
pvp->close();
acedcommand(rtstr, _t("_pspace"), 0);
es = acedsetcurrentvport(pvp);
acedcommand(rtstr, _t("_zoom"), rtstr, _t("_extents"), 0);
}
以上代码实现了创建新视口 但是没能实现缩放 而且原有视口如何删除 请各位高手指点一下
|