CATIA 3DEXPERIENCE R2019x VBA开发介绍
一、 什么是VBA?
【VBA的官方解释】
VBA(Visual Basic for Applications)是VisualBasic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是MicrosoftOffice软件。它也可说是一种应用程式视觉化的 Basic 脚本。
CATIA提供了多种二次开发的接口,其中包括自动化对象编程(Automation)和开放的基于构件的应用编程接口(CAA)。本文主要介绍Visual Basic进行自动化对象编程。
二、 在宏编辑器中开发
相对Visual Studio等集成编译环境,宏编辑器无需引用API,直接可以调用Automation对象,进行CATIA二次开发。本文以VB.Net语言编写案例,介绍CATIA基本对象及几何元素的构造和运算方法。
下图为宏编辑器图标,快捷键为 Alt+F11
1. 对象
1)当前编辑对象
Dim oActiveEditor As Editor
Set oActiveEditor = CATIA.ActiveEditor
2)当前激活零件
Dim oPart As Part
Set oPart = CATIA.ActiveEditor.ActiveObject
3) 原点要素
Set PlaneXY = oPart.OriginElements.PlaneXY
Set PlaneXZ = oPart.OriginElements.PlaneZX
Set PlaneYZ = oPart.OriginElements.PlaneYZ
4) 参数
a) 获取结构树Part下的参数集
Dim params As Parameters
Set params = oPart.Parameters
b) 新建参数
Dim parameter1 As parameter
Set parameter1 = params.CreateDimension("长度", "Length", 1000)
Set parameter2 = params.CreateReal("实数", 100)
c) 获取参数(可通过序号或者名字来检索参数)
Set parameter3 = parameters1.Item("长度")
5) 几何体
a) 获取到零件几何体
Dim mainBody As Body
Set mainBody= oPart.MainBody
b) 在oPart下新建名为TestBody的几何体
Dim Bodies As Bodies
Set Bodies = part1.Bodies
Dim Body As Body
Set Body = Bodies.Add()
Body.Name = "TestBody"
c) 在oPart下获取到名为TestBody的几何体
Dim Body As Body
Set Body = Bodies.Item("TestBody")
6) 几何图形集
a) 在oPart下新建名为TestHybridBody的几何图形集
Dim hybridBodies1