【CATIA參數化設計】如實時更新零件下幾個不同密度的幾何體的重心的位置?
大家好,今天分享一個非常重要的知識點。
在CATIA軟件中,我們可以很方便的測量零件或裝配體的重量,并求出他們的重心點。并且對于一個多幾何體的零件,我們也可以求出此零件下 某幾個 幾何體的重心點,只需要點擊"秤砣"測量重量命令,然后按住ctrl鍵依次選擇這些幾何體,然后點擊窗體下的創建幾何圖形按鈕。
這個時候出現如下[創建幾何圖形]對話窗體,我們可以發現[關聯的幾何圖形]這個選項是灰顯的,也就是說我們只能創建一個無關聯的重心點特征,這個被創建出來的點是隔離的,不帶參的(而當我們測量一個 單獨 的幾何體的重量的時候,[關聯的幾何圖形]這個選項不是灰顯的,此時我們可以更新body的形狀,并實時獲取他的重心點的位置)。
但是有的時候做設計,會有這樣一種情況:
在一個多幾何體的零件中,我們給每個幾何體賦予不同的材質密度,最后我們需要統計 其中幾個幾何體 的重量并求出其重心位置。但是呢,關鍵的是:求出重心點并不是我們的最終目標,我們的目標是通過調整這幾個幾何體的形狀(當然調整不是隨意的,是有界限的)來獲取一個合適的重心位置,使這幾個幾何體的重心點處于我們限定的一個理想區域內(如下圖)。
如果給定三個幾何體形狀的限定范圍,同時又給定重心點的變動范圍,諸如此類的問題,如果我們只是通過手動調整幾何體的外形,反復調試求解重心點位置來實現設計要求,會耗費很長時間,效率很低,解決這個問題,通常會用到CATIA知識工程的Optimization 優化設計模塊,這個功能會自動的給我們去執行在限定區域內調整x,y,z自變量,獲取f(x,y,z)因變量的功能,即f(x,y,z)的求解問題,但是較為復雜,會用的老鐵并不多,以上聽不懂可以略過。
零件下多幾何體重心點的快速求解,我們給出兩種方案,分別從二次開發與參數化設計的角度。
既然手動調整幾何體1,幾何體2,幾何體3的外形,然后用重量測量工具求出他們的重心點,將其重心點限定在一個特定區域,這個過程很繁瑣,需要反復操作來實現最終目的。所以我們不妨將這個連續性的動作用CATIA 二次開發代碼來快速實現,或者將求得的特征點的三坐標數值賦予關聯性的參數(即參數化設計)。
對于零件下多幾何體的情形,嗅覺比較靈敏的老鐵會發現,我們創建完了重心點之后,結構樹上存在的測量-慣性包絡體對象 卻是可以隨著幾何體外形調整不斷實時刷新的,而慣性包絡體下存在的測量參數Gx,Gy,Gz即為重心點三坐標數值,為我們實現參數化和二次開發提供了可能。
CATIA二次開發的方法:
我們可以通過CATIA二次開發代碼獲取到Gx,Gy,Gz這三個重心點坐標值,然后通過在hybridfactory片體工廠對象中創建點的方法AddNewPointCoord,來創建一個重心點,與此同時刪除之前的重心點,創建點的語句如下,二次開發的方法稍麻煩,這里只是給大家整理一種思路,學習而已。
Set CenterOfGravity= hybridShapeFactory.AddNewPointCoord(Gx,Gy,Gz)
CATIA參數化的方法:
參數化的方法更為簡單一些,也更為實用。既然對于多幾何體的情形只能創建無參的重心點,那我們在創建完畢之后就手動的給其賦予參數,并讓其與測量結果中的重心參數Gx,Gy,Gz相關聯。
雙擊被隔離的重心點,打開了點定義對話窗體,將點類型切換為[坐標],并在X,Y,Z右側的輸入框中右鍵單擊后,點擊編輯公式,打開公式編輯器,然后選擇測量里的Gx,Gy,Gz,最終點擊確定,就給斷參的點賦予了參數,并且與測量結果產生了link(都是參數化設計的基本步驟,不過多贅述)。
既然產生了link關系,那么后續我們再去調整這三個幾何體的外形,調整完畢,重心點的位置會直接發生實時的更新,這樣就方便很多。
整篇帖子內容很多,也說了很多廢話,主要目的就是想讓大家了解這樣的一種設計需求:多幾何體零件設計,限制零件的重心點在某一片區域。然后針對這種需求我們給出解決方案。
文章來源:catia小螞蟻
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















