CATIA V6 二次开发—概述

简介: CATIA V6 二次开发—概述

一、前言


前段时间给自己立了个🏳️‍🌈:保持一周至少一篇公众号推文。为了实现这个大小目标,这段时间也就开始筹划文章的大致内容了,一方面要结合自己的能力;另一方面也要保证文章输出的连贯性,所以就打算出BIM开发相关的专栏。在校期间做过一年左右的Revit二次开发,但由于从业人数的增多(光梁老师的QQ群就已经挤爆了两个了,4k),这方面的学习资料已经很体系化了(叶老师的博客、梁老师的公众号、黑夜的骑士、我的B站),配套的视频教程也层出不穷,大家完全能够通过自学从入门到精通;而我近期一直从事CATIA开发的工作,针对CATIA开发的学习资料又比较少,能找到的参考代码几乎都是基于V5版本的,且使用的是VB Script语言,通常需要二次加工转译成C#才能使用,学习成本很高,所以打算把CATIA二次开发列为推文一个专题,此外还在考虑增加IFC标准研究和文献阅读作为备选专题,感兴趣的可以及时关注。当然,所有内容都不会涉及我具体的工作。


今天这期算是开篇,所以先热个身,说点概念性的东西,对于任何一款软件的二次开发,首先都必须理解软件的操作逻辑并基本熟悉软件的操作,这是与其它开发的不同之处,所以了解软件的迭代更新以及功能设计是必不可少的。


二、软件发展史


CAITA 是法国达索公司旗下的计算机辅助设计(CAD)软件,以三维交互式设计而出名。第一个3D设计版本诞生于1986年,早于2000年Revit ,当时主要面向制造业,尤其是飞机制造,不过现在已经将其爪牙伸向了各行各业,包括航空、汽车、机械设计、材料、生命科学、建筑与城市开发以及基础设施等行业。对于土木工程师来说,我们可能对达索旗下的分析软件ABAQUS更熟悉一些。


9ddad2d5a4a22303d82e2748e615fb9a.png


简单介绍一下CATIA软件的产品理念吧(达索打钱😂)。截止目前CATIA软件的产品线升级主要分为这四个阶段:(1)3D设计,区别于AUTOCAD的二维线条,提供更加立体、真实的设计方式,设计人员可以有效的还原出脑中的设计意图;(2)数字样机,也就是产品的数字仿真,用来测试车子各个零件之间的组装过程以及功能,这个提升对制造业很关键;(3)产品生产周期管理PLM,建筑业的全生命周期管理就是从这个衍生过来的,实质上就是将业务流程(从产品的设计、制造、服务和摧毁)与模型相关联,提升管理效率;(4)云平台,CATIA融入了3D体验平台,这个平台包含所有PLM软件,所有数据以库或数据库的形式保存在服务器中,从而实现基于服务器的协同管理,可以看到下图蔚来和特斯拉在这个时候也加入了进来。


c5429bf9997bfdc3a162f1cdd85a3a6f.png

三、软件版本差异


目前,达索公司仍在维护和更新的CATIA版本有CATIA V5, CATIA V6 和 CATIA 3DEXPERIENCE,每个版本都对软件界面进行了不同程度的优化,且都有非常重要的功能升级。CATIA V5 是现在使用最为广泛的软件版本,是进行参数化或者无参建模的主要工具。与V4相比,提升了软件的易用性,旗下不同软件之间的数据兼容性,而且可以在设计的过程中进行一些基本的有限元FEA分析。


b4679467b6696a637aaf9ef181a91d67.png


54fe2f66e3899c5591e36c9ccbc96274.png

V6 版本其实在建模方面没有太大的升级,除了更改了界面设计之外,最主要的更新就是采用了基于ENOVIA的产品数据管理PDM和产品生产周期管理PLM的模式,强调模型的权限,对模型的评估,并且允许将其存储在中央服务器中,从而使得参与者都能很方便地获取到最新的模型。


20ea731bd7a12422f32a6a763f453720.png

CATIA 3DEXPERIENCE 是 V6的迭代版本,沿用了V6的数据管理模式,并且集成了达索旗下其他品牌,例如SIMULIA, DELMIA, ENOVIA等,目的是打造一个全生态的软件解决方案/平台。不同软件以工作台(Workbenche)的形式在3DE平台中存在,每个公司可以根据不同的需求来订阅这些工作台,从而实现特定的功能。同时,3DE平台引入了云计算,可以在不安装任何软件的条件下,在网页端对模型进行操作,可以说是一种全新的软件体验了。


597da22745de3edafca60500db00a601.png

四、总结


达索进军基础设施行业也就这两年的时间,听过几次汇报,一直在提数字地球和数字宇宙的概念,想法很超前,步子迈得很大,苦了程序员。目前针对土木工程的模块不多,但由于其曲线处理和参数化的能力确实强大,不管怎样还是能建出很精细的模型的。缺点是接口不够开放,有欧美垄断资本主义的风格,题外话:我们买了达索的产品,想要进他们的社区下载补丁,查看更新什么的,还要再另外交钱,看来确实缺钱,听说利润的==30%==都投入到研发当中去了。不过,即使部分API受限,也总会有办法的,只不过会曲折一点、慢一点而已。


我个人新建一个CATIA 二次开发的交流学习群,有兴趣的可以加一下,大家一起交流共同进步,我会把自己收集到的一些学习资料(具体如下)放在里面,供大家免费下载。


五、资料附录

5.1 API

V6开发帮助文档.chm

3DExperience CATIA 2020 API

5.2 书籍资料

CATIA VBA二次开发入门与提高

CATIA二次开发技术基础

CATIA知识工程及专家系统

5.3 论坛

此网站收费,但对学生免费,所以请用学校邮箱申请

[国外CATIA论坛]http://www.coe.org/discussions


5.4 文章收集


基于参数驱动的常泰长江大桥钢桁正向设计—张皓清

基于达索平台CAA架构的铁路桥梁BIM正向设计程序开发—齐成龙

基于达索CAA架构的桥梁缺口BIM设计程序开发—齐成龙

基于达索平台CAA架构的桥墩BIM切割工具开发—齐成龙


5.5 博主


KuChienSky

docker

六、参考资料


What is CATIA

CATIA V5, V6, 3DEXPERIENCE… is it all still CATIA?

达索产品史-证券研究报告

相关文章
|
8月前
|
开发框架 开发者 JavaScript
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 三)
子组件中被@Link装饰的变量与其父组件中对应的数据源建立双向数据绑定。
|
8月前
|
开发框架
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 四)
被@Observed装饰的类,可以被观察到属性的变化;子组件中@ObjectLink装饰器装饰的状态变量用于接收@Observed装饰的类的实例,和父组件中对应的状态变量建立双向数据绑定。这个实例可以是数组中的被@Observed装饰的项,或者是class object中是属性,这个属性同样也需要被@Observed装饰。单独使用@Observed是没有任何作用的,需要搭配@ObjectLink或者@Prop使用。
|
8月前
|
存储 开发框架 JavaScript
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 五)
LocalStorage是ArkTS为构建页面级别状态变量提供存储的内存内“数据库”。应用程序可以创建多个LocalStorage实例,LocalStorage实例可以在页面内共享,也可以通过GetShared接口,获取在UIAbility里创建的GetShared,实现跨页面、UIAbility内共享。组件树的根节点,即被@Entry装饰的@Component,可以被分配一个LocalStorage实例,此组件的所有子组件实例将自动获得对该LocalStorage实例的访问权限;
|
8月前
|
开发框架
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 二)
@Prop装饰器:父子单向同步 @Prop装饰的变量可以和父组件建立单向的同步关系。@Prop装饰的变量是可变的,但是变化不会同步回其父组件。
|
8月前
|
开发框架 API 数据库
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 一)
在前文的描述中,我们构建的页面多为静态界面。如果希望构建一个动态的、有交互的界面,就需要引入“状态”的概念。
|
API C# C++
CATIA二次开发—漫谈开发环境
CATIA二次开发—漫谈开发环境
CATIA二次开发—漫谈开发环境
|
自然语言处理 API
CATIA二次开发—参数那点事
CATIA二次开发—参数那点事
CATIA二次开发—参数那点事
Revit二次开发—获取并修改指定标高
Revit二次开发—获取并修改指定标高
|
自然语言处理 JavaScript 前端开发
《鸿蒙理论知识 04》HarmonyOS 概述之系统定义
HarmonyOS 是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS 提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备
252 0
|
传感器 存储 数据管理
《鸿蒙理论知识 01》HarmonyOS 概述之技术特性
多种设备之间能够实现硬件互助、资源共享,依赖的关键技术包括分布式软总线、分布式设备虚拟化、分布式数据管理、分布式任务调度等。
200 0