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