C++ ARX二次开发视图

本文档详细介绍了C++ ARX二次开发过程中关于CAD视图的处理,包括通过AcDbViewTableRecord获取和设置视图,利用系统变量调整视图参数,并提供了相关工具函数的应用示例。此外,还讲解了如何使用CViewUtil类获取和设置视图,以及实现ZoomExtent、ZoomEntity、ZoomWindow等功能。
摘要由CSDN通过智能技术生成

一、本节课程
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(&#
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值