浮动视口

AutoCAD ActiveX/VBA

 
浮动视口
 
 
 

用户不能在图纸空间中编辑模型。要访问 PViewport 对象中的模型,请使用 ActiveSpace 特性从图纸空间切换到模型空间。这样既可以操作模型又可以保持显示整个布局。PViewport 对象的编辑和视图更改功能与 Viewport 对象基本相同。只是可以更好地控制单个视图。例如,可以冻结或关闭某些视口中的图层,而不会影响其他视口;可以打开或关闭整个视口显示;还可以对齐视口之间的视图,以及相对于整个布局来缩放视图。

下图显示了模型的不同视图如何在图纸空间中显示。每个图纸空间图像代表一个不同视图的 PViewport 对象。在一个视图中,标注图层是冻结的。注意,在图纸空间中绘制的标题栏、边框和注释不会出现在“模型空间”视图中。此外,包含视口边框的图层已被关闭。

在 Viewport 对象中操作时,必须将 ActiveSpace 特性始终设置为 acModelSpace。在 PViewport 对象中操作时,可以将 ActiveSpace 特性设置为 acModelSpaceacPaperSpace,这样便可以根据需要在图纸空间和模型空间之间进行切换。

PViewport 对象、Viewport 对象和 ActiveSpace 特性设置

视口类型

状态

使用

PViewport

ActiveSpace = acPaperspace

通过创建浮动视口并添加标题栏、边框和注释的方式来排列布局。编辑操作不会影响模型。

PViewport

ActiveSpace = acModelspace

在浮动视口中操作以编辑模型或更改视图。可以关闭或冻结单个视口中的图层。

视口

ActiveSpace = acModelspace

将屏幕拆分为平铺视口以编辑模型的不同视图。

在 AutoCAD® ActiveX Automation 中,ActiveSpace 特性用于控制 TILEMODE 系统变量。设置 ThisDrawing.ActiveSpace = acModelSpace 等同于设置 TILEMODE = on,而设置 ThisDrawing.ActiveSpace = acPaperSpace 等同于设置 TILEMODE = off

与此类似,MSpace 特性等同于 AutoCAD 中的 MSPACE 和 PSPACE 命令。设置 ThisDrawing.MSpace = TRUE 与使用 MSPACE 命令的作用相同:它将切换到模型空间。设置 ThisDrawing.MSpace = FALSE 与使用 PSPACE 命令的作用相同:它将切换到图纸空间。

此外,在将 MSpace 特性设置为 TRUE 之前,需要使用 Display 方法。对于某些需要在切换到模型空间之前设置的图形设置,可以使用 Display 方法对其进行初始化。在 AutoCAD 中,此任务是在“后台”完成的。但是,在 ActiveX Automation 接口中,程序员必须考虑此初始化过程。

注意请注意,在将 MSpace 特性设置为 TRUE 之前,必须至少先对一个 PViewport 对象使用 Display 方法来显示。如果打开显示失败,则在尝试设置 MSpace 特性时,会返回一个错误。