逆向工程技術及實作 | 維持健康的好方法 - 2024年11月

逆向工程技術及實作

作者:王松浩莊昌霖熊效儀
出版社:五南
出版日期:2019年07月10日
ISBN:9789577633453
語言:繁體中文
售價:380元

  在工程和產品設計意義上講,如果把傳統的從「構思設計產品」這個過程稱為「正向工程」,那麼從「產品數位元模型電腦輔助製造或快速原型件」這個過程就是「逆向工程」。 也有稱之為「反向工程」或「還原工程」。

  但是實際上,逆向工程源於商業及軍事領域中的軟硬體分析。其主要目的是,在無法輕易獲得必要的生產資訊下,直接從成品的分析,推導產品的設計原理。逆向工程非常廣義,在科技領域中幾乎無所不在。比如軟體的逆向工程(Decoding);積體電路和智慧卡的逆向工程;逆向工程在軍事上的應用都有非常驚人的例子。更有甚者,基因工程不就是浩瀚的逆向工程嗎?

  本書涉及的僅為逆向工程一個部分:對3D實體模型進行掃描取得點雲資料,然後利用電腦軟體進行前置處理與曲面重建,進而得到精確的數位元模型。此項技術在工業產品開發與改進、醫療、考古等眾多領域有著非常廣泛的應用。

  隨著科學技術的飛速發展,應用於逆向掃描的硬體設備日新月異,但是要對點雲資料進行精準及美觀的曲面重建則是需要非常多的手段及技巧。

  初學者對於使用逆向工程軟體進行3D模型編輯及曲面重建時,往往有不同程度的望而生畏感。而筆者具有近十八年逆向工程教學和運用經驗,因此在教學中提綱攜挈領,應材施教,僅利用一個學期的18週54學時(包括考試)就能夠使學生基本上融會貫通,運用自如,效果顯著。

  根據多年教學經驗,本書圖文並茂,儘量省略不十分必要的長篇累述;並將各項指令的具體介紹融入實作範例之中,以達到事倍功半之效果。本書在實際軟體操作部分儘量詳細,使讀者逐漸體驗到能夠「無師自通」的感受。此外在主要操作步驟的敘述部分還加入了英語翻譯,可供本籍或外籍讀者參考。
 

作者簡介

王松浩

  現職:
  崑山科技大學機械系教授

  學歷:
  美國匹茨堡大學機械工程學博士

  經歷:
  崑山科技大學機械系任教十數年;任教前已具數十年國外業界實際經驗

  專長:
  電腦輔助設計/製造/工程分析,逆向工程/快速原型,機電整合及創意產品設計

  獲得獎項:
  世界各國發明專利25件,專利轉讓三件,國際發明展金牌十數枚,銀銅牌十數枚,並榮獲:
  2008台灣區機器工業同業公會機械業產學貢獻獎
  2011國家發明獎
  2012第七屆臺灣十大傑出發明家獎
  2012教育部產業先進設備人才培育計畫優良教材獎

莊昌霖

  現職:
  崑山科技大學產品開發技術研發中心主任

  學歷:
  美國紐約大學藝術與科學博士
  崑山科技大學電子工程系(所)
  崑山科技大學視訊傳播設計系暨媒體藝術研究所

  經歷:
  工業研究院
  紐約州立高科技中心
  紐約州立生物科技中心CASM
  紐約州立大學石溪分校

熊效儀

  學歷:
  崑山科技大學數位生活科技所碩士

  經歷:
  崑山科技大學資訊傳播系兼任教師
  創科互動有限公司前端視覺設計工程師
 

1. 緒 論(Introduction)
1.1 逆向工程簡述
1.2 逆向工程的原理及種類
1.3 逆向工程的發展
1.4 逆向工程的應用

2. AutoDesk PowerShape®軟體使用入門(Basics of AutoDesk PowerShape®)
2.1 AutoDesk PowerShape®軟體練習版下載連結
2.2 視窗主要介面介紹
2.3 一些常用的捷徑鍵組合(Some useful shortcuts)
2.4 滑鼠左、中、右三鍵的作用
2.5 本書所附的原始檔案(Attached original models)

3. 範例一:自行車座墊(Bicycle seat)
3.1 輸入原始掃描檔案(Import scanned model)
3.2 編輯修補模型(Edit and repair the model)
3.3 產生曲線(Create curves)
3.4 產生智慧曲面(Create smart surface)
3.5 將曲面模型轉化成實體模型並加厚(Convert in to a solid shell)
3.6 將實體轉化成8節點元素模型(Convert into 8 nodes solid)
3.7 輸出CAD模型(Export CAD Model)
3.8 在CAD軟體開啟模型(Open the model in CAD software)
3.9 Autodesk PowerShanpe 2018版介面操作範例(Autodesk PowerShanpe 2018 version introduction)

4. 範例二:曲面技巧(Surfacing techniques)
4.1 輸入原始掃描檔案(Import original model)
4.2 繪製曲線(Create curves)
4.3 產生智慧曲面(Smart surface)
4.4 量取凹陷部分的幾何參數(Measure cross section parameters)
4.5 截取凹陷部分剖面曲線(Create cross section curve)
4.6 產生凹陷部分的錐形曲面(Create the conical surface)
4.7 產生上沿凸圓角(Create fillet)
4.8 製作底部平面(Create the flat surface at the bottom)
4.9 產生底部凹形圓角(Create the bottom fillet)
4.10 同樣方法完成另一邊的凹陷曲面(Same method to complete the other side)
4.11 將曲面轉換成實體,加厚並轉換成8節點元素的實體(Convert surface into solid, thicken into 2mm and transform into 8-node solid model)
4.12 輸出模型(Export the model)
4.13 在CAD軟體中開啟模型(Open the model in CAD software)

5. 範例三:風扇葉片(Fan blades)
5.1 輸入原始掃描檔案(Import the scanned point cloud)
5.2 從掃描點雲資料生成三角網格(Create mesh from point cloud )
5.3 在原點處產生座標(Create a coordinate at (0, 0, 0))
5.4 產生一個圓柱體(Create a cylinder)
5.5 將網格模型與圓柱定位(Align the fan to the cylinder)
5.6 將網格模型上的葉片部分切割出來(Separate the blade from the hub)
5.7 清理網格模型(Clean the mesh)
5.8 產生曲面(Create surface)
5.9 曲面轉換成實體厚面(Convert surface into solid)
5.10 以葉片邊界曲線產生伸展曲面(Create extrusion surface with bordering curve)
5.11 用伸展曲面來切割實體葉片(Trim the blade with the extrusion surface)
5.12 對葉片邊緣進行圓角(Create Fillet for the edge of blade)
5.13 將葉片轉換成8節點的實體模型(Convert into 8-nodes solid model)
5.14 產生輪轂(Create the hub)
5.15 輪轂上進行材料切除(Make a cut in the hub)
5.16 環狀陣列(Create pattern of the cut)
5.17 中心鑽制軸孔(Drill a hole for the shaft)
5.18 葉片環狀陣列(Pattern for the blades)
5.19 輸出CAD檔(Export into CAD format)
5.20 在CAD軟體中開啟(Open the model in CAD program)

6. 範例四:把手模型(Handle)
6.1 輸入原始掃描檔案(Input original model)
6.2 建立座標(Create work coordinate)
6.3 產生剖面線及旋轉曲面(Create cross sectional curves and rotational surface)
6.4 產生綜合邊界曲線以及平面圓環
6.5 將所有曲面暫存某一圖層
6.6 建立球面部分的中心座標(Create a coordinate for the sphere part)
6.7 繪製輔助直線(Draw a straight line)
6.8 剪裁線段(Trim the curves)
6.9 移動座標至中點(Move the coordinate)
6.10 產生球形曲面並儲存於曲面圖層
6.11 產生錐杆部分的剖面線
6.12 產生圓錐曲面(Create the conical surface)
6.13 長度方向延伸曲面(Extend the conical surface)
6.14 產生相交曲線(Generate cross section curve)
6.15 裁剪曲面(Trim the surface)
6.16 將曲面轉換成實體(Convert the surfaces into solid)
6.17 結合成為同一個實體(Join solids into one body)

7. 範例五:水龍頭模型(Shower head)
7.1 輸入原始掃描檔案並編輯修補模型
7.2 建立模型重心點座標(Create a work coordinate)
7.3 生成必要的剖面曲線(Create cross section curves)
7.4 產生噴頭旋轉曲面(Create rotational surface of the head)
7.5 產生聯接管處旋轉曲面(Create rotational surface for pipe connection)
7.6 產生邊界綜合曲線(Create composite curve)
7.7 重新分佈曲線上的節點(Redistribute the points on the curves)
7.8 產生曲面(Create surface)
7.9 將曲面轉換成實體(Convert surface into solid)
7.10 在蓮蓬頭上鑽噴水孔(Drill a hole for the nozzle)
7.11 噴水孔直線陣列(Linear pattern for the nozzle hole)
7.12 噴水孔環狀陣列(Circular pattern for the nozzle hole)

8. 範例六:汽車輪轂(Wheel)
8.1 輸入原始掃描檔案(Open the file)
8.2 裁剪邊緣(Trim the edge ring)
8.3 填補破孔(Hole filling)
8.4 光滑化(Smoothing)
8.5 修剪(Trimming)
8.6 截取並編輯剖面曲線(Create cross sectional curves)
8.7 產生旋轉曲面(Create revolving surface)
8.8 利用旋轉曲面修剪實體輪轂(Trim the solid with surface)
8.9 輪轂上進行減重除料(Make the weight reduction cut)
8.10 環狀陣列(Circular pattern the cut and fillet the edges)
8.11 產生螺栓孔(Create bolt hole)
8.12 環狀陣列(Circular pattern the holes)
8.13 開啟其他圖層展示輪子組合體(Open other layers to show the whole assembly)

9. 範例七:客制化安全帽(Helmet)
9.1 輸入原始掃描檔案並編輯修補模型
9.2 填補破孔(Fill the holes)
9.3 手動細化網格(Refine Mesh)
9.4 刪除曲面上的分割線(Delete parting line)
9.5 產生相交曲線(Create intersection curve)
9.6 利用相交曲線裁切頭部網格(Cut the mesh wth curve)
9.7 產生剖面曲線(Create Cross-section curves)
9.8 產生曲面(Create a surface)
9.9 曲面往外偏移(Create an offset)
9.10 曲面反向(Reverse orientation)
9.11 倒圓角(Make a fillet)
9.12 外殼造型(Morph helmet shape)
9.13 敷貼造型曲線至安全帽表面(Wrap a pattern)
9.14 在敷貼曲線上繪製一個剖面圓
9.15 產生敷貼圖案曲面(Make a drive curve surface)
9.16 曲面倒圓角(Make a fillet)
9.17 敷貼浮雕(Wrap relief)
9.18 改變浮雕顏色(Change color for the relief)

10. 範例八:醫學應用─臉頰創傷修補(Medical Application)
10.1 輸入原始掃描檔案(Import scanned model)
10.2 在完好的面頰一邊繪製封閉曲線
10.3 建立中心座標(Create a working coordinate at the center of the model)
10.4 將曲線鏡射(Mirror the curve)
10.5 產生曲面(Create surface)
10.6 將曲面轉換為實體(Convert the surface into solid)
10.7 加厚實體(Thicken the piece)
10.8 輸出成為CAD檔案(Export as CAD model)
10.9 在CAD軟體中開啟

11. 範例九:掃描資料定位(Alignment)
11.1 輸入原始掃描檔案(Import scanned model)
11.2 隱藏點雲,僅顯示網格模型(Hide point clouds)
11.3 隱藏身體部分,僅顯示頭部模型(Hide the body portion)
11.4 參考點定位(小熊面部)(Reference points alignment(Face))
11.5 最佳化定位(小熊面部)(Automatic optimized alignment(Face))
11.6 結合模型(小熊面部)(Join the two aligned pieces(Face))
11.7 參考點定位(小熊背面頭部)(Reference point alignment(Back head))
11.8 最佳化定位(小熊背面頭部)(Automatic best fit alignment(The face and the back))
11.9 完成所有模型定位並縫合成一體(Complete alignment for all pieces and join them together)

12. 範例十:從2D照片建立3D模型(From 2D pictures to 3D model)
12.1 開啟SolidWorks新的零件檔(Start a new part file)
12.2 顯示座標平面,並以等視角展現(Showing work planes and isometric view)
12.3 在「地板上」繪製以草圖(Make a sketch on the “floor”)
12.4 在草圖上插入風扇的俯視照片(M-10-Fan-01.png)(Insert the over-view picture(M-10-Fan-01.png) of the fan into the sketch)
12.5 利用滑鼠拖曳將照片調節到所定的位置與尺寸(Adjust the position and the dimension of the picture)
12.6 退出草圖並以等視角檢視(Complete sketch)
12.7 在圖示方位建立新的平面(Create an offset plane for side view)
12.8 將風扇正視圖引入新的草圖(Insert the side-view picture of the fan into the sketch)
12.9 以等視角檢視(Isometric view for clarity)
12.10 產生風扇的軸心圓柱(Create the hub for the fan)
12.11 以疊層拉伸產生風扇葉片的曲面(Create blade surface with loft surface method)
12.12 風扇葉片加厚(Thicken the blade)
12.13 切割葉片外型(Trim the blade to the outside profile)
12.14 葉片倒圓角(Make fillets on the blade edges)
12.15 建立基準中心線(Create a center axis)
12.16 葉片環狀陣列(Circular pattern of the blades)
12.17 為風扇軸心圓柱倒圓角(Make fillet for the hub)
12.18 從汽車投影視圖建立3D立體模型I(Create a 3D car model from 2D pictures I)
12.19 從汽車投影視圖建立3D立體模型II(Create a 3D car model from 2D pictures II)

13. 範例十一:應用於內部結構的逆向工程技術(Reverse Engineering for inner structiurs)
13.1 3D-Doctor®基礎及輸入檔案格式(Basics of 3D-Doctor® and Import format)
13.2 標定(Calibration)
13.3 建立新圖層(Establish a new layer)
13.4 設定物件的灰階門檻進而對物件進行互動式區分(Adjust gray scale threshold for segmentation)
13.5 渲染/彩現(Rendering)
13.6 輸出模型(Export the 3D model)
13.7 電腦自動設定物件的灰階門檻進而對物件進行區分(Auto-segmentation by computer)
13.8 渲染/彩現(Rendering)
13.9 提高清晰度及高分辨度(Higher definition and more detailed segmentations)

附錄1 曲面及實體基本概念(Basics of surface and solid modeling)
1.1 曲面(Surface)
1.2 實體(Solids)
1.3 曲面與實體(Surface & Solid)
附錄2 逆向工程曲面鋪設技巧範例影片之簡介(Brief Introduction for surfacing tip videos)

 

前言Preface

  在工程和產品設計意義上講,如果把傳統的從「構思—設計—產品」這個過程稱為「正向工程」,那麼從「產品—數位模型—電腦輔助製造或快速原型件」這個過程就是「逆向工程」。 因之也有稱之為「還原工程」或「反向工程」。

  但是實際上,逆向工程源於商業及軍事領域中的軟硬體分析。其主要目的是,在無法輕易獲得必要的生產資訊下,直接從成品的分析,推導產品的設計原理。

  逆向工程非常廣義,在科技領域中幾乎無所不在。比如軟體的逆向工程(Decoding)、積體電路和智慧卡的逆向工程,逆向工程在軍事上的應用都有非常驚人的例子。還有,基因工程不就是巨大的逆向工程嗎?

  也許比較嚴格和廣義的逆向工程定義:透過對某種產品的結構、功能、運作進行分析、分解、研究後,製作出功能相近,但又不完全一樣的產品過程。

  雖然逆向工程的日益發展和所謂「山寨、侵權、盜版」的質疑同時存在,但是這項技術對於科學技術的進步和普及的貢獻是無可爭議的。逆向工程可能會被誤認為是對智慧財產權的嚴重侵害,但是在實際應用上,反而可能會保護智慧財產權所有者。例如在積體電路領域,如果懷疑某公司侵犯智慧財產權,則可以用逆向工程技術來尋找證據。

  本書涉及的逆向工程僅僅是浩瀚海洋中的一個部分:對3D模型掃描得到的點雲資料進行前置處理與曲面重建,來達到還原幾何形狀的逆向工程。隨著電腦技術的飛速發展,應用於逆向掃描的硬體設備日新月異, 但是要將掃描得到的點雲資料轉換成一般CAD軟體可以進行編輯並進行再設計的3D電腦模型,至少目前來說還得靠熟練的工程師運用逆向工程軟體對點雲資料進行修補,並利用三角網格及曲線轉換成曲面或實體模型。

  和初學者或有意願者談起使用逆向工程軟體對掃描的檔案進行3D模型編輯及曲面重建時,往往會察覺到不同程度的望而生畏感。而筆者具有近十八年逆向工程教學和運用經驗,因此在教學中提綱挈領、因材施教,僅利用一個學期的18週54學時(包括考試)就能夠使學生基本上融會貫通、運用自如,取得了很好的效果。故當五南出版社王主編來邀稿時便能夠欣然接受,因為這樣可以和大家分享這項非常實用的技術以及自己多年的心得,為提高臺灣的產業水準貢獻微薄之力。

  根據多年教學經驗,本書在編寫中會盡量圖文並茂為主,省略不十分必要的長篇敘述文字。並將各項指令的具體介紹融入實作範例之中,以達到事倍功半的效果。本書在實際軟體操作部分盡量詳細,試圖使讀者體驗到「無師自通」的感受。此外在主要操作步驟的敘述部分還加入了英語翻譯,亦可供外籍讀者參考。

  特別感謝達康科技股份有限公司允許本書運用Autodesk PowerShape作為主要軟體工具進行介紹和講解,並提供學習版軟體給讀者進行練習。
 

1.1 逆向工程簡述 逆向工程乍聽之下是一種高深且專業的流程,但其本質並不複雜,有沒有遇過一種情況是:想買一個新的櫃子但不知道目前的空間塞不塞得下,所以拿了一把捲尺量出空間的寬度以及高度,進而比對櫃子的大小來評估該櫃子適不適合目前的空間?在這種情形下就是在做一種逆向的動作了。 逆向工程(又稱反向工程、還原工程)為一種技術過程,其目的為針對一現有產品或專案分析及研究,從而推導演繹出該產品之設計、處理流程、結構、功能規格等設計階段之要素,並利用得到的數據延伸出其他的設計,主要應用在無法獲得必要生產資訊的情形下,直接分析末端成品,求出其設計階段之數據。逆向工程並不止應用在工業設計環境,在軟體開發環境也常利用逆向工程的技術來分析商品及服務的可靠度,在某些情形下逆向工程往往會被認為是一種智慧財產權的侵害舉動。實際上不管是在商業、教育、軍事、工業、軟體工業等環境下,逆向工程均是研發過程中非常重要的一個技術指標。 不論在哪個環境,一般正常的設計多經由構思、設計、原型、成品、包裝的流程讓想法逐步的發展為一個成品,而逆向工程則是從一個成品反過來推導出其設計階段的細節,常見於工業設計需利用現有機構延伸其他應用時,透過逆向工程技術還原出其尺寸、設計階段之相關參數進而設計出相對應的部件。


相關書籍