第2章 Rhino软件及其指令系统的逻辑架构
2.1 什么是模型,计算机建模的目的
Rhino是一个建立设计模型的系统,这个设计模型是关于点、线、面、体的数学模型,它的意义体现在以下几个方面。
2.1.1 数据模型和实物模型
在制造行业,其最终产品是由各种材料组合而成的实物。在现代制造业批量生产的背景下,要想成批地制造相同尺寸和构造的零部件,就需要精确地传递产品的尺寸、结构信息的方法,以便按照这些信息制造产品。同时,制造工业面临的另一个问题是如何把设计作品准确地变成产品,其中的关键在于如何将设计信息准确地传递到最终的产品上。这些问题都涉及信息传递的过程。在计算机辅助设计投入应用之前,制造业主要是通过实物模型来传递信息。常庚哲在他的《曲面的数学》中记述了实物模型传递信息的过程,以飞机制造业为例,有“模线—样板—标准件”的工艺流程,为了把机身曲线曲面的信息有效传递,需要在大车间里绘制与机身尺寸为1:1的模线,模线就包含了机身的曲线信息,为了保证模线绘制的准确性和高精度,需要大批有经验的、熟练的工程师、技师、工人有效合作,用数个月的时间绘制好模线,然后再根据模线制作样板,再根据样板制作标准样件,然后再制作出各种形式的膜胎和型胎,这些膜胎和型胎就是制造各种零部件的工具,然后以它们为基准来制造零部件。我们可以看到,这个过程长而复杂,是用一系列的实物来实现从设计到成品的信息传递,这个过程中最大的问题就是如何保证信息传递的准确和精确,因为在整个流程中间的任何一个环节都有可能产生误差,并且这种误差会随着流程的增加而累积并放大。无论是机床加工还是手工加工,实物的生产无法避免误差,用实物一环接一环地来传递信息,流程越长,误差的累积和扩大就越严重,因此整个工艺流程就需要有严格的工艺规程来规范,必须严格执行才能保证质量,即便如此,最终的产品的生产仍然有很多问题,产品越复杂,出现问题的几率越大。除此之外,实物模型还受热胀冷缩、磨损、锈蚀等环境因素的影响,进一步影响了它信息传递的准确性。
因此,在制造业,尤其是船舶、飞机、汽车等有着复杂外形和自由曲面的行业,一直都在摸索能够精确传递设计信息的方法,出于工程的迫切需求,用数学来描述模型的方法首先从这些行业中产生,并随着计算机的发展而逐渐成熟并应用于生产。我们在第1章简述了NURBS数学方法的发展历程,其实它只是用数学方法描述曲面的一种,是目前应用最广泛的一种,使人们能够用数学方程和数据来描述并传递设计信息,大幅度提高了设计信息传递的效率和准确性。数据模型传递效率高,不受空间、时间的限制,精确而没有传递误差,能够重复无数次使用,不受自然气候影响等优点,是实物模型无法比拟的。因此,曲面描述的数学方法的进步,数据模型的使用,大幅度地改善了设计业和制造业的面貌,目前的产品设计(CAD)、分析(CAE)、工艺规程(CAPP)、制造(CAM)等工作都可以围绕数据模型来完成,成千上万的设计师、工程师、技师、销售人员、广告人员都可以在网络平台上分享数据模型,完成他们各自的工作。数据模型为产品的设计、生产、销售等提供了无数的创新可能性。
建立设计数据模型有两种方法:正向法和逆向法。正向的设计是设计师使用计算机辅助设计系统提供的工具设计出满意的方案,然后存储数据。逆向的设计建模是设计师扫描实物获得离散的点云等数据信息,然后使用计算机辅助设计系统建立曲面模型,这些曲面模型要尽量地逼近这些点云数据同时还要保持曲面的光顺,最后得到能准确符合实物特征的数据模型。
计算机辅助设计系统的发展经历了几个阶段:最早的CAD是用计算机绘图代替手工绘制二维的工程图纸,提高绘图效率和精度,这方面应用的典型代表是Autodesk公司的AutoCAD;此后NURBS的出现让计算机能够灵活地绘制各种自由曲面,各种曲面数据模型使得计算机辅助制造(CAM)成为可能,进而实体造型方法的实现使得数据模型能够计算零件的体积、重量、重心、惯性矩等工程参数,使得工程分析(CAE)成为可能;参数化建模方法的出现让计算机辅助设计跃上了一个新的台阶,参数化建模是基于特征的,特征就是除了产品的实体几何模型之外又携带了必要的工程信息,如产品的尺寸、公差、表面粗糙度、热处理等,因此基于特征的模型既有设计人员设计的几何特征,又有加工过程需要的工程信息,使得模型可以覆盖产品从设计、分析到生产、装配的全部流程。
目前的实体建模技术中实体的表达有边界表示法、构造立体几何法和空间单元表示法等几种,在Rhino中表达实体就是使用边界来定义,即由封闭的边界面围合起来的空间即为实体,所以Rhino中构造实体的方法就是用面组合成多重曲面,然后围合成实体,多重曲面必须封闭,不能够有缝隙或孔洞。Rhino是一个非常专业化的软件,它的重点在于高精度的自由曲面建模系统,它建立的实体模型是单纯的几何模型,没有携带其他的工程特征。Alias也是同样的造型系统。这两个软件的共同特征是它们主要用于工业设计领域,符合工业设计师的工作习惯和工作需求,在灵活的前提下兼顾计算精度,可以轻松地建立高阶如7阶曲面。它们的使用对象主要是着重于形态塑造的设计师,如工业设计师、珠宝设计师、建筑设计师等,这些设计职业更多的是关注轮廓、尺度、比例、线条、色彩、轻重、节奏等视觉特性,需要高自由度的形态调整系统和尽量逼真的材质光影显示效果。而目前的参数化建模方法,如果从建模伊始就要考虑参数化,虽然对工程生产很高效,但是严格的参数化会在一定程度上妨碍设计师的跳跃性思维方式,阻断创意概念思维的流畅性,设计师使用起来不一定顺手。
2.1.2 数据模型的渲染表现
数据模型的另一个重要应用就是产品效果的表现,将模型离散成网格面以后就可以根据特定的灯光、材质、环境等对模型表面进行着色和渲染,得到逼真的效果展示,在产品效果表现、建筑效果图表现、三维动画、电影等领域获得了广泛应用。真实效果表现是设计师建立数据模型的重要目的之一,设计师最重要的工作就是产生设计概念并把概念视觉化为具体的三维形态,在这个过程中他们需要有力的工具来迅速表达自己的想法,能够透视准确、尺寸精准、材质效果逼真,并且能够简单、高效地进行交互修改,使自己的设计逐步趋于完善。在这个过程中,辅助设计系统的简单、灵活、曲面功能强大、效果逼真是设计师最青睐的特性。设计师建模的另一个目的是展示自己的设计,直观而且有说服力,能够表达语言所不能及的内容。
渲染一幅逼真的效果图需要完整的数据模型、逼真的材质、优秀的渲染算法。出于此目的的建模系统有很多,如3ds Max、Maya、Cinenma 4D、Alias、Rhinoceros等都可以满足表现所需建模要求。如果作为工业级的设计建模并兼顾生产需求,后两种建模系统更适合这项工作。
2.1.3 数据模型的工程分析
计算机产生几十年来,已经全面渗入社会生活的各个方面,在工业生产领域,目前已经不仅仅是设计可以由计算机辅助来完成,在产品从设计到生产、销售的全过程都可以由计算机辅助来完成,计算机已经大大改观了产品设计生产的面貌,将生产效率和质量提高到一个很高的高度。
仅就生产领域而言,一件产品的诞生通常包括以下一些主要环节:产品需求识别;产品概念;设计(工业设计和工程设计);分析;工艺规程设计;生产;装配;存储、运输、销售。当然这只是一个普通的生产流程,产品的类别不同,其生产环节也不尽相同,从简单到非常复杂,差别很大。目前,产品生产中的设计、分析、工艺、生产、装配都可以由计算机作为辅助工具来完成,而建立产品的数据模型是所有生产环节中最基础的工作。
我们知道,产品在工程设计的过程中通常要以精确的计算为依据,计算结果越精确,设计也就越可靠。例如以一辆汽车的设计为例,其零件、组件通常涉及的计算有静力学计算、动力学计算、振动计算、流体力学计算、空气动力学计算、热效应计算等,如果没有计算机来帮助运算,全部由人手工来完成,其工作量不可想象。如果要得到精确的计算结果,还需要附加上许多假设前提,就更会影响计算的准确度。在手工计算时代,因为计算结果不精确,为了保证设计的安全性和可靠性,往往会取一个比较大的安全系数,通常会导致产品的零部件设计的比较粗大,造成材料的浪费,并且影响产品的运行效率。现在,得益于计算机的帮助,在产品设计中许多运算工作都可以交给计算机来完成,并且通过开发新的适合计算机的计算方法,可以把计算结果的准确度提高很多,使设计的效率和质量成倍地提高。相应地,在产品设计完成后,可以对其进行工程分析,以检验其设计是否符合要求。
产品的数据模型建立好以后,其几何尺寸就确定了,可以用来进行分析。目前常用的分析方法是有限元分析,类似于把曲面网格化,可以把实体分成许多小的网格,整个零部件的实体就可以用这些小的网格来近似代替,可以利用这些网格来进行静力、动力等一系列的分析,从分析结果中检验设计方案是否满足设计要求,是否符合强度、刚度、疲劳强度等设计要求,从而进一步完善和修改设计。
产品的数据模型在设计上另一个重要的用途就是可以进行虚拟装配,传统的设计和装配检验需要工程人员仔细地研读各种平面装配图纸,包括组件装配图、部件装配图、总装配图等,其效率取决于图纸的复杂程度、工程人员对产品的熟悉程度、工程人员的空间想象能力等。因为二维图纸的抽象性,使得无论是在头脑中的装配还是实际产品的预装配,都显得效率很低。现在可以让装配在屏幕上直观地来进行,实体的数据模型就如同实物模型一样,其占有一定空间,可以通过计算零件之间的组合关系将其装配在一起,并可以使之模拟实际的运行效果运动起来,以检查零件之间的配合和干涉关系。如果产品设计中存在缺陷,在检测的过程中就可以发现并修改,而不用等到实际产品预装配时才发现问题。
以上这些应用,都需要有准确的产品数据模型,在建模时需要把这些零部件建成准确的实体模型,这样才能在模型上附加上零部件的材料、重量、重心等各种工程信息,以代替实物模型进行计算和测试。如果建立的模型不准确,将会影响到所有的分析和检测结果,所以精确和准确是建立数据模型的基本要求。目前的大型工程类软件系统中都已经集成了工程分析模块,如Pro/Engineer、UG、Catia、I-DEAS等,此外也有独立的工程分析软件ANSYS等。
2.1.4 数据模型的加工应用
除了上述的CAD、CAE之外,数据模型已经延伸到了工艺规程(CAPP)和制造过程(CAM)。首先来看工艺规程设计,在产品设计完成后进入实际加工之前,需要编制加工工艺,加工工艺的编制就是要根据设计图纸和现有的加工设备,设计一个合理、高效的加工顺序,使材料从毛坯顺利变成所需的零件,并符合尺寸、形状、公差等各种设计技术要求。这项工作通常需要有经验的工程师来做,传统的方法是根据设计图纸手工绘出工艺文件,效率比较低。现在的CAD系统已经能够辅助进行工艺规程设计,工程师输入系统需要的信息,就可以由计算机系统自动编制加工工艺。
传统产品零件的加工主要靠工人手工来完成,传统的加工设备如车床、铣床、冲压、焊接等都由人工完成,工人首先要读懂工艺图纸,理解零件结构和技术要求,然后调整设备,并控制设备完成加工。零件加工的质量不但取决于设备精度,更取决于工人的操作技能水平。现在的数控加工系统,由计算机辅助进行加工,机床的刀具更换、切削位置、切削量等都由数控系统来控制,加工的效率高,质量稳定。当然,这一切的前提就是要有零件的数据模型作为加工的基础,在此基础上编制数控加工程序进行加工。例如曲面的加工,需要有精确的曲面数据作为加工刀具走刀的路径,因此数据模型是加工的基础。
此外,CAD系统还可以进行辅助装配工艺设计(CAAPP)。在产品的零部件都制造完成以后,需要按照装配图纸把它们装配起来,才能成为最终的产品。在传统制造业中,这项工作也需要有经验的工程师来做,工程师的经验在其中占据了比较大的比重。零件的加工完成只是完成了产品生产的一半,还需要经过组装(把零件装配成组件)、部装(把零件、组件装配成部件)、总装(把各组件、部件装配成成品)等装配工序。在装配的过程中,装配顺序、装配的精度、所需设备、装配要达到的技术标准、检验方法等都要编制成工艺文件,工作量比较大。目前的CAAPP系统的研发使得这项工作可以部分由计算机来完成,能够大大地提高工作效率和质量。
总结以上的讨论,目前的计算机已经进入从概念设计到装配完成以及销售、广告的全领域,从未来的发展来看,计算机已经不仅仅是辅助工具,它的先进程度将是生产力发展水平的重要标志。