Python

Python + win32com 自动化 Catia

通过 Python 的 win32com 模块远程控制 Catia V5,实现零件批量导出与参数读取。

#Python#win32com#自动化#批处理

环境准备

pip install pywin32

确保 Catia V5 已打开,并且 COM 自动化已启用。

连接 Catia

import win32com.client

# 连接到已运行的 Catia 实例
catia = win32com.client.Dispatch("CATIA.Application")
catia.Visible = True

print("Catia 版本:", catia.Version)

读取当前打开零件的参数

doc = catia.ActiveDocument
part = doc.Part

# 遍历所有参数
parameters = part.Parameters
for i in range(1, parameters.Count + 1):
    param = parameters.Item(i)
    print(f"{param.Name} = {param.Value}")

批量导出 STEP 文件

import os

docs = catia.Documents
for i in range(1, docs.Count + 1):
    doc = docs.Item(i)
    if doc.Name.endswith('.CATPart'):
        step_path = os.path.join(r"D:\export", doc.Name.replace('.CATPart', '.stp'))
        doc.ExportData(step_path, "stp")
        print(f"已导出:{step_path}")

注意事项

  • 需要以 管理员权限 运行 Python 脚本
  • Catia 必须处于 已打开 状态
  • 建议使用 try/except 处理 COM 异常