逆向工程

逆向工程

使軟件得以維護
逆向工程是根據已有的東西和結果,通過分析來推導出具體的實現方法,比如你看到别人寫的某個exe程序能夠做出某種漂亮的動畫效果,你通過反彙編、反編譯和動态跟蹤等方法,分析出其動畫效果的實現過程,這種行為就是逆向工程;不僅僅是反編譯,而且還要推倒出設計,并且文檔化,逆向軟件工程的目的是使軟件得以維護。逆向工程源于商業及軍事領域中的硬件分析。其主要目的是在不能輕易獲得必要的生産信息的情況下,直接從成品分析,推導出産品的設計原理。[1]
    中文名:逆向工程 外文名: 别名:逆向技術 作用:保護知識産權所有者 動力:确認競争産品是否侵權專利或版權

簡介

有的人也叫反求工程,英文是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 數據。當産品推向市場後,由于外觀新穎、曲線流暢,再加上手感也很好,符合人體工程學原理,因而迅速獲得用戶的廣泛認可,産品的市場占有率大幅度上升。

一、點過程

讀入點陣數據。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 在計算機輔助曲面檢查、曲面造型及快速樣件等方面具有其它軟件無可匹敵的強大功能,使它當之無愧的成為逆向工程領域的領導者。

CopyCAD 軟件

CopyCAD 是由英國 DELCAM 公司出品的功能強大的逆向工程系統軟件,它能允許從已存在的零件或實體模型中産生三維CAD模型。該軟件為來自數字化數據的 CAD 曲面的産生提供了複雜的工具。CopyCAD 能夠接受來自坐标測量機床的數據,同時跟蹤機床和激光掃描器。

CopyCAD 簡單的用戶界面允許用戶在盡可能短的時間内進行生産,并且能夠快速掌握其功能,既使對于初次使用者也能做到這點。使用 CopyCAD 的用戶将能夠快速編輯數字化數據,産生具有高質量的複雜曲面。該軟件系統可以完全控制曲面邊界的選取,然後根據設定的公差能夠自動産生光滑的多塊曲面,同時,CopyCAD 還能夠确保在連接曲面之間的正切的連續性。

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 軟件。

相關詞條

相關搜索

其它詞條