深入剖析三維幾何內核 - 功能介紹
我們將幾何內核的功能進行分類,看看幾何內核做了哪些事情,或者什么情況下上層應用會用到幾何內核。
1. 二維草圖
“草圖”是一個專業(yè)術語。我們設計一個對象或者繪制一個對象時,開始很難用三維進行建模,通常的做法是先用二維表示,工程上的圖紙一般也都是用二維表示,比如我們常見的俯視圖,側視圖,截面圖等等。AutoCAD之類的繪圖設計軟件最初都是二維的。
有人可能覺得二維比較簡單,沒什么難度,實則不然。單個的二維對象確實比較簡單,點線面數據通過基本設計即可實現。
考慮如下設計:
兩個互相咬合的齒輪,已經分別設計出齒輪的半徑,進行了咬合?,F在需要修改其中一個齒輪的半徑,如果只是簡單的分別繪制出兩個齒輪,其中一個改動后,另外一個也需要手動修改以保證齒輪咬合。一般的做法是將兩個齒輪關聯,一個改動后,另外一個自動修改以保證咬合。如果一個齒輪同時和多個齒輪相連,則涉及到多個同時關聯。
再考慮一種情況,在平面墻上繪制門和窗戶,當我們修改墻高度和寬度的時候,門和窗戶要隨動,比如我們加了約束(窗戶不能靠房頂,門底和地面平齊等等),隨動要滿足這種約束關系。
這就引申出幾何內核里的一項基本功能:約束設計求解器。
約束設計求解器在于給定各種約束情況下,求解類似剛體運動自由度方程,約束設計求解器常用于二維草圖繪制,零件在裝配體中定位,以及各種幾何外輪廓的繪制。
2. 三維實體建模,屬性計算
三維實體建模是幾何內核的基本功能?;趲缀翁卣鳎瑤缀蝺群诵枰峁┩暾膶嶓w表達。最常見的長方體,根據長寬高等參數建立起對應的數據結構。以BREP為例,一個長方體至少包含如下信息:
1個體,6個面,6個環(huán),12條邊,12條有向邊,8個頂點,8個頂點的坐標
這也是為什么專業(yè)軟件的幾何文件很小,而三維幾何模型文件大的原因。
除了長方體,圓柱,圓臺,圓環(huán),球,鍥形等各種基礎實體模型外,各種常用的建模方法也是必須的,常見的拉伸,掃掠,放樣,陣列,平移,縮放,矩陣變換,布爾運算,拆分。
創(chuàng)建的對象實體要提供邊長,面積,體積,包圍盒等基本信息。
3. 歷史系統
歷史系統主要用來跟蹤記錄幾何對象的變化信息。這些信息在參數建模和約束建模中要經常使用,是undo/redo機制的基礎,同時也是幾何模型質量的保證。
看幾個例子:
一步步設計好模型后,保存工程文件,關閉程序退出。再次打開工程文件,需要undo進行編輯
一個復雜的模型,執(zhí)行到某一步出現錯誤,整體模型壞掉,需要恢復到上一步模型完好的狀態(tài)
一個模型,需要進行一些修改才能拿到某些信息,但是并不希望對模型本身進行修改
以上需求都可以通過歷史系統來完成
4. 屬性系統
幾何對象一般不會單獨存在,幾何對象上會有很多屬性,比如顏色,顯示方式,材料,業(yè)務類型,參數。對于數值仿真,還會有各種邊界,荷載等信息。附加在幾何上的屬性系統也會涉及到增加,刪除,修改,以及隨幾何變動而變動,比如兩個不同屬性的幾何進行并運算,并之后新幾何上的屬性系統要有明確的設定。
5. 參數建模和約束建模
參數建模和約束建模都很好理解。底層需要有參數系統,基本功能包含參數表達,驅動更新,參數表達式計算,幾何對象參數管理,以及約束求解器等等。這些功能是CAD軟件幾何設計(Design)的基礎,而非Drawing
幾何拓撲,屬性系統,歷史系統,參數建模和約束建模構成了幾何內核底層管理的基礎。
6. 幾何離散化
幾何內核要提供幾何離散化功能,主要有兩個目的:1. 生成基本的三角面片信息供渲染使用;2. 提供更多參數控制的面片的生成,以滿足上層業(yè)務不同的需求。
7. 位置運算
位置運算提供各種幾何之間的位置信息計算,常見的線線,點線,線面,點面,面面,面體,線體等各個維度幾何的距離,相交,交點等信息。
通常位置運算需要大量使用計算幾何或數值計算方法,這也是幾何內核底層的基本功能之一
8. 布爾運算
布爾運算涉及到兩個對象之間的合并,減,公共基本操作。在基本操作上衍生出切分,投影,縫補等操作。布爾運算主要涉及到線線,面面,面線的求交和裁剪運算,后續(xù)詳細介紹。
布爾運算的準確性,穩(wěn)定性和性能是衡量一個幾何內核質量的重要標準
9. 特征識別和抑制
識別模型中的倒角,突出,凹陷,以及常用基本幾何實體,并對其進行編輯操作。
10. 外部數據交換
在實際工程中,通常使用的軟件和數據文件格式有多種,為了保證整體數據格式的統一,幾何內核需要提供與外部的數據的接口,即能導入和導出第三方的文件格式。這一塊和幾何內核沒有直接關系,技術上也沒有太多難度,主要問題是不同數據格式的接口兼容性問題,比如公差,數據表達轉換。
11. 與網格接口
這個在 深入理解數值計算網格(7)--幾何與網格 已經做過介紹,不多講。
12. 幾何清理修復
除非建立封閉的生態(tài)系統,否則這是幾何內核工程應用的一個基礎模塊。在建模工程中,因為種種原因導致模型出現問題,比如各種拓撲和幾何不滿足設定條件或者出現錯誤。這種錯誤會導致模型本身的分析,比如面積,體積計算出錯,還會導致仿真的網格劃分出現錯誤。
除了提供模型的拓撲幾何檢查外,還要提供基本的清理,修復以及必要的編輯功能。
很多時候CAD設計的模型即使沒有錯誤,也無法用來直接仿真,比如CAD設計中的小邊,小孔,倒角,印刻的字體,需要在劃分網格前對其進行刪除清理。
除了模型幾何對象本身的錯誤外,實際應用中還要進行諸如幾何對象之間的干涉檢測,自由對象,重復對象的檢測操作。這些功能可以在業(yè)務層實現,也可以在幾何內核中完成。
13. 圖形顯示接口
幾何內核本身是沒有圖形顯示系統的。換言之,幾何內核創(chuàng)建的數據無法直觀的表現出來。為了將幾何對象顯示,需要和外部的圖形顯示引擎合作。
通常的做法是將幾何對象離散化面片,然后送給圖形顯示引擎顯示。離散化的面片和幾何對象建立映射關系,以方便后續(xù)的操作。
14. 提供仿真所需的幾何功能
比如提供抽中面,供有限元分析中的殼單元使用;三維實體簡化成一維單元,供有限元分析中的桿,梁單元使用;處理非二維流體,以解決復合材料,流體,碰撞,接觸分析中的共形網格;提供高次曲面以滿足透平機械設計分析需求等等
15.腳本系統
提供腳本系統,便利上層應用的開發(fā)和調試
16.提供必要的調試工具
使用幾何內核出錯后,往往難以檢查和調試,提供必要的工具幫助發(fā)現和解決錯誤
17.支持高性能計算
提供工具方便上層應用使用多線程,多進程以及分布式計算
1. 企業(yè)項目承接、技術轉移、員工培養(yǎng)、定制培訓。提供中小制造業(yè)深度合作,一位工程師的成本支出,享受眾多領域全方面技術支持。各CAE仿真軟件銷售,服務器工作站搭建。
2. 疲勞專題、電池包專題、整車剛強度、前處理、NVH、ABAQUS、CCM、顯示動力學、約束系統等于上海、西安、秦皇島開設(具體時間協調確定),直指企業(yè)項目!離能做項目只差一場精品課程。
3. 針對企業(yè)、在職人員、學生、業(yè)外人員提供定制學習方案。你所擔心的學不好、不會做項目、不被企業(yè)認可,這里都可以解決。
4. 高校免費培訓,提供校內培訓??蛇x擇前處理、剛強度、疲勞。
5. 中小制造業(yè)免費技術咨詢與支持、免費做項目。
6. VIP學員、協議學員招生中,你的問題我們幫你解決,你的計劃我們幫你制定,你的職業(yè)我們幫你規(guī)劃,助力全方面發(fā)展。
7. 所有課程(含在線和現場項目精品課程)均可選擇自費、免費、帶補助學習。
8. 課程包含網絡及現場培訓課程(隨時可開),包含Hypermesh(ansa)整車前處理,剛強度,碰撞,約束系統,行人保護,二次開發(fā),疲勞,NVH,熱管理,Abaqus,Fluent,CCM,Workbench等等。
QQ :1171926630 微信:kt1171926630
座機:0335-8903355 電話:18010138523
更多動態(tài),請關注我們官方網站:www.mtechfea.com,歡迎大家前來交流或投稿。
CAE學習之家感謝您一直以來的支持, 謝謝!
*博客內容為網友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。
電容式觸摸屏相關文章:電容式觸摸屏原理