VBA 类名 |
AcadBlock |
---|---|
创建方法 |
Blocks.Add |
访问途径 |
Blocks.Item |
块有三种类型:简单块, XRef 块 和布局块。
简单块是可以联合在一起形成单个对象或块定义的对象集合。用户可以在图形中插入、旋转对象以及调整对象的比例。用户可以把简单块炸开成组成对象、修改组成对象以及重新定义块。 简单块可以由当前图形中的几何形状来定义,也可以使用其他的AutoCAD 图形。当使用另外一个图形来创建块时,新的简单块会保存在当前图形数据库中;假如原始图形更改,它不会更新。将简单块的实例插入到当前的图形中会创建一个BlockReference 对象。
XRef 块是从其它图形到当前图形的外部连结。 由于 XRef 块代表的是对几何图形的连结而不是几何图形本身,因此会随着来源图形的修改而更新。将 XRef 块的实例插入当前的图形会创建一个ExternalReference 对象。
布局块代表模型空间与图纸空间布局中的几何图形。这些块具有一个与其相连的布局(Layout)对象,其中包含出图配置以及其他配置定义信息。激活的图纸空间的块名为*PAPER_SPACE。其他图纸空间的块名为*PAPER_SPACEn,其中 n为整数。 布局名从 *PAPER_SPACE0开始;每插入一个新的布局,整数加1。
依照默认值,布局块具有下列名称:
块名 |
定义 |
---|---|
*MODEL_SPACE | 模型空间布局。每一个图形只有一个模型空间布局。这个块和 ModelSpace 集合相对应。 |
*PAPER_SPACE | 创建的第一个图纸空间。假如模型空间布局当前激活,则块包含最后被激活的图纸空间布局。 这个块和 PaperSpace 集合相对应。 |
*PAPER_SPACE0 | 创建的第二个图纸空间。假如这个布局被激活,这个图块将更名为*PAPER_SPACE ,并且可以从 PaperSpace集合存取;第一个布局名被更改为 *PAPER_SPACE0。 |
当用户激活一个新的布局,它将与前面建立的布局交换名称。这样,当前激活的布局名称总为*PAPER_SPACE。例如,假设布局1被激活,布局2与名称为*PAPER_SPAC0的块相关联。假如用户激活布局2,那么它的块名更改为*PAPER_SPACE,布局1的块名则改为*PAPER_SPACE0。
动态块通过提高智能性和适应性来增强普通块的性能。动态块实例的内部几何图形的基本定义和其它情况均可单独调整。这些机动性是动态块的重要概念。将动态块插入到当前图形中创建的也是 BlockReference 对象。从该块参照中,用户可获取 DynamicBlockReferenceProperty 对象。
要识别块的类型,使用IsLayout和IsXRef 属性。
① 假如这两个属性都是 FALSE,则块为一个简单块。
② 假如IsXRef 属性为TRUE,则块是一个外部引用。
③ 假如IsLayout属性为TRUE,则块包含所有与块相关的几何图形。
块可含有的对象数量没有限制。
要插入普通块或XRef块到图形中,使用InsertBlock方法。要建立新的布局块,使用 Add方法加入新的布局到Layouts集合中。当新的布局建立后,与布局相关的块也被建立。
要编辑或查询块,使用以下方法和属性: