用 CATIA COM 批量导出焊枪:从 CATPart 到 JT 的最短路径
批量导出这件事本身不难,难的是跑到第三十个零件时 CATIA 卡住不动, 而你的程序还在傻等。
超时
COM 调用没有内建超时。CATIA 忙的时候会直接拒绝消息, 调用方收到的是一个"服务器忙"的错误,而不是阻塞。 需要自己注册消息过滤器,把重试和放弃策略接管过来。
释放
每处理完一个零件就把拿到的 COM 对象显式释放掉,别指望垃圾回收及时。 引用堆积到一定数量,CATIA 的内存曲线会一路向上,最后整个进程失去响应。
顺序
先关文档再释放对象,反过来会留下孤儿文档窗口。 批处理结束时统一检查一次打开的文档数,不为零就说明前面漏了。
讨论 用 GitHub 账号登录后可评论