明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1727|回复: 0

[原创]高手帮帮忙 如何在图纸空间创建新视口并实现缩放!!!

[复制链接]
发表于 2008-4-9 09:27:00 | 显示全部楼层 |阅读模式

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);
}

 以上代码实现了创建新视口 但是没能实现缩放 而且原有视口如何删除 请各位高手指点一下

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 16:34 , Processed in 0.158791 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表