zoukankan      html  css  js  c++  java
  • AutoCAD模型空间多视口之叠加视口应用

    模型空间的视口和图纸空间的视口一样可以叠加

    叠加玩法ARX代码

    		//复制重叠模型空间当前视口
    		AcDbDatabase *pDb=curDoc()->database();
    		if (NULL == pDb)
    		{
    			acutPrintf(_T("
    获取数据库指针失败!"));
    			return;
    		}
    		AcDbViewportTablePointer pTbl(pDb,AcDb::kForWrite);
    		Acad::ErrorStatus es= pTbl.openStatus();
    		if (Acad::eOk != es)
    		{
    			acutPrintf(_T("
    错误码= %s"),acadErrorStatusText(es));
    			return;
    		}
    		AcDbObjectId recordId;
    		//获取激活视口记录Id
    		es = pTbl->getAt(_T("*Active"),recordId);
    		if (Acad::eOk != es)
    		{
    			acutPrintf(_T("
    错误码= %s"),acadErrorStatusText(es));
    			return;
    		}
    		//智能指针打开
    		AcDbViewportTableRecordPointer pRcd(recordId,AcDb::kForRead);
    		es = pRcd.openStatus();
    		if (Acad::eOk != es)
    		{
    			acutPrintf(_T("
    错误码= %s"),acadErrorStatusText(es));
    			return;
    		}
    		//克隆激活视口记录
    		AcDbViewportTableRecord *pNewRcd=AcDbViewportTableRecord::cast(pRcd->clone());
    		if (NULL == pNewRcd)
    		{
    			acutPrintf(_T("
    克隆激活视口记录失败!"));
    			return;
    		}
    		//添加到视口表
    		es = pTbl->add(pNewRcd);
    		if (Acad::eOk != es)
    		{
    			delete pNewRcd;
    			acutPrintf(_T("
    错误码= %s"),acadErrorStatusText(es));
    			return;
    		}
    		pRcd->close();
    		//必须,clone的实体是写状态,需要close,便于acedVportTableRecords2Vports更新访问
    		pNewRcd->close();
    		//必须,AcDbViewportTable的实体是写状态,需要close,便于acedVportTableRecords2Vports更新访问
    		pTbl->close();
    		//更新视口表记录到视口
    		es =acedVportTableRecords2Vports();
    		if (Acad::eOk != es)
    		{
    			acutPrintf(_T("
    错误码= %s"),acadErrorStatusText(es));
    			return;
    		}
    

    实际效果

    这样的方式是相当于模型空间的显示区域都有一个视口同时在显示。可以通过cvport命令来切换当前激活的视口。

  • 相关阅读:
    linux下创建virtualenv时指定python版本
    Centos7系统如何不重启系统识别新添加的硬盘?
    centos7系统下hostname解析
    Linux之shell脚本for、while、case语句的高级用法
    Linux自制编译内核
    Centos7系统详细的启动流程
    cpio的用法
    Linux之删除带有空格的文件(而不是目录)
    Linux之特殊的环境变量IFS以及如何删除带有空格的目录
    zabbix使用自定义脚本监控内存
  • 原文地址:https://www.cnblogs.com/edata/p/15501017.html
Copyright © 2011-2022 走看看