本書基于MATLAB編程訓(xùn)練,對CAD建模的基本理論進(jìn)行介紹,同時結(jié)合CATIA
軟件操作介紹其在工程中的應(yīng)用。第1章,介紹CAD建模技術(shù)的發(fā)展歷史;第2章,講述工件的三維幾何模型在計算機內(nèi)存儲的基本方式,包括基本原理、數(shù)據(jù)結(jié)構(gòu)和典型存儲方式(STL網(wǎng)格);第3~8章,講述自由曲線曲面造型的相關(guān)理論和算法,并在每個算法后都給出了MATLAB程序;第9~11章,介紹特征建模、參數(shù)化建模的基本概念和CATIA軟件的相關(guān)功能;附錄,介紹MATLAB編程的入門知識。
本書既可以作為機械工程類專業(yè)本科高年級CAD課程的教材,也可以作為CAD、CAGD和計算機圖形學(xué)領(lǐng)域?qū)W習(xí)者和研究者的參考書。
本書是MATLAB、CAD、CATIA 三者融合的首本教材和參考書,是作者根據(jù)自己多年科研和教學(xué)經(jīng)驗編著而成的,深入淺出,實例經(jīng)典且具有代表性。本書在MATLAB中文論壇設(shè)有專門的交流版塊,詳見前言。
1. 編寫背景
本書是為飛行器設(shè)計與制造專業(yè)的本科課程編寫的,同時也適用于船舶、汽車及其他復(fù)雜外形工業(yè)產(chǎn)品的設(shè)計與制造的相關(guān)專業(yè)。它包含三個部分:CAD 建;A(chǔ)理論、MATLAB編程實驗和CATIA 軟件相關(guān)功能的介紹。編者在CAD課程多年的教學(xué)過程中發(fā)現(xiàn),僅僅講述算法原理很難讓學(xué)生理解,特別是機械類專業(yè)的學(xué)生,因為這類專業(yè)的學(xué)生在學(xué)習(xí)中很少接受數(shù)值計算類的思維訓(xùn)練和專業(yè)訓(xùn)練。因此,我們迫切需要一本把數(shù)值計算編程訓(xùn)練和CAD基礎(chǔ)理論教學(xué)兩個內(nèi)容融匯在一起的教材,同時該教材也應(yīng)該體現(xiàn)飛行器設(shè)計與制造專業(yè)的特點,這正是編寫本書的初衷。
2. 基本內(nèi)容
從各級各類學(xué)校開設(shè)的各種以CAD技術(shù)為主題的課程來看,我們認(rèn)為其講授內(nèi)容可以分為兩類:第一類是針對某一款軟件(如CATIA、UG、Solidworks等)圍繞本專業(yè)的應(yīng)用需求講述該軟件的操作方法;第二類是講述CAD建模的基本原理和基礎(chǔ)技術(shù),以便學(xué)生能初步具備CAD軟件的研發(fā)能力和對CAD基礎(chǔ)理論深入學(xué)習(xí)的能力。本教材面向的使用對象是第二類的學(xué)習(xí)者,但也可以作為所有CAD學(xué)習(xí)者的參考書。
本書論述的核心內(nèi)容是經(jīng)典自由曲線曲面造型理論,這部分內(nèi)容也是CAGD(Computer Aided Geometric Design)的基礎(chǔ)性內(nèi)容。筆者認(rèn)為,這種關(guān)于算法的學(xué)習(xí)內(nèi)容具有很強的實踐性,即需要學(xué)習(xí)者編程實現(xiàn)所學(xué)算法才能更好地理解這些算法,對于初學(xué)者更是如此。因此,本書在每個算法后均給出了其MATLAB語言程序,以供讀者參考。這樣,讀者在學(xué)習(xí)CAD幾何建模基礎(chǔ)理論的同時,也學(xué)習(xí)了MATLAB語言,提高了自己的編程能力。
對應(yīng)于羅列的幾何建模基礎(chǔ)理論,本書還介紹了CATIA 軟件的相關(guān)功能,以便讓讀者體會到這些基礎(chǔ)理論在CAD軟件中的應(yīng)用。與介紹專業(yè)CAD軟件用法的書籍不同,本書對軟件功能的介紹是圍繞所羅列的基礎(chǔ)理論進(jìn)行的,目的是讓讀者根據(jù)軟件操作更好地理解基礎(chǔ)理論體系中的基本概念和算法。
3. 教學(xué)建議
本書的內(nèi)容應(yīng)該盡量在多媒體教室講授。其中所有算例的計算結(jié)果(包括數(shù)據(jù)和圖形)都應(yīng)該盡量在教學(xué)現(xiàn)場實時產(chǎn)生,以便學(xué)生能親眼目睹教師的操作,感受操作過程;對于涉及MATLAB內(nèi)容較多的章節(jié),不宜采用PowerPoint制作的幻燈片作為電子講稿,編者建議學(xué)生直接閱讀課本,聽教師講解其中的程序結(jié)構(gòu)和語句,并觀看教師的程序操作演示;學(xué)習(xí)本書的每個學(xué)生都應(yīng)該在計算機上親手演練其中的算例。在掌握和理解算法原理的基礎(chǔ)上,要特別重視調(diào)試程序的技巧和方法。
全書的理論授課時間為28~36小時,教師編程輔導(dǎo)時間為8小時左右,學(xué)生獨立編程訓(xùn)練時間不少于20小時。
課程考核以基礎(chǔ)理論考試為主,學(xué)生須全面掌握這些基礎(chǔ)知識,為后續(xù)學(xué)習(xí)打下基礎(chǔ)。本書在有關(guān)自由曲線曲面造型內(nèi)容的每章后給出了練習(xí)題,教師應(yīng)讓學(xué)生獨立完成,使其把握基礎(chǔ)理論的重點和相關(guān)解題方法。
4. 致 謝
為了編寫本書,張麗艷、劉勝蘭、張臣老師提供了他們多年教學(xué)用的幻燈片以及在教學(xué)過程中使用的相關(guān)資料,劉浩、劉勝蘭和張臣老師擬定了本書的內(nèi)容和章節(jié)安排,劉浩老師根據(jù)給定的章節(jié)安排對教學(xué)幻燈片和相關(guān)資料進(jìn)行了分析和整理,重新編寫了理論內(nèi)容、MATLAB程序和CATIA
軟件操作的內(nèi)容。王小平老師對本書的內(nèi)容進(jìn)行了審校。本書的初稿先后在五年的教學(xué)中使用,并根據(jù)教學(xué)效果進(jìn)行了修改和補充。在編寫和修改的過程中,本課程的教師與學(xué)生以及其他相關(guān)課程的教師提出了寶貴意見。碩士研究生劉睿、劉磊對全書的內(nèi)容進(jìn)行了初步排版和查錯。本書在編寫過程中,先后得到江蘇高校品牌專業(yè)建設(shè)工程資助項目(Top-notch Academic
Programs Project of Jiangsu Higher Education Institutions,英文簡稱:TAPP,項目號PPZY2015A021)、校級十三五重點教材建設(shè)項目、機電學(xué)院2017年課程與教材資源建設(shè)項目的支持。
感謝北京航空航天大學(xué)出版社對本書的支持! 北京航空航天大學(xué)出版社聯(lián)合MATLAB中文論壇(http://www.iLoveMatlab.cn)為本書設(shè)立了在線交流板塊,地址:http://www.ilovematlab.cn/forum-273-1.html歡迎廣大讀者在此交流! 編者會第一時間在MATLAB中文論壇勘誤(地址http://www.ilovematlab.cn/thread-562063-1-1.html),也會根據(jù)讀者要求陸續(xù)上傳更多的示例程序和相關(guān)知識鏈接。希望這本不斷成長的書能最大限度地解決您在學(xué)習(xí)、研究和工作中遇到的CAD幾何建模算法和編程問題。
由于編者的閱歷、水平和時間有限,書中難免有疏漏和不足之處,敬請廣大讀者不吝指正。
編 者
2018年9月
劉浩,副教授。主要從事數(shù)字化設(shè)計制造,逆向工程,CAD/CAM,計算機視覺,圖形圖像處理等方面的研究與開發(fā)工作。主持完成了江蘇省實驗室開放課題1項、學(xué)校創(chuàng)新基金課題1項。目前主持國家自然基金1項,作為項目主要研究人員參與學(xué)校理工融合重點課題1項。作為主要完成人參與完成國家自然基金、國家重點科技攻關(guān)專題、江蘇省科技攻關(guān)項目等多項。獲得國家航空協(xié)會科技進(jìn)步三等獎1項(排名第4),在國內(nèi)外重要核心刊物上發(fā)表研究論文10余篇,申請軟件著作權(quán)1項。
劉勝蘭,副教授。在南航從事數(shù)字化設(shè)計制造,數(shù)字化檢測,逆向工程,CAD/CAM,計算機視覺,圖形圖像處理等方面的研究與開發(fā)工作。主持完成了航空基金1項、國家自然基金1項、回國人員留學(xué)基金1項,作為主要完成人參與完成國家自然基金、國家重點科技攻關(guān)專題、國防預(yù)研項目、江蘇省科技攻關(guān)項目等多項。先后獲得國防科技進(jìn)步二等獎3項(排名第3、第5和第6)、江蘇省科學(xué)技術(shù)進(jìn)步獎三等獎1項(排名第5),在國內(nèi)外重要核心刊物上發(fā)表研究論文30余篇,申請發(fā)明專利4項,軟件著作權(quán)2項。
第1章
緒 論
1.1 CAD技術(shù)的內(nèi)涵
1.2 CAD技術(shù)的產(chǎn)生和發(fā)展
1.2.1 CAD技術(shù)的誕生
1.2.2 制造工業(yè)對復(fù)雜曲線曲面造型技術(shù)的需求
1.2.3 曲線曲面造型方法的探索
1.2.4 三維形體表示方法的發(fā)展
1.2.5 參數(shù)化建模和特征建模
1.3 CAD技術(shù)在我國的應(yīng)用和發(fā)展
1.4 CAD的相關(guān)技術(shù)
1.5 數(shù)字化設(shè)計制造軟件之間的數(shù)據(jù)交換
1.6 本書的內(nèi)容及特點
思考與練習(xí)
第2章
幾何模型的計算機表示
2.1 三維形體的計算機表示
2.1.1 線框模型
2.1.2 表面模型
2.1.3 實體模型
2.1.4 半邊數(shù)據(jù)結(jié)構(gòu)
2.2 STL網(wǎng)格
2.2.1 STL網(wǎng)格數(shù)據(jù)的基本格式
2.2.2 STL網(wǎng)格數(shù)據(jù)的MATLAB程序讀取和顯示
思考與練習(xí)
第3章
自由曲線曲面造型的數(shù)學(xué)基礎(chǔ)
3.1 參數(shù)方程和矢量
3.2 曲線曲面的MATLAB繪制
3.2.1 曲線的繪制原理和方法
3.2.2 曲線的參數(shù)方程與曲線繪制
3.2.3 曲面的MATLAB繪制
3.3 矢函數(shù)的導(dǎo)數(shù)及其應(yīng)用
3.4 曲線的自然參數(shù)方程和曲率
3.5 曲線活動標(biāo)架
3.6 參數(shù)曲線段拼接的連續(xù)階
3.7 曲面上的曲線
3.8 曲面上的幾何量
3.9 曲面的法線方程和切平面方程
3.10 曲面的曲率
3.10.1 曲面曲率的描述
3.10.2 高斯曲率和平均曲率的實例
3.11 高斯曲率和平均曲率的計算
3.11.1 曲面的第一基本形式
3.11.2 曲面的第二基本公式
3.11.3 法曲率的極值
思考與練習(xí)
第4章 Ferguson曲線和參數(shù)三次樣條曲線
4.1 參數(shù)樣條曲線的應(yīng)用和起源
4.2 預(yù)備知識:多項式與向量空間
4.3 參數(shù)三次曲線段
4.3.1 曲線段表達(dá)式的推導(dǎo)
4.3.2 繪制Ferguson曲線段的MATLAB代碼
4.4 參數(shù)三次曲線段的拼接
4.5 Ferguson曲線的程序?qū)崿F(xiàn)
4.6 參數(shù)三次樣條曲線
4.6.1 任意區(qū)間的參數(shù)三次樣條曲線段
4.6.2 切矢量的計算
4.7 大撓度問題
4.8 MATLAB中的插值三次樣條函數(shù)
思考與練習(xí)
第5章 Bézier 曲線
5.1 Bézier 曲線的產(chǎn)生和應(yīng)用
5.2 預(yù)備知識:凸包與二項式定理
5.3 Bézier 曲線的定義
5.4 Bézier 曲線的MATLAB繪制
5.5 Bézier 曲線的性質(zhì)
5.6 Bézier 曲線的遞推算法
5.7 Bézier 曲線遞推算法的程序?qū)崿F(xiàn)
5.8 Bézier 曲線的分割
5.9 Bézier曲線的拼接
思考與練習(xí)
第6章 B樣條曲線
6.1 均勻三次B樣條曲線
6.1.1 均勻三次B樣條曲線段
6.1.2 均勻三次B樣條曲線段的拼合
6.1.3 均勻三次B樣條曲線的程序?qū)崿F(xiàn)
6.1.4 控制頂點與造型效果
6.1.5 均勻三次B樣條曲線插值
6.2 均勻二次B樣條曲線
6.3 B樣條基函數(shù)
6.3.1 B樣條基函數(shù)的卷積定義
6.3.2 B樣條基函數(shù)的遞推定義
6.3.3 非均勻 B樣條基函數(shù)
6.3.4 非均勻 B樣條基函數(shù)的MATLAB程序
6.4 非均勻B樣條曲線
6.4.1 非均勻B樣條曲線的定義
6.4.2 節(jié)點矢量的確定
6.4.3 非均勻B樣條曲線的特例
6.4.4 非均勻B樣條曲線的de-Boor算法
6.4.5 de-Boor算法的程序?qū)崿F(xiàn)
6.4.6 B樣條曲線的插值
6.4.7 MATLAB中的B樣條函數(shù)
思考與練習(xí)
第7章 NURBS曲線
7.1 NURBS曲線的表達(dá)式
7.1.1 NURBS曲線與非均勻B樣條曲線
7.1.2 NURBS曲線的程序?qū)崿F(xiàn)
7.2 齊次坐標(biāo)和透視投影
7.2.1 齊次坐標(biāo)的幾何意義
7.2.2 NURBS曲線的幾何意義
7.3 權(quán)因子的幾何意義
7.4 圓錐曲線的NURBS表示
7.5 圓弧的NURBS表示
7.6 IGES文件中的NURBS曲線
7.7 數(shù)控加工中的NURBS插補
7.8 CATIA軟件中的自由曲線構(gòu)造
7.8.1 草圖模式下的曲線構(gòu)造
7.8.2 線架構(gòu)下的曲線構(gòu)造
7.8.3
FreeStyle下的曲線構(gòu)造
思考與練習(xí)
第8章
自由曲面造型方法
8.1 張量積曲面
8.1.1
Ferguson曲面片
8.1.2
Ferguson曲面片的構(gòu)造代碼
8.1.3 Bézier曲面片
8.1.4 均勻雙三次B樣條曲面片
8.1.5 非均勻B樣條曲面
8.2 參數(shù)樣條插值曲面
8.2.1
Ferguson曲面的構(gòu)造原理
8.2.2 參數(shù)雙三次樣條曲面的構(gòu)造原理
8.2.3 參數(shù)樣條插值曲面的程序?qū)崿F(xiàn)
8.3 NURBS曲面
8.3.1 NURBS曲面方程
8.3.2 NURBS曲面的程序?qū)崿F(xiàn)
8.4 Coons曲面
8.4.1 簡單Coons曲面片
8.4.2 雙三次Coons曲面片
8.4.3 定義曲面的三種基本方法
8.5 CATIA中的曲面創(chuàng)建和操作
思考與練習(xí)
第9章
特征建模
9.1 特征建模概述
9.2 基礎(chǔ)特征
9.2.1 創(chuàng)建凸臺
9.2.2 創(chuàng)建凹槽
9.2.3 創(chuàng)建旋轉(zhuǎn)體
9.2.4 創(chuàng)建旋轉(zhuǎn)槽
9.2.5 創(chuàng)建孔
9.2.6 創(chuàng)建肋
9.2.7 創(chuàng)建開槽
9.2.8 創(chuàng)建多截面實體
9.3 特 征
9.3.1 創(chuàng)建分割
9.3.2 創(chuàng)建厚曲面
9.3.3 創(chuàng)建封閉曲面
9.3.4 創(chuàng)建縫合曲面
9.4 修飾特征
9.4.1 創(chuàng)建倒圓角
9.4.2 創(chuàng)建倒角
9.4.3 創(chuàng)建拔模
9.4.4 創(chuàng)建盒體
第10章
參數(shù)化建模
10.1 參數(shù)化建模技術(shù)概述
10.2 草圖中的參數(shù)化建模
10.3 特征建模與參數(shù)化
10.4 利用用戶參數(shù)和公式驅(qū)動圖形
第11章 MBD技術(shù)
11.1 MBD技術(shù)概述
11.2 MBD建模過程介紹
11.2.1 視圖的確定
11.2.2 三維標(biāo)注
附錄A
MATLAB編程入門
A.1 初識MATLAB界面
A.2 子函數(shù)及其調(diào)用
A.3 斷點設(shè)置與程序調(diào)試
參考文獻(xiàn)