软件的二次开发是在现有的软件上通过编程语言进行功能的扩展,满足自己的需求,不会改变原有软件的内核,实质上是软件创新的过程。CATIA二次开发的方式主要有3种:基于知识工程的EKL语言、Automation API和CAA,其具体介绍如下:
(1)基于知识工程的EKL语言
EKL全称Enterprise Knowledge Language(企业知识语言),是在V6/3DExperience环境下基于知识工程的一种编程语言,属于进程内的访问,与CATIA软件可同时执行,它的目的是在更寻常的条件下开发和集成应用程序。EKL具有可移植、面向对象、不需要编译、自动化、能直接操作V6对象等特点,可以用作在数据库中搜索对象、浏览不同结构、创建产品和PLM对象、导出数据至Excel或Xml中、设置或读取产品属性。
EKL从低到高被定义为数学企业语言、核心企业语言、高级企业语言和可扩展企业语言4个等级,前三者一般应用在参数、公式、设计表、规则、检查等知识工程工具中,可扩展企业语言用于用户更高级定制开发中。EKL语言面向对象编程,语法简单。语言浏览器类似于帮助文档,通过搜索需要操作的对象,可以查找其对象的支持/继承类型、属性、使用此类型的函数、返回此类型的函数和函数的具体使用方法。
(2)AutomationAPI(Automation Application Programming Interface)
AutomationAPI全称AutomationApplicationProgrammingInterface(自动化应用接口)。CATIA基于AutomationAPI进行二次开发的技术是一种基于COM原理,在脚本解释环境下执行的技术,继承了COM技术优点,简化了底层实现细节,为二次开发提供了很大的便利。COM(ComponentObjectModel)是由微软推出的一套接口规范,通过设定不同组件之间的标准和协议,实现多语言、跨进程的模块通信,增强了代码的复用率,实现程序的可定制性。这种技术的核心就是通过一个组件去调用另外一个组件,因而不能直接的去获取和处理数据。
在CATIAAutomation中,所有数据被封装成了对象的形式,并具有方法和属性,形成了特定的树形结构,Application是根对象,下面又派生出许多子对象。Automation API是CATIA预先编写的函数接口,专门用来与外部通信。不同的对象拥有不同的API,通过API调用对象的方法和属性,则间接的对CATIA软件进行操作。
(3)CAA(Component Application Architecture)
CAA全称Component Application Architecture(组件应用架构)是一种采用COM原理和OLE技术,通过面向对象语言来实现CATIA二次开发的方式。CATIA软件按照组件模型原理建立,因而用户可以开发出定制化组件,对软件进行扩展;也可以将自己开发的组件结合起来,实现自定义的应用。
CAA采用C++语言编写,有完整的一套基于CATIA底层的C++函数库,用户在RADE环境下通过API接口与CATIA进行通信。RADE(Rapid Application Development Environment)是达索公司提供的快速应用研发环境,是一个可视化并拥有完整编程工具组的集成开发环境。RADE以Microsoft VisualStudio为载体,开发工具集成在VC++环境中,包含TCK(关键工具配置)、MAB(多空间应用生成器)、CUT(C++单元调试管理器)、MKMK(CAA编译工具)和CID(C++交互式面板)等一系列工具。API则提供了操作对象模型的方法和函数。
——节选自《基于 BIM 技术的桥梁工程参数化建模方法及设计系统的研究》张云鹤
版权归原作者所有 侵删
- BIM学习群
- 微信扫一扫
- 微信公众号
- 微信扫一扫