我的第一份工作(三)
2008年5月,汶川地震成了全球瞩目的焦点,截至2008年,这次地震是唐山地震后最严重的一次。以后的日子,国家定义5.12为全国的防灾减灾日。
任何大型三维软件,其主要运行的核心是3D引擎。引擎也是许多人特别不乐意做的东西。引擎涉及到软件的核心架构,要考虑很多上层设计。数据库、功能、接口等等。你无法用浅显的理论依据去处理类似的架构思路,很多程序大人都是拥有许多年的具体编程经验后才会依照自己的能力制作自己期望的引擎架构。引擎架构不是一朝一夕能够编辑清楚的,需要许多时间去打磨。在多数以产品为主而不是以研发为主的公司是很少去制作引擎的,究其原因是其成本无法控制。
2008年,CATIA在来福士研发的产品功能尚属于首次。我当时尝试了结构模块(SFD)、详细结构模块(SDD)的全部有趣的新功能。这两个模块是专门为造船业而做的模块。当时H196项目是针对新模块、新功能的最突出的一次测试。这次建模成了有史以来最奇怪的建模经历,因为要跟上项目进度还要测试软件功能。当时领导的大主管还下达了一项更为苛刻的任务目的,用三维模块结构数据导出二维图纸。
最近看闲书,发现矩阵的坐标似乎有些理论上的应用价值。不过程序应用与理论研究没太多牵扯。二维(Drafting)图纸是取三维坐标内的线条进行数据转换形成平面,其应用在初步设计中是非常可取的。
多年做图纸的人应该明白,初步(primary)设计图纸与详细(detail)设计图纸是不能相提并论的。初步设计是原始性设计,比如有了技术规格,有了总设计草图,那么初步设计就已经开始了。如果让初步设计体现在三维中,只需要做到某些重要节点就可以了。如果做得太多就成了详细设计,而非初步设计。
记得那一年我们投入了大量的时间去研究三维转二维图纸的每一个命令,工程绘图中的命令我们几乎研究了一遍。这个过程中主管竟然要求我们出施工图。我当时那眼泪不是流在脸上,那是流在心里啊!初步设计和施工设计中间的差距根本不是一个阶段的流程和效果,两种不同的图纸。施工图分类后还需要备份几种图纸,这几种图纸在CATIA这种开放式(未过滤)投影效果下是非常难编辑的。我当时特别纳闷是谁给下了这么一条优秀的命令,我心里当时忒憋屈。
基于我是一个还在见习时期的人我只能认命。当然,我费尽心思做了N种配合施工图的标注。这个过程挺艰苦,我每天在结构图纸中寻觅解决办法,但是依旧不得法。这其中还有许多新加入的问题,我是边工作边适应的。
我当时挺佩服公司老板章先生的,为了研发竟然开始更换新电脑了。我们当时的工作站是4G内存,四核心或者八核心的惠普电脑。公司为我们更换的电脑是芯片频率更高的电脑。我操作着内存8G的电脑感觉我以前用的电脑都是地摊儿货。当时我们旁边是做动态模拟的小组,他们电脑没有我们先进,所以他们一直唏嘘我们电脑多好多好,为啥给我们配置这么优秀的电脑之类的。当时我们这边的同事心里那感觉幸福极啦~
更换电脑还有一个更主要的目标,要做共享部署。最开始我们做建模只是把数据,也就是文件上传到公共服务器。后来,软件环境小组利用cmd开始做服务器间的存储转换。记得那时CATIA软件环境小组的主管因为CMD的问题长了不少白头发,在服务器间编辑.bat文件是挺烦人的,不能篡路径啊。在我的印象里,如果用linux做类似的东西会更好一些,因为linux本身就是用黑框窗口操作的系统,自然天成很重要啊!
写到这我似乎表述了这么复杂冗长的,针对一种软件而做的诸多的尝试。换成今天,或者说换成纯软件公司,比如我熟悉的netease,他们的做法应该是分开做,先做server,再做client。思维方式不同,换成现在老师的话儿是思维导图不雷同。
写到这儿吧,后面再继续。
二零二零年一月十日于锦州