OpenCAX+ SDK (1)

OpenCAX+ SDK

Open 意味着开源,CAX 意味着包含了 CAD(Design)、CAE(Engineering)、CAM(Manufacturing)、CAI(Inspection)、CAM(Measurement),加号意味着我们引入了 AI,SDK(Software Development Kit)是指软件开发工具包。

以下仅代表我对这个项目的理解。


为何加入这个项目

在 MuPRO 之后,我个人的职业规划是想去做一些有限元相关的软件开发,恰好张炼跟我介绍了他们要开发有限元 CAE 相关的软件,很符合我的职业规划,所以我就主动要求加入 OpenCAEPlus 项目。

我是在 2022 年 10 月加入 OpenCAEPlus 项目的,从最开始筹划的时候我们四个人各自有相似但不同的想法,而且也没有明确是要开发一款 SDK 工具,到最终统一目标到开发一款开源 SDK 工具并名字定为 OpenCAXPlus SDK,我应该算是从头参与了至今为止所有的讨论。

为何要开源

任何一个领域发展壮大,一定伴随着大家的需求变得越来越精细,没有公司能够再用同一个软件满足大部分人的需求,开发工具的灵活性、可拓展性变成了开发者最关心的方面。相应的,大公司之间的竞争也从谁能提供大而全的通用型软件,变成谁能主导行业内最流行的开源工具开发,尤其是开源框架、开源 SDK 的开发。从商业模式来看,开源软件虽然可能并不被资本看好,但是一个领域内开源软件的流行,尤其是开源工具的流行绝对会给这个领域带来革命性的改变,因为从闭源到开源的这一次转变,带来的不是存量中分配的变化,而是把蛋糕做大了,甚至是直接淘汰了原本的蛋糕,重新分配一个更大的蛋糕。

相同的发展趋势在互联网、人工智能的演化中都有体现。我认为工业软件正处在这样一个闭源到开源转变的前夕,因为前期已经积累了不少开源工具,而且工业软件这个领域本身的就有定制化需求高,用户即是开发者的特点,所以更需要有一款好用、灵活、可拓展的开源工具来支持工业软件开发。

为何要开发 SDK

我们的目标是要让用户自己能够根据自己的需求快速的开发出自己的 CAX 应用,可以说 SDK 是一个非常自然的选择。

SDK 包含什么

SDK 其实是一个比较宽泛的概念,具体包含是我们需要决定的。在我们筹划小组的讨论基础上,我设计了当前的 SDK 内容和 Git 文件夹结构,大致包含四个部分:

  • framework,也就是 CAX 软件的框架,其中包含了
    • CAX 软件中需要用到的各种函数、数据接口,这是为了能够统一已有的各种开源软件所必须的
    • CAX 软件的运行周期,定义了统一的 CAX 软件的启动流程,这部分由框架来控制可以方便未来前后端分离,云计算
  • toolkit,我们收集的和我们自己开发的各个 CAX 软件库
  • starter,程序脚手架,项目模板
  • cli,命令行工具,用来控制整个 SDK 的使用,例如创建新项目,安装新软件库,程序的编译、打包等