天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 26|回复: 0

arx 布局中添加视口:布局名称、视口中心、视口宽、视口高

[复制链接]
  • TA的每日心情
    开心
    昨天 06:36
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    105

    主题

    11

    回帖

    1308

    积分

    管理员

    积分
    1308
    QQ
    发表于 2024-9-25 23:29:56 | 显示全部楼层 |阅读模式
    1. // 布局中添加视口:布局名称、视口中心、视口宽、视口高
    2. void Vport::InSpace(const CString &space,
    3.                                         const AcGePoint3d &pc,
    4.                                         double width,
    5.                                         double height)
    6. {        // 布局管理器中切换当前视口为布局1
    7.         Acad::ErrorStatus es = acdbHostApplicationServices()->
    8.                 layoutManager()->setCurrentLayout(space);
    9.         // 如果失败,直接返回主程序
    10.         if (es != Acad::eOk)
    11.                 return;
    12.         // 块表->布局空间块表记录->关闭块表
    13.         AcDbBlockTable *pBlkTbl = NULL;
    14.         acdbHostApplicationServices()->workingDatabase()->
    15.                 getBlockTable(pBlkTbl, AcDb::kForRead);
    16.         AcDbBlockTableRecord *pBlkTblRcd = NULL;
    17.         pBlkTbl->getAt(ACDB_PAPER_SPACE, pBlkTblRcd, AcDb::kForWrite);
    18.         pBlkTbl->close();

    19.         // 新建视口:设置中心点,宽,高
    20.         AcDbViewport *pViewport = new AcDbViewport();
    21.         pViewport->setCenterPoint(pc);
    22.         pViewport->setHeight(height);
    23.         pViewport->setWidth(width);

    24.         // 添加进视口记录中:返回记录id  viewportId
    25.         AcDbObjectId viewportId;
    26.         pBlkTblRcd->appendAcDbEntity(viewportId, pViewport);
    27.         pViewport->close();
    28.         pBlkTblRcd->close();

    29.         // 创建布局视口表对象,区别于AcDbViewportTable(模型视口表对象)
    30.         AcDbViewport *pVP = NULL;
    31.         if (acdbOpenObject(pVP, viewportId, AcDb::kForWrite) == Acad::eOk)
    32.         {        // 添加后要显示视口必须打开
    33.                 pVP->setOn();
    34.                 // 把新建的视口设成当前活动视口
    35.                 acedSetCurrentVPort(pVP);
    36.                 pVP->close();
    37.         }
    38. }
    复制代码

     

     

     

     

    arx 布局中添加视口:布局名称、视口中心、视口宽、视口高
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

    GMT+8, 2024-11-1 10:28 , Processed in 0.132057 second(s), 24 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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