【CATIA的二次开发28】抽象对象Document涉及应用程序连接的属性
在CATIA VBA开发中,Document对象是最核心、最基础的对象之一。它代表了当前在CATIA会话中打开的一个文档(文件)。
几乎所有与文件操作、模型访问相关的操作都始于获取一个Document对象。Document对象包含多种方法和属性,以下介绍Document对象方法和属性
一、Document对象方法
1、方法和属性列表

2、属性分类
- 应用程序连接属性
属性 | 返回值类型 | 功能描述 | 使用场景示例 |
---|---|---|---|
Application | Application | 返回当前文档所属的 CATIA 应用实例 | 访问全局功能: Set catia = doc.Application |
Parent | AnyObject | 返回文档的父对象 (通常是 Application 或 Documents 集合) | 导航对象层级: Set parentObj = doc.Parent |
- 文档标识属性
属性 | 返回值类型 | 功能描述 | 平台差异说明 |
---|---|---|---|
Name | String | 获取文档名称 (不含路径) | 示例:“Part1.CATPart” V5/V6 通用 |
FullName | String | 获取完整路径+文件名 | 示例:“C:\Parts\Assembly1.CATProduct” V5:本地路径 3DX:PLM 数据库路径 |
Path | String | 获取文档所在目录路径 (不含文件名) | 示例:“C:\Parts” V5:本地路径 3DX:返回空或虚拟路径 |
- 文档状态属性
属性 | 返回值类型 | 功能描述 | 使用技巧 |
---|---|---|---|
ReadOnly | Boolean | 判断文档是否只读 True = 只读模式 | 修改前检查: If Not doc.ReadOnly Then doc.Part.Update() |
Saved | Boolean | 判断文档是否已保存 True = 无未保存修改 | 关闭前验证: If Not doc.Saved Then MsgBox “保存更改!” |
SeeHiddenElements | Boolean | 控制隐藏元素可见性 True = 显示隐藏元素 | 审查隐藏对象: doc.SeeHiddenElements = True |
- 图形视图属性
属性 | 返回值类型 | 功能描述 | 使用示例 |
---|---|---|---|
Cameras | Cameras 集合 | 访问文档相机集合(视图视角配置) | 保存/恢复视图: Set view1 = doc.Cameras.Item(“Camera.1”) |
ActiveView | Viewer / Window | 获取当前激活视图窗口(V5 特有) | 视图操作: doc.ActiveView.FitAllIn() |
- 选择与过滤属性
属性 | 返回值类型 | 功能描述 | 平台差异说明 |
---|---|---|---|
Selection | Selection | 获取文档选择集合对象(V5 核心功能) | V5:直接访问 3DX:改用 SelectionManager 服务 |
CurrentFilter | Filter | 获取/设置当前选择过滤器(V5 特有) | 已淘汰: 3DX 中使用 PLMTypeFilter 替代 |
CurrentLayer | Layer | 访问当前工作图层(需启用层功能) | 图层管理: Set curLayer = doc.CurrentLayer |
- 关键属性功能对比表
属性分类 | 属性名称 | 核心功能 | 是否可写 | V5 支持 | 3DX 支持 |
---|---|---|---|---|---|
应用连接 | Application | 获取 CATIA 实例 | ❌ | ✅ | ✅ |
Parent | 获取父对象 | ❌ | ✅ | ✅ | |
文档标识 | Name | 获取文档名称 | ❌ | ✅ | ✅ |
FullName | 获取完整路径 | ❌ | ✅ | ⚠️ (PLM路径) | |
Path | 获取目录路径 | ❌ | ✅ | ⚠️ (常为空) | |
文档状态 | ReadOnly | 判断只读状态 | ❌ | ✅ | ✅ |
Saved | 判断保存状态 | ❌ | ✅ | ✅ | |
SeeHiddenElements | 控制隐藏元素可见性 | ✅ | ✅ | ✅ | |
图形视图 | Cameras | 访问视图相机集合 | ❌ | ✅ | ✅ |
ActiveView | 获取活动视图(V5特有) | ❌ | ✅ | ❌ | |
选择与过滤 | Selection | 访问选择集(V5核心) | ❌ | ✅ | ⚠️ (服务替代) |
CurrentFilter | 获取/设置过滤器(已淘汰) | ✅ | ✅ | ❌ | |
CurrentLayer | 访问当前图层 | ✅ | ✅ | ✅ |
二、属性~应用程序连接属性(Application和Parent)
1、Application属性
在 CATIA VBA 开发中,Document 对象的 Application 属性是最基础且最重要的属性之一,它提供了访问 CATIA 应用程序实例的入口点。
这个属性在几乎所有 CATIA 自动化脚本中都会用到,是连接文档对象与整个 CATIA 环境的桥梁。
- Application 属性的核心作用
- 返回当前文档所属的 CATIA 应用程序实例:每个文档对象都关联到一个具体的 CATIA 应用程序
- 提供全局访问入口:通过此属性可访问 CATIA 的所有功能模块和全局设置
- 实现对象层次结构导航:
Application → Documents → Document → Part/Product/Drawing
- 基本用法
' 获取当前文档的 Application 对象
Dim catiaApp As Application
Set catiaApp = CATIA.ActiveDocument.Application' 或者直接从文档对象获取
Dim doc As Document
Set doc = CATIA.ActiveDocument
Set catiaApp = doc.Application
- 通过 Application 属性可访问的关键对象和功能
场景一:文档管理
对象/方法 | 说明 | 示例 |
---|---|---|
Documents 集合 | 所有打开的文档 | doc.Application.Documents |
ActiveDocument | 当前活动文档 | doc.Application.ActiveDocument< |