GWMCatia开发过程文档知识积累,从每天每时每刻做起CAA的百科全书介绍CAA安装目录\CAADoc\Doc\online\CAACenV5Default.htm1、模块介绍1.1打开CAACenV5Default.htm1.2学习百科全书MiddleWare,掌握CATIA的回调机制,收发机制,返回机制,错误机制,catialist数据结构,批处理模式,学习读懂CAADoc中教学代码GWMCatia开发过程文档知识积累,从每天每时每刻做起1.3学习组件对象模型,学习接口,组件,组件拓展,TIE模式、BOA模式,既有的组件拓展,新建组件等操作,理解接口实现相分离模式。学习CAA程序调试,新建框架,新建模块,新建组件,新建接口,新建CAAV5类,新建组件拓展,等等操作这一章可以微软出的一本《COM组件内幕》一书结合着看,加深对于组件的理解。GWMCatia开发过程文档知识积累,从每天每时每刻做起1.4学习UserInterface用户交互接口Frame总体框架,命令模式中的三种命令、对话框。了解工作空间、工作台的建立,工具条的建立,参见ApplicationFrame框架和CATIAApplicationFrame框架,理解CATCameraCATFrmEditorCATFrmWindowCATFrmLayoutCATI3DCompassGWMCatia开发过程文档知识积累,从每天每时每刻做起基本命令,对话框命令,状态切换命令等三种命令,使用状态机模式进行命令的周期管理参见DialogEngine框架GWMCatia开发过程文档知识积累,从每天每时每刻做起学习使用对话框,对话框的建立、显示、关闭、对话框空间的回调函数编写、通过Wizard编写对话框。通过代码自行建立对话框,参加Dialog框架GWMCatia开发过程文档知识积累,从每天每时每刻做起1.5模型的MVC显示模块看了这个模块的案例,你就知道为啥在CATIA中模型是那样进行显示的了,为啥可以进行交互了,包括二维表达元素,三维表达元素,表达元素的操作等。对象时如何进行交互控制的,数据时如何存储的。具体参加VisulizationBase框架和Visulization框架GWMCatia开发过程文档知识积累,从每天每时每刻做起1.6CATIA数据模型存储基本原理看Features和PPR学习特征模型(Featuremodeler)中的三大机制,原型/实例机制、构建/刷新机制、参数/结果机制,熟悉StartUp,文件中的特征集成,文件容器等概念这个是学习PPR和Mmr的基础,PPR专门针对装配层级的数据集成,Mmr之专门针对零件层级的数据集成1.7Document和知识工程,理解文档结构,将文档结构和组件都对应起来,不同层级的识别接口进行对应。可以参见零件文档浏览和PPR浏览等案例毕竟在CATIA中知识工程是很有作用的,参数,公式,检查,关系等,可以参照《CATIA高级应用》来学习知识工程的开发。之前在项目中因为开发使用设计表这项功能,简化了很多功能的开发。GWMCatia开发过程文档知识积累,从每天每时每刻做起1.8CATIA几何内核CGM主要是拓扑和几何两个方面,数学只是提供了几何运算时候的一系列工具,尤其是矩阵运算方面。这个几何内核可以和ACIS几何内核结合起来看,个人觉得很具有相似性。GWMCatia开发过程文档知识积累,从每天每时每刻做起1.9学习设计模式中的工厂模式、命令模式、观察者模式、状态机模式。以上几种模式在CAA开发中一直在使用。具体参考《设计模式》的就可以了,一个很大的软件,要想将各个模块组织起来,关系搞不清楚,自己都会混的。GWMCatia开发过程文档知识积累,从每天每时每刻做起2CAA开发应用篇:(面向典型功能的应用)2.1Mmr数据集成,继承与现有机械产品特征的数据结构集成和新建类型的数据结构集成,数据的操作、显示、CATI3DVisu接口、CATIEdit、CATINavigate、等等。通过Book、CombineCureve、MeasureSet三个案例理解数据集成。这是进入基础应用中最关键的一章,这一章中技术文档多,案例也多,经常会引用之前的文档,是之前学习的一个综合。GWMCatia开发过程文档知识积累,从每天每时每刻做起2.2零件设计,PartDesign,设计标准件库,参数化设计规整模型,集成特征到零件PPR,2.3装配设计在装配中计算自由度。装配约束,装配位姿等信息2.4工程图工程图的三视图,//没做过,自己查2.5NC加工,NC加工是CAA的一个很重要的应用,GWMCatia开发过程文档知识积累,从每天每时每刻做起2.6有限元分析开发,//没做过,2.7CATIA同外部软件库的协同CATIA同Matlab的调用集成,我测试过是可以的,CATIA和ANSYS的调用,我测试过是可以的,很多库和代码可以做成链接库、组件等来进行调用.GWMCatia开发过程文档知识积累,从每天每时每刻做起3CAA开发个人经验3.1结合需求,在项目中锻炼能力。想要啥功能就在百科和help里面找,找到了就学,一边学,一边用,一边巩固,以需求为导向。就和以顾客为导向一样。这样速度是最快的。3.2多尝试,多做多思考,多靠自己,搞这个开发的人也就是是半个码农了,普通码农和高级码农的区别就是普通码农遇到问题就以为高级码农肯定知道,高级码农实际上也不知道,但是他会一次又一次的尝试,思索,从各种途径去找答案。3.3多交流,多请教。CAA开发群里面有很多高手,但是你在提问的时候一定要研究深入一点,不要遇到问题了自己不懂就不研究了,就去问大牛,3.4多看一些成熟的软件应用,项目组有CAA开发的软件,可以看看他们的功能,就可以知道CAA可以开发那些功能。比如3DCS、Type3、VritualLab等软件3.5空闲的时候翻看百科和CAADoc中的技术文档和案例,有事没事就调试运行一下案例,你总会有发现的,以前你以为没有的功能,其实都是有的,一句话:这个世界不缺少美,只是缺少发现美的眼睛。这年头就连Ansys都有有限元基本理论介绍了,你就知道一个软件的附加文档和案例有多牛逼了吧3.6CAA只是一个工具,重要的是使用这个工具解决问题,只要能把问题解决了,用啥都行,可以把眼界放宽点。毕竟毕业了谁知道你会从事哪个呢,3.7在开发的业余时间看看软件开发的基础知识,数据结构,UML,内存管理,Windows编程等等。会有好处的。3.8CAA开发一般都是依托一个方面理论的应用,就像3DCS是依托公差分析中的蒙特卡洛方法一样,如果你要开发某个应用,不妨花点时间看一下理论。3.9其实在写这个博文的时候我也很惭愧,我自己做项目写代码也很懒散,做事不是很认真,也很懒惰,内心很浮躁,只是希望大家少走弯路,3.10我知道大牛肯定不会写这样的文章,我就抛一块砖,希望看到的人能贡献出自己的一些开发经验和知识供大家参考。本文仅以交流的态度,如果有错误的话,还请大家指正,谢谢。谨以此文共勉!