什么是逆向工程?

2024-11-18 03:50:11
推荐回答(2个)
回答(1):

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

回答(2):