逆向工程综述逆向工程逆向工程,有的人也叫反求工程,英文是reverseengineering。逆向工程(reverseengineering)大意是根据已有的东西和结果,通过分析来推导出具体的实现方法。比如你看到别人写的某个exe程序能够做出某种漂亮的动画效果,你通过反汇编、反编译和动态跟踪等方法,分析出其动画效果的实现过程,这种行为就是逆向工程;不仅仅是反编译,而且还要推倒出设计,并且文档化,逆向软件工程的目的是使软件得以维护。1980年始欧美国家许多学校及工业界开始注意逆向工程这块领域。1990年初期包括台湾在内,各国学术界团队大量投入逆向工程的研究并发表成果。逆向工程的硬件最早是运用仿制加工设备,制作出来的成品品质粗糙。后来有接触式扫瞄设备,运用探针接触工件取得产品外型。再来进一步开发非接触式设备,运用照相或激光技术,计算光线反射回来的时间取得距离。逆向工程软件部分品牌包括Surfacer(Imageware)、ICEM、CopyCAD、RapidForm等。逆向软件的演进约略可区分为三个阶段。十一年前在逆向工程上,只能运用CATIA等CAD/CAM高阶曲面系统。市场后来发展出两套主流产品约在七、八年前技术成熟,广为业界引用。到最近四年来,发展出不同以往的逆向工程数学逻辑运算,速度快。逆向工程在台湾的发展轨迹持续在进行,工研院曾写过一套逆向工程软件,学术界不少研究团队也将逆向工程领域作为研究主题,开发出具不同功能的系统软件,但是最后这些软件都没有真正落实到产业界应用。工研院的团队后来也结束逆向工程研究,转而开发其它主题。原有的研发成果后继无人,殊为可惜。1998年,NEWPOWER启动了逆向工程的一些项目,要求是把客户的现有源代码转变成设计,如果需要的话,进一步转化成产品需求规约。这恰恰与类似于V模型的标准开发过程模型相逆。这样一来,客户就可以容易地维护他们的产品(需求,设计,源代码等等),而不需要想以前那样,每次改动产品都需要直接修改源代码。是指从实物上采集大量的三维坐标点,并由此建立该物体的几何模型,进而开发出同类产品的先进技术。逆向工程与一般的设计制造过程相反,是先有实物后有模型。仿形加工就是一种典型的逆向工程应用。目前,逆向工程,逆向工程的应用已从单纯的技巧性手工操作,发展到采用先进的计算机及测量设备,进行设计、分析、制造等活动,如获取修模后的模具形状、分析实物模型、基于现有产品的创新设计、快速仿形制造等。通俗说,从某种意义上说,逆向工程就是仿造。这里的前提是默认我们传统的设计制造为“正向工程(当然,没有这种说法)”。软件的逆向工程是分析程序,力图在比源代码更高抽象层次上建立程序的表示过程,逆向工程是设计的恢复过程。逆向工程工具可以从已存在的程序中抽取数据结构、体系结构和程序设计信息。四大逆向工程软件简介ImagewareImageware由美国EDS公司出品,是最著名的逆向工程软件,正被广泛应用于汽车、航空、航天、消费家电、模具、计算机零部件等设计与制造领域。该软件拥有广大的用户群,国外有BMW、Boeing、GM、Chrysler、Ford、raytheon、Toyota等著名国际大公司,国内则有上海大众、上海交大、上海DELPHI、成都飞机制造公司等大企业。以前该软件主要被应用于航空航天和汽车工业,因为这两个领域对空气动力学性能要求很高,在产品开发的开始阶段就要认真考虑空气动力性。常规的设计流程首先根据工业造型需要设计出结构,制作出油泥模型之后将其送到风洞实验室去测量空气动力学性能,然后再根据实验结果对模型进行反复修改直到获得满意结果为止,如此所得到的最终油泥模型才是符合需要的模型。如何将油泥模型的外形精确地输入计算机成为电子模型,这就需要采用逆向工程软件。首先利用三坐标测量仪器测出模型表面点阵数据,然后利用逆向工程软件(例如:Imagewaresurfacer)进行处理即可获得class1曲面。随着科学技术的进步和消费水平的不断提高,其它许多行业也开始纷纷采用逆向工程软件进行产品设计。以微软公司生产的鼠标器为例,就其功能而言,只需要有三个按键就可以满足使用需要,但是,怎样才能让鼠标器的手感最好,而且经过长时间使用也不易产生疲劳感却是生产厂商需要认真考虑的问题。因此微软公司首先根据人体工程学制作了几个模型并交给使用者评估,然后根据评估意见对模型直接进行修改,直至修改到大家都满意为止,最后再将模型数据利用逆向工程软件Imageware生成CAD数据。当产品推向市场后,由于外观新颖、曲线流畅,再加上手感也很好,符合人体工程学原理,因而迅速获得用户的广泛认可,产品的市场占有率大幅度上升。Imageware逆向工程软件的主要产品有:Surfacer——逆向工程工具和class1曲面生成工具Verdict——对测量数据和CAD数据进行对比评估Buildit——提供实时测量能力,验证产品的制造性RPM——生成快速成型数据View——功能与Verdict相似,主要用于提供三维报告Imageware采用NURB技术,软件功能强大,易于应用。Imageware对硬件要求不高,可运行于各种平台:UNIX工作站、PC机均可,操作系统可以是UNIX、NT、Windows95及其它平台。Imageware由于在逆向工程方面具有技术先进性,产品一经推出就占领了很大市场分额,软件收益正以47%的年速率快速增长。Surfacer是Imageware的主要产品,主要用来做逆向工程,它处理数据的流程遵循点——曲线——曲面原则,流程简单清晰,软件易于使用。其流程如下:一、点过程读入点阵数据。Surfacer可以接收几乎所有的三坐标测量数据,此外还可以接收其它格式,例如:STL、VDA等。将分离的点阵对齐在一起(如果需要)。有时候由于零件形状复杂,一次扫描无法获得全部的数据,或是零件较大无法一次扫描完成,这就需要移动或旋转零件,这样会得到很多单独的点阵。Surfacer可以利用诸如圆柱面、球面、平面等特殊的点信息将点阵准确对齐。对点阵进行判断,去除噪音点(即测量误差点)。由于受到测量工具及测量方式的限制,有时会出现一些噪音点,Surfacer有很多工具来对点阵进行判断并去掉噪音点,以保证结果的准确性。通过可视化点阵观察和判断,规划如何创建曲面。一个零件,是由很多单独的曲面构成,对于每一个曲面,可根据特性判断用用什么方式来构成。例如,如果曲面可以直接由点的网格生成,就可以考虑直接采用这一片点阵;如果曲面需要采用多段曲线蒙皮,就可以考虑截取点的分段。提前作出规划可以避免以后走弯路。根据需要创建点的网格或点的分段。Surfacer能提供很多种生成点的网格和点的分段工具,这些工具使用起来灵活方便,还可以一次生成多个点的分段。二、曲线创建过程判断和决定生成哪种类型的曲线。曲线可以是精确通过点阵的、也可以是很光顺的(捕捉点阵代表的曲线主要形状),或介于两者之间。创建曲线。根据需要创建曲线,可以改变控制点的数目来调整曲线。控制点增多则形状吻合度好,控制点减少则曲线较为光顺。诊断和修改曲线。可以通过曲线的曲率来判断曲线的光顺性,可以检查曲线与点阵的吻合性,还可以改变曲线与其它曲线的连续性(连接、相切、曲率连续)。Surfacer提供很多工具来调整和修改曲线。三、曲面创建过程决定生成那种曲面。同曲线一样,可以考虑生成更准确的曲面、更光顺的曲面(例如class1曲面),或两者兼顾,可根据产品设计需要来决定。创建曲面。创建曲面的方法很多,可以用点阵直接生成曲面(Fitfreeform),可以用曲线通过蒙皮、扫掠、四个边界线等方法生成曲面,也可以结合点阵和曲线的信息来创建曲面。还可以通过其它例如园角、过桥面等生成曲面。诊断和修改曲面。比较曲面与点阵的吻合程度,检查曲面的光顺性及与其它曲面的连续性,同时可以进行修改,例如可以让曲面与点阵对齐,可以调整曲面的控制点让曲面更光顺,或对曲面进行重构等处理。英国TriumphMotorcycles有限公司的设计工程师ChrisChatburn说:“利用Surfacer我们可以在更短的时间内完成更多的设计循环次数,这样可以让我们减少50%的设计时间。”最新发布的Surfacer11软件将以下工作流程的高性能工具完整的集成到一起:[弹性的曲面创建工具]:可以在一个弹性的设计环境里非常方便的直接从曲线、曲面、或测量数据创建曲面,支持贝茨尔(Bezier)和非均匀有理B样条(NURBS)曲面两种方法。用户可以选择适合的曲面方法,通过结合两种方法的优点来获益。[动态的曲面修改工具]:允许用户在交互的方式下试探设计主题,立刻就可以看到是否美观和思路是否符合工程观念。设计、工程分析、制造的标准都通过精心的构造过程考虑进去,所以当每次修改曲面时不需要再重新校核标准。[实时的曲面诊断工具]:可以提供诸如任意截面的连续性、曲面反射线情况、高亮度线、光谱图、曲率云图和园柱型光源照射下的反光图等多种方法,在设计的任何时候都可以查出曲面缺陷。[有效的曲面连续性管理工具]:在复杂的曲面缝补等情况下,即使曲面进行了移动修改等操作,也能保证曲面同与之相连的曲面间的曲率连续,避免了乏味的手工再调整过程。[强大的处理扫描数据能力]:根据Rainbow图法(相当于假设雨水从上面落下,由于形状差异导致雨水流速差异)、曲率大小变化云图法(对于一个完全光顺的class1曲面,相当于曲率大小变化为零,对于两个不同曲面,此值会不同)将扫描数据分开,这样可以很快地捕捉产品的主要特征,并迅速建立各个相应曲面,避免了费事的分析和处理。正是由于Imageware在计算机辅助曲面检查、曲面造型及快速样件等方面具有其它软件无可匹敌的强大功能,使它当之无愧的成为逆向工程领域的领导者。GeomagicStudio由美国Raindrop(雨滴)公司出品的逆向工程和三维检测软件GeomagicStudio可轻易地从扫描所得的点云数据创建出完美的多边形模型和网格,并可自动转换为NURBS曲面。该软件也是除了Imageware以外应用最为广泛的逆向工程软件。GeomagicStudio主要包括Qualify、Shape、Wrap、Decimate、Capture五个模块。主要功能包括:自动将点云数据转换为多边形(Polygons)快速减少多边形数目(Decimate)把多边形转换为NURBS曲面曲面分析(公差分析等)输出与CAD/CAM/CAE匹配的文件格式(IGS、STL、DXF等)1.从CAD数模得到的产品模型2.将CAD模型读入GeomagicStudio3.CAD设计模型与从实际模型扫描所得的点云数据(不同坐标系)4.扫描数据与CAD模型的自动对合5.扫描数据与CAD模型的自动对齐6.误差以彩色图形直观显示7.用户可标出任意点误差8.Qualify的结果可以输出为HTML格式CopyCADCopyCAD是由英国DELCAM公司出品的功能强大的逆向工程系统软件,它能允许从已存在的零件或实体模型中产生三维CAD模型。该软件为来自数字化数据的CAD曲面的产生提供了复杂的工具。CopyCAD能够接受来自坐标测量机床的数据,同时跟踪机床和激光扫描器。CopyCAD简单的用户界面允许用户在尽可能短的时间内进行生产,并且能够快速掌握其功能,即使对于初次使用者也能做到这点。使用CopyCAD的用户将能够快速编辑数字化数据,产生具有高质量的复杂曲面。该软件系统可以完全控制曲面边界的选取,然后根据设定的公差能够自动产生光滑的多块曲面,同时,CopyCAD还能够确保在连接曲面之间的正切的连续性。该软件的主要功能如下:数字化点数据输入DUCT图形和三角模型文件CNC坐标测量机床分隔的ASCII码和NC文件激光扫描器、三维扫描器和SCANTRONPCArtCAMRenishawMOD文件点操作能够进行相加、相减、删除、移动以及点的隐藏和标记等点编辑能够为测量探针大小对模型的三维偏置进行补偿能够进行模型的转换、缩放、旋转和镜像等模型转换能够对平面、多边形或其它模型进行模型裁剪三角测量在用户定义的公差和选