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 As HybridBodies
Set hybridBodies1 = oPart.HybridBodies
Set ohybridBody= hybridBodies1.add()
ohybridBody.Name="TestHybridBody"
b) 获取到oPart下的名为process的几何图形集
Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = oPart.HybridBodies
Dim hybridBody1 As HybridBody
Set hybridBody1 = hybridBodies1.Item("process")
7) 有序几何图形集
a) 在oPart下新建名为TestOrderHybridBody的有序几何图形集
Dim orderHybridBodies As OrderedGeometricalSets
Set orderHybridBodies = part1.OrderedGeometricalSets
Dim orderHybridBody As OrderedGeometricalSet
Set orderHybridBody = orderHybridBodies.Add()
orderHybridBody.Name = "TestOrderHybridBody"
b) 获取到oPart下的名为process的几何图形集
Dim orderHybridBody As OrderedGeometricalSet
Set orderHybridBody = orderHybridBodies.Item("process")

2. 几何构造方法

先获取几何构造方法库HybridShapeFactory

Dim oHybridShapeFactory As HybridShapeFactory
Set oHybridShapeFactory = oPart.HybridShapeFactory
1) 点
a) 通过坐标创建点
Dim iPoint1 As HybridShapePointCoord
Set iPoint1= oHybridShapeFactory.AddNewPointCoord(0, 10, 20)
b) 两点之间创建点
Dim iPoint3 As HybridShapePointBetween
Set iPoint3 = oHybridShapeFactory.AddNewPointBetween(iPoint1, iPoint2, 0.5, 0)
AddNewPointBetween(参考点1,参考点2,比率,方向)
c) 曲线上距离创建点
Dim iPoint4 As HybridShapePointOnCurve
Set iPoint4 = oHybridShapeFactory.AddNewPointOnCurveFromDistance(refLine, 20, False)
AddNewPointOnCurveFromDistance(参考线,长度,布尔)
d) 曲线上比率创建点
Dim iPoint5 As HybridShapePointOnCurve
Set iPoint5 = oHybridShapeFactory.AddNewPointOnCurveFromPercent(refLine, 0.5, False)
AddNewPointOnCurveFromPercent(参考线,比率,布尔)
2) 线
a) 两点连线
Dim refLine As HybridShapeLinePtPt
Set refLine = oHybridShapeFactory.AddNewLinePtPt(iPoint1, iPoint2)
AddNewLinePtPt(参考点1,参考点2
b) 点方向构造线
Dim dirLine As HybridShapeLinePtDir
Set dirLine = oHybridShapeFactory.AddNewLinePtDir(iPoint5, iDirection, 0, 100, False)
AddNewLinePtDir(参考点,方向,起始长度,结束长度,布尔)
c) 曲线的角度线
Dim angleLine As HybridShapeLineAngle
Set angleLine=oHybridShapeFactory. AddNewLineAngle(refLine,oPart.
OriginElements.PlaneYZ, iPoint1, False, 0, 200, 30, False)
AddNewLineAngle(参考线,支持面,起点,布尔,起始长度,结束长度,布尔)
d) 曲面的法线
Dim normalLine As HybridShapeLineNormal
Set normalLine = oHybridShapeFactory.AddNewLineNormal(refSurface, iPoint3, 0, 200, False)
AddNewLineNormal(参考曲面,参考点,起始长度,结束长度,布尔)
e) 3点圆
Dim circle0 As HybridShapeCircle3Points
Set circle0 = oHybridShapeFactory.AddNewCircle3Points(iPoint1, iPoint2, iPoint3)
circle0.SetLimitation 1
3) 面
a) 拉伸
Dim extrudeSurface As HybridShapeExtrude
Set extrudeSurface = oHybridShapeFactory.AddNewExtrude(CurveJoin, 1000, 1000, oHybridShapeFactory.AddNewDirectionByCoord(0, 0, 1))
b) 填充
Dim fillSurface As HybridShapeFill
Set fillSurface = oHybridShapeFactory.AddNewFill()
Dim reference1 As Reference
Set reference1 = part1.CreateReferenceFromObject(circle0)
fillSurface.AddBound reference1
4) 实体
a) 拉伸凸台
Dim reference1 As Reference
Set reference1 = part1.CreateReferenceFromObject(circle0)
Dim pad1 As Pad
Set pad1 = shapeFactory1.AddNewPadFromRef(reference1, 500)

3. 几何运算方法

1) 投影
Dim projectPoint As HybridShapeProject
Set projectPoint = oHybridShapeFactory.AddNewProject(iPoint4, extrudeSurface)
2) 相交
Dim intersection As HybridShapeIntersection
Set intersection = oHybridShapeFactory.AddNewIntersection
(fillSurface, extrudeSurface)
3) 平移
Dim Z As HybridShapeDirection
Set Z = oHybridShapeFactory.AddNewDirectionByCoord(0, 0, 1)
Dim translate1 As HybridShapeTranslate
Set translate1 = oHybridShapeFactory.AddNewTranslate(iPoint4, Z, 100)
4) 分割
Dim splitSurface As HybridShapeSplit
Set splitSurface = oHybridShapeFactory.AddNewHybridSplit(extrudeSurface, intersection, 0)
splitSurface.AddElementToKeep projectPoint2
5) 延伸
Dim extrapolElement As HybridShapeExtrapol
Set extrapolElement = oHybridShapeFactory.AddNewExtrapolLength(iPoint1, intersection, 100)

三、 在Visual Studio中开发

第一步,引用COM组件

Imports INFITF
Imports HybridShapeTypeLib
Imports MECMOD
public static class CatiaMethods
{
   public static Editor GetEditor()
   {
      Application CATIA;
      try
      {
     CATIA= (INFITF.Application)Marshal.GetActiveObject("CATIA.Application");
      }
      catch
      {
        Type oType = System.Type.GetTypeFromProgID("CATIA.Application");
        CATIA = (INFITF.Application)Activator.CreateInstance(oType);
        CATIA.Visible = true;
      }
        Editor ed = CATIA.ActiveEditor;
        return ed;
     }
}

接下来的套路就和宏编辑器里一样了,但是在Visual Studio中,编写代码要比宏编辑器要方便很多,主要是高级,有逼格。。。

这是本人第一篇博客,希望各位读者多多指教,评论区直接留言或者私信,大家互相学习,共同进步。
在这里插入图片描述

  • 12
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Catia 3DEXPERIENCE R2016x是达索系统公司(Dassault Systèmes)推出的一款零件、装配、模具设计和工艺导入软件,其主要特点在于对多种材料和加工过程的支持,同时结合数字设计和验证技术,可快速实现产品设计与制造的无缝集成。该软件可广泛应用于下游行业,如航空、航天、汽车、机械、电子、家电等。 安装Catia 3DEXPERIENCE R2016x需要特定的安装包和系统环境,建议用户先了解系统基础配置要求和软件版本兼容性。安装时需要先将安装包拷贝到本地磁盘上,并解压文件,安装之前需要确认本机是否有所需授权和许可,若无则需要去官网申请。接着执行安装程序并选择安装目录,可以修改默认配置路径和组件的安装方式。在安装过程中需要耐心等待系统检测和配置,同时建议用户关闭杀毒防火墙,保证安装过程正常进行。 除了基础安装之外,Catia 3DEXPERIENCE R2016x还需要适配相应的平台、工具和插件,如SolidWorks、AutoCAD、UG NX等外部工具集成。此外,该软件需要用户有一定的设计基础和技术支持,如熟悉建模技巧、了解技术规范和行业标准等,才能发挥其最大的效果和优势。 总之,Catia 3DEXPERIENCE R2016x安装包安装并不复杂,但需要用户提前准备好基础环境和相应软件的配套,同时要掌握相关技术知识和操作技巧,这样才能充分利用该软件进行高效的设计和制造。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值