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