一、本节课程
C++ ARX二次开发视图
二、本节要讲解的知识点
C++ ARX开发中视图的获取、设置等知识
三、具体内容
1、AcDbViewTableRecord 来表示AUTOCAD中的视图。如何调整视图:先获取当前视图,设置一些特性,然后acedSetCurrentView函数来更新视图。
2、与视图相关的系统变量,来获取当前视图的一些参数。
VIEWMODE、VIEWCTR、LENSLENGTH、TARGET、VIEWDIR、VIEWSIZE、SCREENSIZE
void CViewUtil::GetCurrentView(AcDbViewTableRecord &view)
{
struct resbuf rb;
struct resbuf wcs,ucs,dcs;
wcs.restype=RTSHORT;
wcs.resval.rint=0;
ucs.restype=RTSHORT;
ucs.resval.rint=1;
dcs.restype=RTSHORT;
dcs.resval.rint=2;
//获得当前视口的查看模式
acedGetVar(TEXT("VIEWMODE"),&rb);
view.setPerspectiveEnabled((rb.resval.rint&1)!=0);
view.setFrontClipEnabled((rb.resval.rint&2)!=0);
view.setBackClipEnabled((rb.resval.rint&4)!=0);
view.setFrontClipAtEye((rb.resval.rint&16)==0);
//当前视口中视图的中心点(UCS坐标)
acedGetVar(TEXT(&#