明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3271|回复: 2

三视图功能实现(80%完成)

[复制链接]
发表于 2005-4-19 15:25:00 | 显示全部楼层 |阅读模式
上次被问的, 用ARX怎么实现三视图的效果. 调试的结果是做三个viewport.. 不过还有一个问题末有解决, 虽然看起来是三视图的架式..三个视口出来之后不会自动zoom到合适的大小位置..-__- 环境是ARX2000, 不知道2002以上版本的viewport是不是更好用一些.. void command_name
{
AcDbDatabase *pCurDb = acdbHostApplicationServices()->workingDatabase();
// 取得当前数据库 AcDbViewportTable *pVPTable;
pCurDb->getViewportTable(pVPTable, AcDb::kForWrite);
// 取得当前视口配置表 AcDbViewportTableRecord *pVPLeft = new AcDbViewportTableRecord();
AcDbViewportTableRecord *pVPRightUp = new AcDbViewportTableRecord();
AcDbViewportTableRecord *pVPRightBtm = new AcDbViewportTableRecord();
// 分配三个新视口记录 AcDbViewportTableRecord *pVPCurrent;
// 默认的全屏视口记录, 等一下要删掉 AcGePoint2d upper_mid (0.5, 1.0);
AcGePoint2d upper_right (1.0, 1.0);
AcGePoint2d mid (0.5, 0.5);
AcGePoint2d lower_left (0.0, 0.0);
AcGePoint2d lower_mid (0.5, 0.0);
AcGePoint2d right_mid (1.0, 0.5);
// 三个新视口的左下角/右上角坐标, 从0到1(所谓normalized) char* active_name = new char[];
strcpy (active_name, "*ACTIVE");
// ACAD默认当前所有显示的视口记录名字都为*ACTIVE pVPLeft->setLowerLeftCorner(lower_left);
pVPLeft->setUpperRightCorner(upper_mid);
PVPLeft->setName(active_name);
pVPLeft->setUcs(AcDb::kTopView);
pVPLeft->setViewDirection(AcDb::kTopView);
pVPLeft->setIconAtOrigin(TRUE); pVPRightUp->... pVPRightBtm->... // 我懒了..都是和pVPLeft一样的..只是pVPRightUp的setUcssetViewDirection换成AcDb::kFrontView, pVPRightBtm换成AcDb::kLeftView..各位请举一反三吧..前两天就是因为不知道如果要使用ACAD内认的orthogonal view, 这两个函数一定要一起设定, 才弄得怎么都搞不定的.. pVPTable->getAt("*ACTIVE", pVPCurrent, AcDb::kForWrite);
pVPCurrent->erase();
pVPCurrent->close();
// 删除默认全屏视口 pVPTable->add(pVPLeft);
pVPTable->add(pVPRightUp);
pVPTable->add(pVPRightBtm); pVPLeft->close();
pVPRightUp->close();
pVPRightBtm->close();
pVPTable->close(); acedVportTableRecords2Vports();
// 至关重要的一句, 一定要在加好新视口记录关了viewport table之后才能操作, 不然ACAD不会显示新的视口 }
发表于 2005-4-20 10:44:00 | 显示全部楼层
辛苦了 支持!好东西
发表于 2008-3-18 22:11:00 | 显示全部楼层

thanks a million.

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

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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