逆向工程

逆向工程

逆向工程是根據已有的東西和結果,通過分析來推導出具體的實現方法。比如你看到別人寫的某個exe程式能夠做出某種漂亮的動畫效果,你通過反彙編、反編譯和動態跟蹤等方法,分析出其動畫效果的實現過程,這種行為就是逆向工程;不僅僅是反編譯,而且還要推倒出設計,並且文檔化,逆向軟體工程的目的是使軟體得以維護。

逆向工程逆向工程
逆向工程(reverse engineering)大意是根據已有的東西和結果,通過分析來推導出具體的實現方法。比如你看到別人寫的某個exe程式能夠做出某種漂亮的動畫效果,你通過反彙編、反編譯和動態跟蹤等方法,分析出其動畫效果的實現過程,這種行為就是逆向工程;不僅僅是反編譯,而且還要推倒出設計,並且文檔化,逆向軟體工程的目的是使軟體得以維護。

簡介

逆向工程逆向工程圖例
有的人也叫反求工程,英文是reverse engineering。
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 也提供一技術,使用者可以方便地對點雲數據進行各種各樣的合併。
註:Roland 模具加工機隨機所附的 PixForm 軟體為 RapidForm 的 OEM 軟體。

相關詞條


相關詞條

相關搜尋

熱門詞條

聯絡我們