![]() |
【转帖】[原创]高手帮帮忙 如何在图纸空间创建新视口并实现缩放!!!
[原创]高手帮帮忙 如何在图纸空间创建新视口并实现缩放!!!
[原创]高手帮帮忙 如何在图纸空间创建新视口并实现缩放!!! 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); } 以上代码实现了创建新视口 但是没能实现缩放 而且原有视口如何删除 请各位高手指点一下 |
| 所有的时间均为北京时间。 现在的时间是 09:37 PM. |