众所周知CATIA的二次开发一般基于VB或者CAA。VB比较容易上手,开发效率比较高,不过貌似VB现在用的人不多。
CAA ( Component App lication Architecture ) 是CATIA的一整套C + +函数库,该函数库在CATIA 运行时加载。用户通过安装RADE (Rapid App lication DevelopmentEnvironment)模块,可以实现在VC + + 编程环境下编制程序,与CATIA进行通信,从而对CATIA进行二次开发,有点难度哈。
那么,作为目前十分火爆的Python语言能否对CATIA进行二次开发呢,答案是肯定的。
以下演示的案例是利用Python语言在CATIA中绘制了一个机翼外形。
【关于软件和库】
首先电脑中得安装有CATIA
下载安装Python,推荐Python3.5及以后版本,免费下载
安装pywin32及numpy两个python库,安装方式 pip install numpy。如果不会安装python的函数库,可以直接下载一个anaconda3,直接把python3及常用的库都集成在里面了,很方便。
绘制机翼当然还得准备一个翼型数据,将数据存到文本文件里,以供程序读取
仿写VB,CATIA的录制宏可以得到每一步操作的VB代码,将VB代码改写成Python格式即可。
例如,以下是VB代码
Set partDocument1= CATIA.ActiveDocument
Set part1 =partDocument1.Part
Set hybridBodies1 = part1.HybridBodies
Set hybridBody1 = hybridBodies1.Add()
part1.Update
改写成Python代码之后,变成以下形式:
partDocument1= CATIA.ActiveDocument
part1 =partDocument1.Part
hybridBodies1= part1.HybridBodies
hybridBody1= hybridBodies1.Add()
part1.Update
是不是很简单?快来尝试一下吧。
【以下代码可以在CATIA 中创建一个几何图形集】
# -* -coding:UTF-8 -*-
importwin32com.client.dynamic
import sys, os
import win32gui#
import numpy asnp
# 导入函数库numpy
# 启动CATIA
CATIA =win32com.client.Dispatch("CATIA.Application")
CATIA.visible=1
#显示CATIA
documents1 =CATIA.Documents
# 创建一个CATIA 文档
partDocument1 =documents1.Add("Part")
# 建立一个新零件
part1 =partDocument1.Part
#指向所有形状集合
ShFactory =part1.HybridShapeFactory
bodies1 =part1.HybridBodies
# 添加新的几何图形集
body1 =bodies1.Add()
# 对集合图形集重命名
body1.Name="Wireframe"
bodies2 =body1.hybridBodies
# 创建子集
body2 =bodies2.Add()
# 添加新子集
敬请关注复合材料力学公众平台举办的Abaqus复合材料技术培训班。
投稿邮箱:mech_of_comps@yeah.net
投稿模板:公众号后台回复“前沿追踪模板”获取
微 信:mech_of_comps
QQ 群:640676531,540731372