Inventor中用函數來實現運動模擬

來源:文萃谷 4.49K

Inventor具有非常強大裝配功能,它的零部件運動模擬通常也是基於裝配約束的,這使得對於基於裝配約束的運動模擬,無論結構多複雜實現起來都非常容易(如連桿機構、傳動機構和擺輪機構等)。但是在實際工作中,我們遇到的很多運動模式(如一個物體按確定的二維或三維的軌跡運動;在自動加工流水線上工件、夾具和加工設備的協調動作等等),我們僅僅只用基於裝配約束的運動模擬就難以實現。

Inventor中用函數來實現運動模擬

如何來實現這種複雜的運動模擬?我們知道Inventor的裝配模型中每添加一個裝配約束,系統內部就會自動賦予一個變量,而且這個變量可以用Inventor的內部函數與其它變量建立關係,並在驅動約束主變量時實現聯動,這就為實現複雜的模擬運動帶來了可能。

在Inventor的變量中除了用“加減乘除”運算進行關聯外,還可以用SIN、COS等複雜函數建立相互間的關聯關係,在Inventor的幫助中可以找到這些函數的詳細説明。

下面我們就通過幾個實例來探討如何用Inventor的內部函數,來實現一些特殊而複雜的運動模擬問題。

  1、 二維正弦波型曲線運動

A. 這裏以小球為列,首先做一個直徑為5mm的球型零件,存盤後將其裝入一新建的部件文件()中。

B. 在部件瀏覽器中選中小球單擊右鍵,選擇取消固定。

C. 分別給小球中心和部件的基準座標的xy、yz和zx平面之間添加配合約束,之後選擇zx平面為觀察方向。

D. 接下來要將裝配約束變量進行關聯,我們選擇與yz平面的裝配約束為主動變量,而與xy平面的裝配約束變量用y=a sin(x)公式與主動變量相關聯。

圖1

E. 在裝配工具面板中選擇參數按鈕“
”,在參數設置對話框中進行設置,如圖1所示。如果與yz平面的裝配約束變量名為d1,與xy平面的裝配約束變量為d5,接着將d5的等式項中添加“100 mm * ( sin(d1 / 1 mm * 1 deg) )”的表達式,如圖2所示。

注意:100為振幅,“d1 / 1 mm * 1 deg”是為了將量綱mm轉換為deg,以確保量綱的正確性,否則就會出錯。

圖2

F. 如圖3所示,在瀏覽器中,選擇與XY平面的配合約束,在右鍵下拉菜單中選擇“驅動約束”,然後在“驅動約束對話框”中設置合適的終止值,點“
”按鈕,小球就會按正弦波型曲線運動。如果再將小球與ZX平面的裝配約束變量,也和驅動變量用表達式進行關聯,那麼就可以實現三維曲線軌跡的運動模擬。

圖3

  2、 三維軌跡的運動

A. 一滾輪沿圖示路徑勻速滾動,路徑的尺寸如圖4所示。

B. 首先按上面所給的尺寸用三維路徑掃掠做一個路徑軌跡模型。再做一個直徑為100mm的滾輪,為了能看清楚滾動可以打些孔。

圖4

C. 新建一部件,首先將路徑軌道模型裝入,讓其固定。然後裝人滾輪,在添加裝配約束之前,再新建一參考零件,用於驅動滾輪沿軌跡線移動。參考零件可以是空零件,也可以做一些如正方體和空等簡單的特徵,用定位和添加約束用。參考零件的形狀如圖5所示。

圖5

D. 將參考零件約束到圖6所示示位置,參考零件的軸線分別與圖中ZX平面重合、與YZ平面相距1000mm,底面與XY平面重合,然後再給參考零件添加一個驅動繞其中心軸線旋轉的對準角度裝配約束。以控制參考零件沿X軸、Z軸平動和繞其中心軸線旋轉。

圖6

E. 給滾輪與參考零件之間添加裝配約束,使滾輪約束到圖7所示的起點位置,讓其能跟着參考零件進行移動和旋轉。最後添加滾輪的滾動約束,即能使滾輪能繞其中心軸滾動的對準角度約束,可以是滾輪的YZ平面和參考零件的上平面,該約束可以作為驅動約束。

圖7

F. 約束添加完畢後,在參數對話框中可以看到所添加約束的參數值,為了便於區分,在備註欄中可以註明,也可更改參數名稱,如將驅動參數名改為“drive”。如圖8所示。

圖8

G. 將裝配約束與驅動變量關聯

在這裏要用到的一個函數是sign(expr),當expr<=0時返回0,當expr>0時則返回1。

首先設一個用户參數,將滾輪的滾動角度轉換為滾動距離:

L=3.1415926ul*100mm*drive/360deg(drive是模型中用於驅動的參數)

圖9

通過作圖可得到滾輪中心運動的軌跡,如圖9所示,將軌跡分為8段,每段的長度設為用户參數L1、L2、L3、……L8,未直接給出的長度尺寸可通過計算或直接在模型中測量得到。為了方便輸入和修改,以下所定義的用户參數,均先在Excel表格中建立,如圖10所示,通過鏈接到Inventor中:

圖10

用sign(expr)函數設8對用户參數P1A、P1B;…… P8A、P8B,如圖11所示,用於在軌跡上設置斷點,相當於一個時間軸,用於控制某段函數值的的開始或停止:

圖11

再分別設參數X1、Z1和turn_angle_1將滾輪的X向運動、Z向運動和轉動角度按其運動軌跡定義函數表達式如下:

X1的函數表達式:

L*P1A+L1*P1B+(L-L1-L2)*P2B*P3A+L3*P3B-(L-L1-L2-L3-L4)*P4B*P5A-P5B*L5-P5B*P6A*(L-L1-L2-L3-L4-L5)*800mm/L6-800mm*P6B-P6B*P7A*(L-L1-L2-L3-L4-L5-L6)-L7*P7B-1000mm

Z1的函數表達式:

50mm+(L-L1)*P1B*P2A+P2B*L2-P5B*P6A*(L-L1-L2-L3-L4-L5)*500mm/L6-500mm*P6B

轉動角度turn_angle_1的函數表達式:

P3B*P4A*( L1+L2+L3-L)*360deg/(2ul*3.1415926ul*500mm)-180deg*P4B+P7B*P8A*( L1+L2+L3+L4+L5+L6+L7-L)*360deg/(2ul*3.1415926ul*500mm)-180deg*P8B

注意:由於每個人所建的模型和所加的裝配約束不同,上述的函數表達式可能不同,需要進行必要的調整,另外還要確保函數表達式中量綱的正確。

以上參數均在Excel表格中設置,如圖12所示。

圖12

在Inventor的參數對話框中鏈接所建立的Excel表格(如圖13所示),再將X1、Z1和turn_angle_1代替相應模型的參數值(如圖14所示)。

圖13

圖14

參照圖15所示,將參考零件設為不可見,然後在瀏覽器中選中驅動變量,單擊鼠標右鍵選擇驅動約束後,在驅動約束對話框中將終止值設為6630,按“
”按鈕,滾輪就會按預定軌跡滾動,。

圖15

  3、 兩個以上零件的運動模擬

接下來我們討論兩個以上零件互不相同的運動,為了方便起見,在這裏採用在上一個例子基礎上再增加一個滾輪沿三維路徑作反向運動,如圖16所示。

A. 在這裏得再裝入一個滾輪和兩個參考零件,其中一個參考零件只添加角度對準約束作為主驅動變量,起到時間軸的作用,為兩個滾輪運動提供一個共同的位置基準,以此為基準再向兩個滾輪分別添加不同的運動函數表達式,從而使兩個滾輪分別按不同的軌跡或規律運動;另一個參考零件用於與第二個滾輪配合,實現反向運動。

圖16

B. 按圖17所示示要求給參考零件2和滾輪2添加裝配約束,方法與給參考零件1和滾輪1的添加裝配約束相同,最終將滾輪2約束到起點位置,使其能隨參考零件2移動或轉動,同時加上能使滾輪2繞自身軸線滾動的裝配約束。

圖17

C. 按滾輪2運動的規律,同樣用sign(expr)函數設8對用户參數RP1A、RP1B;…… RP8A、RP8B作為軌跡上的斷點,如圖18所示,打開所鏈接的'Excel表格,在該表格文件中添加。

D. 再分別設參數X2、Z2和turn_angle_2將滾輪2的X向運動、Z向運動和轉動角度按其運動軌跡定義函數表達式。

圖18

X2的函數表達式:

(L-L8)*RP1B*RP2A+L7*RP2B+RP2B*(L-L8-L7)*800mm/L6*RP3A+RP3B*800mm+RP3B*(L-L8-L7-L6)*RP4A+RP4B*L5-RP5B*RP6A*(L-L8-L7-L6-L5-L4)-RP6B*L3-RP7B*RP8A*(L-L8-L7-L6-L5-L4-L3-L2)-RP8B*L1

Z2的函數表達式:

RP2B*(L-L8-L7)*500mm/L6*RP3A+500mm*RP3B-RP6B*RP7A*(L-L8-L7-L6-L5-L4-L3)-RP7B*L2

轉動角度turn_angle_2的函數表達式:

RP1A*(180deg-( L8-L)*360deg/(2ul*3.1415926ul*500mm))+180deg*RP2B-RP4B*RP5A*( L8+L7+L6+L5-L)*360deg/(2ul*3.1415926ul*500mm)+180deg*RP5B

添加完X2、Z2和turn_angle_2參數後的Excel表格如圖19所示。

圖19

E. 添加完畢參數的Excel表格保存後,Inventor就會自動更新所鏈接的參數,如圖20所示。接下來在參數對話框中用X2、Z2、turn_angle_2參數替代相應模型參數的值,這裏還需要將主驅動參數名改為“drive”,並用“drive”替代滾輪1和滾輪2中用於滾動的驅動變量參數值,這樣滾輪1和滾輪2才能滾動,滾動方向可用“+、-”號來控制。更改完成後的模型參數如圖21所示。

圖20

圖21

F. 如圖22所示,將所有參考零件設為不可見,然後在瀏覽器中選中主驅動變量,驅動其約束,兩個滾輪就會按預定路徑軌跡,相反方向滾動,如圖23所示。

圖22

圖23

G. 利用主驅動變量提供的時間軸,可以連接驅動更多零部件的運動,設置零部件的先後、不同節拍的運動模式。用Inventor提供的其它內部函數,還能模擬更復雜的運動模式。

通過以上幾個列子,簡單地探討了在Inventor中用函數來實現運動模擬的方法,可以説在通用機械領域中,用Inventor提供的基於裝配約束的運動模擬和函數的方法,均能方便地模擬各種複雜的機械機構運動,這方面的實列還很多,在此只是起了個頭。歡迎各位讀者就此問題作進一步的探討和交流。

熱門標籤