CAD - vba开发手册(9)

2019-08-30 17:55

\缩放倍率: 10\

Dim Center(0 To 2) As Double Dim magnification As Double

Center(0) = 3: Center(1) = 3: Center(2) = 0 magnification = 10

ThisDrawing.Application.ZoomCenter Center, magnification End Sub

显示图形界限和范围

基于图形的边界或图形中对象的范围显示视图,使用的是ZoomAll、ZoomExtents或ZoomPrevious方法。

ZoomAll显示整个图形,如果对象范围超出了界限,ZoomAll显示对象的范围,如果对象都在界限内,ZoomAll显示的为界限。

ZoomExtents是基于活动视口的范围计算缩放,而不是当前视图。通常活动视口为完全可见,所以结果是明显而直接的。然而,当工作于图纸空间视口期间的模型空间中使用Zoom方法,如果缩放超出了图纸空间的边界时,缩放后的有些区域可能不可见。

ZoomExtents更改视图到当前图形所包围的整个范围。有些情况下(对于ZoomAll和ZoomExtents),图形可能会重新生成。图形重新生成对于冻结的或关闭的图层不起作用。如果图形中没有对象,ZoomExtents将显示图形的界限。

在三维视图中,ZoomAll和ZoomExtents效果相同。无限构造线(即构造直线)和射线对该两项也不造成影响。

ZoomPrevious 缩放当前视口到其先前的范围。 缩放活动的图形到全图和图形范围

Sub Ch3_ZoomAll() ' ZoomAll

MsgBox \执行 ZoomAll\

ThisDrawing.Application.ZoomAll ' ZoomExtents

MsgBox \执行 ZoomExtents\ThisDrawing.Application.ZoomExtents End Sub

使用命名视图

你可命名并保存视图留待以后使用。当你再不需要该视图时,你也可将其删除。 本节内容: 创建和命名视图 删除视图 创建和命名视图

视图是在建立时命名的。要创建新的视图,使用Add方法以添加一新的视图到Views(视图)集合。 视图的名称最长可以255个字符,可包含字母、数字,还有些特殊字符如美元标志($)、连字号(-)和下划线(_)。

当你保存图形时,视图位置和视图的比例也将同时保存下来。 添加新的视图对象

Sub Ch3_AddView()

' 添加一命名视图到视图集合中 Dim viewObj As AcadView

Set viewObj = ThisDrawing.Views.Add(\End Sub

删除视图

要删除命名的视图,使用Delete(删除)方法。View对象的Delete方法在View对象上,而不是在其上层对象上。以下例子从指定的View对象(viewObj)中和通过指定视图的名称(View1)从Views集合中删除视图。 从View对象中删除视图

viewObj.Delete

从Views集合中删除视图

ThisDrawing.Views(\

使用平铺视口

AutoCAD通常是使用一填满整个图形区域的单一视口开始新的图形。你可拆分图形区域并同时显示多个视口。例如,如果你使一个全图和一个详细视图都可见,你就可以在整个图形中看到你在详细视图中更改的效果。在每一个视口中,你可做到以下内容:

? 缩放、设定捕捉、栅格和UCS图标模式、恢复在单独视口中的命名视图

? 执行命令期间可从一个视口进入另一个视口中 ? 命名视口的配置以便重新使用它

下例显示了带三个平铺视口的图形。十字光标所在的视口为当前视口。视口完全填充了图形区域而且不会重叠。

在你制图时,在一个视口中所作的更改将会立即反映到其它的视口。

平铺视口与在图纸空间中排列的视口有所不同。图纸空间视口,也称为浮动视口,是用于建立图形的最后布局。它们可以重叠,并可同时进行出图打印。 本节内容: 显示多平铺视口

使其它平铺视口成为当前视口 显示多平铺视口

你可用多种配置显示视口。你所显示的视口是依赖于你需要看到的视图数量和大小。以下例图显示了默认的视口配置:

要拆分活动的视口,使用Split方法。该方法有一个参数,就是拆分视口的配置类型。要指定窗口的配置,使用与上面显示的默认配置相符的常量:acViewport2Horizontal、 acViewport2Vertical、 acViewport3Left、 acViewport3Right、 acViewport3Horizontal、 acViewport3Vertical、 acViewport3Above、 acViewport3Below或acViewport4。

以下例子创建新的视口,然后将视口拆分成两个水平窗口。 将视口拆分成两个水平窗口

Sub SplitAViewport() ' 创建新的视口

Dim vportObj As AcadViewport

Set vportObj = ThisDrawing.Viewports.Add(\

' 拆分vportObj为2个水平窗口 vportObj.Split acViewport2Horizontal

' 现在设定vportObj为活动视口

ThisDrawing.ActiveViewport = vportObj End Sub

使其它平铺视口成为当前视口

你可在当前视口中输入点或选择对象。当视口为当前状态,箭头光标将更改为十字光标,同时边框为高亮显示。

要让视口成为当前视口,使用ActiveViewport属性。

你可在现存的视口中循环以查找特定的视口。要做到这一点,首先应使用Name属性确定你想得到视口的视口配置名称。另外,如果视口配置被拆分,每一在配置上的单独视口可通过LowerLeftCorner和UpperRightCorner属性来确定。

LowerLeftCorner和UpperRightCorner属性描述了显示视口的图形布置。这些视口定义如下(使用四等分作为例子):

Viewport 1-LowerLeftCorner = (0, .5), UpperRightCorner = (.5, 1) Viewport 2-LowerLeftCorner = (.5, .5), UpperRightCorner = (1, 1) Viewport 3-LowerLeftCorner = (0, 0), UpperRightCorner = (.5, .5) Viewport 4-LowerLeftCorner = (.5, 0), UpperRightCorner = (1, .5) 拆分视口,然后在窗口中循环

本例将视口拆分为四个窗口。它可在图形中的所有视口之间循环并显示视口的名称及每个视口的左下角和右上角。

Sub Ch3_IteratingViewportWindows() ' 创建新的视口并使活动 Dim vportObj As AcadViewport

Set vportObj = ThisDrawing.Viewports.Add(\ThisDrawing.ActiveViewport = vportObj

' 拆分窗口为4个窗口 vportObj.Split acViewport4

' 在视口之间循环,高亮每个视口并 ' 显示每个视口的右上角和左下角 Dim vport As AcadViewport Dim LLCorner As Variant Dim URCorner As Variant

For Each vport In ThisDrawing.Viewports ThisDrawing.ActiveViewport = vport LLCorner = vport.LowerLeftCorner URCorner = vport.UpperRightCorner

MsgBox \视口: \现为活动状态。\vbCrLf & \左下角:\

LLCorner(0) & \\右上角:\

URCorner(0) & \Next vport End Sub

更新文档窗口的几何图形

你在AutoCAD ActiveX自动操作中执行的许多动作大多都是修改了AutoCAD图形的显示。不是所有的动作都会更新图形的显示。这样设计可以让你在图形更改过程中不必每个动作都去等待显示的更新。取而代之的是,你可将你的动作捆扎在一起然后在你完成更改后调用一个命令更新显示。

更新显示的方法为Update和Regen。

Update方法只更新单个对象的显示。而Regen方法重新生成整个图形并重新计算所有对象的屏幕坐标和视图分辨率。它也重新索引图形数据库以优化图形的显示和对象选择的性能。 更新单个对象的显示

本例创建圆,然后将圆的颜色改为红色。接着使用Update方法更新圆以使圆在AutoCAD中可见。 Sub Ch3_UpdateDisplay() Dim circleObj As AcadCircle Dim center(0 To 2) As Double Dim radius As Double

center(0) = 1: center(1) = 1: center(2) = 0 radius = 1

' 创建圆然后将其颜色改为红色

Set circleObj = ThisDrawing.ModelSpace.AddCircle(center, radius) circleObj.Color = acRed


CAD - vba开发手册(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:浅议小学高年级应用题教学存在的问题及对策研究

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: