自从上世纪八十年代工业软件问世后,设计师们终于不用通过手绘来完成图纸的设计了,转而在电脑上完成,设计效率极大提高。
那么工业软件究竟是什么东西?
其实工业类软件按照功能可分为三大类:
CAD:计算机辅助设计 (Computer AidedDesign),运用计算机软件制作并模拟实物设计,展现新开发商品的外型,结构,色彩,质感等特色。随着技术的不断发展计算机辅助设计应该不仅仅适用于工业,还被广泛运用于平面印刷出版等诸多领域。
CAE:计算机辅助工程(Computer Aided Engineering),是用计算机辅助求解复尔工程和产品结构强度、刚度、屈曲稳定性、动力响应、热传是、三维我体接触。赠塑性簽力宝性能的分析让算以及结构性能的优化设让等问题的一和近似数值分析方法。其基木思想是将一个儿状复杂的连续休的求解区城分解为有限的彤状简单的子区城。即将一个连续体简化为由有限个单元组合的等效组合体:通过将连续体离散化,把求解连续体的场安量(应力、位移、正力和温度等)问题简化为求解有限的单元节点上的场变量值。
CAM:计算机辅助制造(Computer-aided manufacturing),是工程师大量使用产品生命周期管理计算机软件的产品元件制造过程。计算机辅助设计中生成的元件三维模型用于生成驱动数字控制机床的计算机数控代码。
这三类软件是如今工业行业中必不可少的软件,航空、船舶、汽车等产品的研发必然少不了他们,而目前企业常用的这三大类软件,基本上都被美、法、德三国所垄断,尤其是在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软件来说,你要软件能够计算出设计零件的疲劳极限与寿命,这就需要到材料力学方面的知识,如果你对设计的飞机进行气流分析(飞机设计时必不可少的环节),这就又涉及到流体力学方面的知识,软件当然也要计算出流体力学的各种参数,这就需要求解大量的偏微分方程,又涉及到数学方面的知识。。。
总之,工业软件本质就是将力学、数学等各种学科的公式,通过算法的形式写进代码里面,如果目前学术界没有特定的公式,那么就需要开发人员自己去推导公式。有时候想想,开发工业工业软件的人,真特么必须是天才。