CATIA提供的功能模块多达100多个,能完成传统工业领域的大部分用户的日常设计工作,但由于行业的差异以及用户需求的多样性,CATIA软件不可能满足所有用户尤其是土木行业的个性化需求,为了在CATIA软件上实现这些需求,就需要对其进行二次开发。CATIA提供了四种定制方式,分别为:Interactive User Defined Feature、KnowledgeWare、Automation API、CAA API。下面分别进行介绍。
1.Interactive User Defined Feature(交互式自定义特征)
通过使用CATIA自带的工具进行UDF(User Defined Feature)或Power Copy的定义。交互式自定义特征是一种基于可视化工具进行交互式定义的定制方式,该方法通过聚合现存的特征来交互地定义新的特征类型,从而扩展CATIA现有的业务特征,满足各行业、各单位特殊的业务需求。
用户通过收集现存规范及指定输入、输出,从而创建一个交互式自定义特征,生成UDF或Power Copy。其中UDF不记录和显示创建过程,只显示设计参数和最终结果;Power Copy可完整记录整个创建过程。
2.KnowledgeWare(智能构件)
智能构件是一种基于知识工程和业务规则的客户化定制方式。通过CATIA的知识工程模块将规范的设计信息、最优的设计方法和流程等隐含的知识转化为显式的知识。将“知识”以参数(Parameters)、公式(Formulas)、规则(Rules)、检查(Checks)、报告(Reports)、设计表(Design Tables)、应变(Reactions)、创成式脚本(Generative Scripts)等多种形式表示出来,这些知识可以重用以对产品设计过程进行检查和优化。
智能构件是一种高效的规范重用,像应用公式一样简单,能创建团队的知识库准则集,并与V6紧密集成以提升处理能力。它能通过定义相关的、稳定不变的规范来实现交互式的知识捕捉。智能构件是一套预定义的易用服务,它驱动的管理和重用是从函数、规范到组件和系统来一步一步实现的。它用于三个方面:知识顾问、知识专家和产品工程优化。知识顾问是用于参与设计定义的嵌入知识,包含规则集、检查、审查和预定义行为(Behavior)。知识专家则是基于规则的过程,可以实现规则集、检查和报告。产品工程优化是面向设计目标的,它包含优化目标、准则和求解方案。
在CATIA软件中,智能构件允许定制和集成外部代码,并提供了嵌入各模块的知识工程语言包(Knowledge Language Packages)。该语言包的核心是知识工程语言(EKL),并分为四个应用等级,由低到高分别是数学工程语言(M-EKL)、核心工程语言(C-EKL)、高级工程语言(A-EKL)和扩展工程语言(X-EKL)。前三类语言一般应用在公式、设计表、规则、检查、行为等知识工程工具中,而X-EKL则一般是在用户二次开发知识工程语言中应用。
3.Automation API(自动化接口)(www.daowen.com)
通过自动化接口进行开发。Automation API是CATIA提供的一整套自动化接口,该定制方式允许用户获取CATIA的数据模型。基于OLE(Object Linking and Embedded)特征,Automation API具备了和任何与OLE兼容的平台进行通信的能力,如用户将基于该接口开发的脚本嵌入Excel、Word等软件中运行。
CATIA还提供了一种交互式定义方式——宏,通过录制宏可以记录用户操作的整个过程,自动生成代码。在此基础上,用户可通过简单的修改后生成特殊的应用。除此之外,用户可选择VBScript、JavaScrip、HTML、C#等任意一种语言进行二次开发。
4.CAA API
通过CAA接口进行开发。组件应用架构(Component Application Architecture,简称CAA),是达索公司产品扩展和用户进行二次开发的强有力的应用框架,包含一整套C++函数库和JAVA函数库。其中,C++函数库主要用于3DE客户端(以CATIA为主)的开发,JAVA函数库主要应用于3DE浏览器端的开发。
CAA是一个终端到终端的三维基础结构解决方案,它的内容覆盖了从软件最初的功能说明到完成最终产品的整个开发过程。它还引入了快速应用开发环境(Rapid Application Development Environment,简称RADE)。RADE是一个可视化的集成开发环境,它提供完整的编程工具集。这个强大的开发平台使开发者能够有效地应用工业标准工具和方法,这些方法指导开发者编辑和扩展CATIA和ENOVIA的图形用户界面、应用程序和数据模型。实际上,RADE以Microsoft Visual Studio为载体,在VC++环境中扩展了CAA的开发工具。用户通过安装RADE模块,可以在VC++编程环境下编制程序,与CATIA进行通信,从而对CATIA进行二次开发。
除第一种方式外,后面三种都是需要采用一定的编程手段来实现的。
四种CATIA二次开发方式中,前两种开发方式是使用CATIA自身提供的工具对CATIA的定制,将用户进行产品设计过程中的经验和规范封装起来,固化到软件或文档中,以重复利用这些知识。第三种开发方式最为灵活,可选用任一熟悉的语言进行编程,可以采用各种第三方的构件定制运行界面,也可把脚本嵌入任何OLE容器中运行,但其功能较弱。第四种开发方式的二次开发功能最为强大,但对开发者要求最高,开发者需熟悉CATIA的基本使用、熟悉面向对象的程序开发语言,并对组件技术要有基本了解。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。