最近看了一篇文章介绍工业软件CAD、CAE、CAM,这里记录分享一下。
自从上世纪八十年代工业软件出现后,设计师们终于不用通过手绘来完成图纸的设计了,转而在电脑上完成,设计效率极大提高。
那么工业软件究竟是什么东西?
大部分读者可能是做应用软件开发的,不太了解工业软件这个行业,
其实工业类软件按照功能可分为三大类:
- CAD(计算机辅助设计)、
- CAE(计算机辅助工程)、
- CAM(计算机辅助制造),
这三款软件是如今工业行业必不可少的软件,航空、船舶、汽车等产品的研发少不了它。而目前企业常用的这三大类软件,基本上都被美、法、德三国所垄断,尤其是在CAE领域,美国更是霸主般的存在。
1)CAD(计算机辅助设计)软件
人类史上第一款CAD软件的的雏形可追溯到上世纪五十年代,那个时代正是美苏争霸期间,美国军方为了拦截苏联的远程轰炸机,由国防部牵头联合IBM与麻省理工学院联合开发了SAGE系统,SAGE系统完全用汇编语言来完成,它其中一个功能就是能够在计算机上绘图,当时耗资100多亿美元(注意这是上世纪50年代的100亿美元,放现在估计也得一千亿美元以上了)。但那个时候的CAD软件仅仅供美国军方使用,后来才逐步走向商业化。
简而言之,CAD软件就是让设计师能够在电脑上画图的软件,可以说,CAD软件的出现彻底解放了设计师们手中的作图工具,以往通过手工绘制的图纸可以放在电脑上来完成,极大减轻了设计人员的工作量,同时也大大加快了产品的研发效率。
CAD软件出现后,以前只能手工来绘制的图纸,可以放到电脑上来完成,大大提高了工作效率,这是美国AutoDesk公司旗下的一款二维CAD软件产品——AutoCAD
2)CAE(计算机辅助工程)软件
要问世界上哪家公司的代码数量最多,你可能回答是微软、IBM或者Google,但事实上这些都不是,单论代码数量,世界上最大的软件公司是美国的军火商巨头——洛克希德·马丁,没错,就是那家美国的军火公司,美国的F22战斗机、F35战斗机等都出自这家公司。说道这里你可能觉得疑惑,军火厂商居然也做软件?是的,而且他们做的软件大部分仅供自己使用,不对外销售,其中就包括CAE软件。
CAE软件是工业软件里面开发难度最大的一类软件(后面会告诉你为什么),但也是最重要的一款软件。CAE自诞生之日起,与CAD软件一样,主要服务于军方,后来才逐步走向商业化,民用企业才得以使用。那么CAE究竟是干什么呢?
CAE全程叫Computer Aided Engineering (计算机辅助工程),就是把设计出来的产品,通过软件的方法进行仿真分析,来验证设计出来的产品是否达到规定的要求(它的原理后面会解释)。你闭上眼睛想一下,设计师们把产品在电脑上设计出来后,只要导入这款软件,就能知道产品设计哪里有不合理的地方,然后再更改设计图纸,这是不是就像魔法一样?这节约了多少后期试验的成本。而且,在有些领域,你必须使用CAE软件进行仿真分析,例如航空航天领域,这都是关乎每一位乘客人身安全的领域,必须经过软件的验证。
CAE软件的出现,极大程度地提高了产品的研发周期,以前必须通过实验来验证的产品,现在可以放到电脑上来完成
目前全球商用CAE软件行业市场份额最大的是美国的ANSYS,ANSYS自诞生之日起就一直专注于有限元仿真技术,到目前,已经形成了包括结构、流体、电磁、航空、船舶、汽车等完整的仿真产品线。那它用在什么地方呢,我还以汽车为例,你以为车辆工程师把3D总装图完成后就可以直接生成零件图进行加工了吗,不,这还远远不够,后面还有重要两环,其中最重要的就是对你设计出来的产品进行可行性分析。
3)CAM(计算机辅助制造)软件
在前面汽车完成设计之后,也经过各方面安全性测试后,剩下的就要加工生产了。那么汽车的零部件是如何生产出来的呢,这就需要工业母机——机床来完成了。
像加工这种包含包含复杂曲面的零部件,CNC程序必须由CAM软件来完成,而且,加工前必须进行模拟仿真
在数控机床(CNC)没有诞生之前,汽车的每一个零部件都要工人师傅们在普通机床上手工完成。但是随着汽车零部件的逐步精密化,有些零部件在普通机床上根本根本加工不出来。除了汽车行业,在航天航空、精密电子等领域更是如此,这个时候数控机床就诞生了。
在数控机床加工零部件前有一个重要的工序,就是需要在计算机上实现模拟加工仿真,待准确无误后,才能上机生产,那么为什么要仿真呢,直接加工不行吗?答案是不行,要知道,一套完成的CNC加工程序需要工程师们手动干涉完成编写,CAM软件只能生成部分代码,而只要是程序就会有Bug,CAM软件模拟仿真会根据你的程序准确计算出整个零件的加工过程,生成机床走刀路线,不仅可以检查加工过程中是否有撞刀的危险,而且还可以检查程序是否有过切或者欠切的现象。
待CAM软件仿真完成确认无误后,方可上机加工,加工的CNC走刀程序由CAM软件生成
这是用Mastercam软件来进行加工仿真的过程,可以看到完整的走刀路线与加工过程,避免加工过程中出现撞刀等危险。
这是苹果Mac pro 的金属外壳的其中一道加工工序,在CNC数控机床上完成,自动加工程序也要有CAM软件来完成,苹果为了保证他们产品的手感,所有的外壳均使用完整的一块金属来通过去除材料来切削加工,成本极高。相反,其他大部分厂商会使用模具冲压或者金属拉丝工艺来完成,虽然成本低,但手感就没那么好了。
自iPhone11后,苹果重新回归后玻璃面板的经典设计,顺便给大家提一下,苹果后玻璃板是用一整块厚度为8mm的玻璃在CNC上铣削为3mm完成的,而且还要在上面钻孔,这样的事情全球也只有苹果敢这样做了,更为变态的是,为了专门加工这块玻璃,苹果还专门给富士康买了一千多台CNC数控机床!这样的成本,别说机床了,就单说加工玻璃造成刀具的损耗成本就是其他手机厂商不敢想的,
当然,加工过程中少不了CAM软件。
二、工业软件难道我们自己不能开发吗?
答案:可以是可以,但是这不是十年二十年能完成的
1. 开发工业软件它真的是很难,因为它是一门交叉学科。
如果仅仅是开发一款类似于微信或者抖音这种APP,或者是开发一款类似于金蝶这种财务管理的企业级软件,它顶多也就是网络编程与数据库交互的应用,不需要程序员掌握其他知识,但工业级软件可不是这样,不光需要掌握最基本的编程能力,更重要的是对多学科的交叉融合。
说到工业软件的开发,你可能会觉得这是计算机专业的事情,但事实上它还真不是计算机专业的事,工业软件是以数学为基础,贯穿了物理、化学、力学、材料科学等诸多领域的交叉学科。
先拿CAD这类软件来说,因为软件是给专业画工程图的工程师们使用的,所以,要求开发工业软件的程序员们必须懂得工程图学的知识,例如基本的投影知识,要把这些知识融合到代码里面,通过计算机显示在屏幕上,更是需要计算机图形学方面的知识;再拿CAE软件来说,你要软件能够计算出设计零件的疲劳极限与寿命,这就需要到材料力学方面的知识,如果你对设计的飞机进行气流分析(飞机设计时必不可少的环节),这就又涉及到流体力学方面的知识,软件当然也要计算出流体力学的各种参数,这就需要求解大量的偏微分方程,又涉及到数学方面的知识。。。
总之,工业软件本质就是将力学、数学等各种学科的公式,通过算法的形式写进代码里面,如果目前学术界没有特定的公式,那么就需要开发人员自己去推导公式。有时候想想,开发工业工业软件的人,真特么必须是天才。
这是开发一款工业软件所涉及到的学科,难度远远在一款应用级软件之上。
参考:
https://www.guancha.cn/liuyaxi/2021_12_01_616825_s.shtml
暂无评论内容