许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  CAA CATIA视图缩放:CATIA_CAA V5R19教程

CAA CATIA视图缩放:CATIA_CAA V5R19教程

阅读数 5
点赞 0
article_banner

想做CATIA二次开发?那你大概率绕不开CAA。全称是Component Application Architecture,翻译过来叫“组件应用架构”。听着唬人,其实说白了就是一套让你自己加功能的框架。


为啥要学它?因为CATIA本身就是用组件拼起来的。你可以自己写CAA组件,给CATIA V5开个挂;也可以把一堆组件攒到一起,搞个自己的专用工具。实测:很多大厂的定制模块就是这么来的。


先聊CAA的组织方式。每个应用至少有一个framework(框架),每个framework里至少有一个module(模块)。重点来了:每个framework下面必须有个IdentityCard.h文件。这个文件干嘛的?它用宏AddPrereqComponent来声明这个框架依赖哪些其他框架。编译器看了这个文件,就知道把头文件搜索范围限制在那些必备框架的接口里。


反过来说,如果你忘了声明依赖,编译时就会报一堆找不到头文件的错——我当年就被这个坑过。

再说module。每个module目录下有个Imakefile.mk文件,这货的作用是指明:这个模块里的所有文件编译时需要哪些其他模块、哪些外部库,还有不同操作系统下的特殊要求。个人认为,CAA最良心的地方就是:它在所有系统上用同一套编译器规则。你不用操心怎么写makefile,也不用记不同编译器的命令。但别高兴太早——MKMK并不是全自动的,你至少得在Imakefile.mk里告诉它:你用到了哪些其他模块的接口。


接下来是程序结构。CAA用了COM组件模型,里面有两个关键概念:接口和实现。接口就是一坨纯虚函数,只管“声明有哪些方法”;实现是具体干活的对象,它得显式说自己支持哪些接口,然后把这些接口里的方法全部写出来。一个实现对象可以支持多个接口,但外面的人只能通过接口跟它打交道——这不就是“只看菜单,不看后厨”嘛。


聊完底层,说说开发环境。RADE(Rapid Application Development Environment)是个可视化集成开发环境,说白了就是把CAA开发工具塞进Visual C++6.0里。它提供了一套完整的工具组,包括TCK、MAB、CUT、MKMK、CID等,都是以插件形式跟VC++混在一起。


TCK负责管理RADE环境,用来装开发包、创建工作空间。你在Windows NT上打开V5工作区时,tck_init和tck_profile这两个命令会自动调用。

MKMK是多工作区应用编译器,它是达索自己的源码编译工具。好处是跟平台无关(UNIX和Windows NT都能跑),支持面向组件的设计。但别指望它帮你搞定一切——你至少得告诉它你想要啥。


最后说句实在话:CAA + RADE这套组合,在所有高端CAD/CAM开发环境里算是最复杂、也是最强大的。如果你想玩转CATIA二次开发,耐着性子啃吧。


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空