一、背景

CATIA是当今工业领域内领先的三维CAD软件,通过对CATIA的二次开发,可以对特定功能和需要进行定制,并且无缝嵌入到CAITA中。

二、二次开发框架

CATIA提供了AutomationAPI组件和组件应用架构(CAA,Component Application Architecture)两种开发模式。细分的话,其实可以分成四种:Automation API(自动化组件),KonwledgeWare(智能构件),Interactive User Defind Feature(UDF)和CAAC++/Java API(CAA)。

2.1 Automation组件

Automation API具备与任何OLE所兼容的平台进行通讯能力,自动化(Automation)组件使用VBScript作为编辑工具。通过宏录制功能(Macro Record),可以记录用户的操作过程并自动生成VBScript代码。这种方式比较简单,在CATIA环境就中可完成。

2.2 组件应用架构(CAA)

CAA采用组件对象模型(COM)和对象的连接和嵌入(OLE)技术,COM作为一种软件架构具备了更好的模块独立性、可扩展性,使CAA的程序设计更加容易且趋于标准化,使程序的代码更加简洁明了。在CATIA运行的情况下,外部进程可以通过访问COM组件实现对CATIA的操作,如创建、修改CATIA环境和几何形体的数据、尺寸等。这种方式主要使用C++作为开发语言。

2.3 COM组件调用(C#)

CATIA安装后会注册相应的COM组件,通过C#可添加需要的COM组件引用可完成对CAITA的二次开发。都是CATIA V5开头。

三、CAA+RADE

3.1 配置开发环境

需要:CATIA、CAA接口、CAA RADE(版本对应)、Visual Studio。

3.2 CAARADE框架

RADE框架是集成在VisualStudio中的由达索提供的CATIA二次开发框架。

3.3 CAA接口库

CAA接口包括了达索提供的可使用的CATIA接口(头文件、库文件等)。

3.4 帮助文档

路径:Root_Dir\CAADoc\Doc\online\CAACenV5Default.htm

四、开发模式

4.1批处理模式

批处理模式,即在不启动CATIA的情况下运行的程序。

4.2交互式模式

交互式模式,即在CATIA下运行的程序

对于需要捕捉用户的一系列交互操作的应用,可以采用Automation API接口和CAA接口。Automation可以调用“InputBox”和“MsgBox”函数获取用户输入信息和进行输出,而对于NT用户还可以应用Visual Basic来定义更为复杂成熟的输入输出面板,还可以给宏关联图标,并置入CATIA显示框架。V5R6以后的自动化的应用接口同样可以获取界面的对象选择。

CAA则可以做精致的交互命令,这些命令可以分组归入工作台(workbench)并展示精美的面板,并能够实现Undo/Redo。

五、总结

CAA的实现,是通过提供的快速应用研发环境RADE和不同的API接口程序来完成的。快速应用研发环境Rapid Application Development Environment(RADE)是一个可视化的集成开发环境,它提供完整的编程工具组。实际上RADE以Microsoft Visual Studio VC++为载体,在VC++环境中增加了CAA的开发工具。API提供了操作各种对象的方法、工具和接口。

运行catia_浅谈CATIA开发——CAA简介相关推荐

  1. 浅谈web开发以及django的安装和入门

    浅谈web开发 1.B/S和C/S结构 B/S:浏览器与服务器进行的交互模式(不需要官方下载的,一夫多妻制) C/S:客户机与服务器进项的交互模式(必须官方下载的,一夫一妻制 2.MVC和MVT MV ...

  2. 浅谈软件开发工具CASE在软件项目开发中发挥的作用认识

    浅谈软件开发工具CASE在软件项目开发中发挥的作用认识 内容摘要:阐述了CASE工具作为 一种开发环境在软件项目开发中所起到的开发及管理作用.CASE工具实际上是把原先由手工完成的开发过程转变为以自动 ...

  3. 浅谈敏捷开发和迭代开发相结合

    (转自:http://www.cnblogs.com/xiangzhong/p/4983257.html) 浅谈敏捷开发和迭代开发相结合 由于最近公司委派管理一个项目的开发,以往对开发体系没有特别的研 ...

  4. 浅谈API开发安全之sign有效时间(三)

    之前生成的sign和校验sign我们已经完全掌握了,但是仅仅凭借这样的sign是无法满足我们的需求的,如果一个黑客通过抓包抓到你的数据,他可以去修改你的header为这样的,body为那样的,也是可以 ...

  5. 浅谈实际开发中常用的分布式事物处理

    浅谈实际开发中常用的分布式事物处理 文章目录 前言 一.分布式事物 二.常用方案 1.使用记录表+mq机制 前言 随着微服务的流行,越来越多系统不在是单体结构,根据业务和功能拆分成不同微服务,这就导致 ...

  6. java学习方法-浅谈软件开发的神速进步

    中国人大都喜欢用武侠小说来比较软件开发,但是在实战武功中,只有葵花宝典才是最厉害的,也只有掌握了葵花宝典,才能称为"不败". 1浅谈软件开发的神速进步 1.1什么才是软件开发的葵花 ...

  7. 【汇智学堂】-python小游戏(太空阻击之一-浅谈游戏开发)

    第五章:太空阻击 本章将通过一个太空射击游戏实例来介绍python中pygame的基本使用方法,包括创建游戏体,键盘.鼠标操作,基本的物理碰撞.UI显示和逻辑处理等. 5.1浅谈游戏开发 游戏开发是一 ...

  8. 浅谈API开发安全之生成sign(一)

    在对于API的开发中,最让人头疼的就是接口数据暴露,让一些有心之人抓包之后恶意请求,那么如何解决这一弊端呢?自然而然的我们就想到了加密 ,那我们又如何加密,如何解密,才能使之有最安全的效率呢?这是一个 ...

  9. java变量命名规则_浅谈JAVA开发规范与开发细节(上)

    开发团队在开发过程中,由于每个人的开发习惯,以及对于技术的理解深浅程度不一,往往一个项目在开发过程中,代码的质量,代码的风格都不尽相似,所以有一份适合团队的代码规范是非常有必要的,而一个团队的代码规范 ...

最新文章

  1. php按条件修改xml,php如何修改xml内容
  2. matlab emf 读取,20140219-Emf_Demo EMF 矢量图 可以读取和保存EMF 的封闭类 非常实用 matlab 238万源代码下载- www.pudn.com...
  3. Spring Boot系列教程一:Eclipse安装spring-tool-suite插件
  4. 前端学习(1935)vue之电商管理系统电商系统之实现权限的默认勾选功能
  5. PageAdmin建站系统模板制作教程1:Razor简介
  6. 骗过70%的人!这个AI能自动给视频配音,真假难辨(不服来试)
  7. 设计模式学习笔记(二十:享元模式)
  8. table表格固定表头
  9. 领域驱动设计实践合订版(战略+战术)
  10. winpe装双系统linux_如何安装linux,winpe下如何安装linux的ISO
  11. oracle数据库查询,sql没问题,数据库也有数据,方法没错,项目运行就是查不出数据
  12. Xilinx SDSoc 加载opencv库
  13. 邮政网络与计算机网络的区别,邮政储蓄计算机网络系统分析与评价
  14. 文华财经指标公式源码学习
  15. 网络流最大流初步-Push–relabel maximum flow algorithm
  16. HTML手机签到转盘抽奖页面模板,手机端转盘抽奖代码分享
  17. airship 题解
  18. HMS Core 6.8.0版本发布公告
  19. Garmin 佳明 D2 charlie 设置尾翼编号
  20. 从技术到管理-IT人职业跨越

热门文章

  1. BFS POJ 3278 Catch That Cow
  2. 【leetcode刷题笔记】Restore IP Addresses
  3. python集合排序_numpy排序与集合运算用法示例
  4. WebRTC解决gclient sync failed(二)
  5. ssh免密码登陆远程服务器(3种方式)
  6. 从最大似然再看线性回归
  7. Android5.1--电源管理之省电模式分析
  8. python刚需_python案例(六): RFM在玩什么?
  9. springboot项目打成可依赖jar包_用IDEA把SpringBoot项目打成jar发布项目
  10. python创建字符串_Python基础之字符串