FreeCAD Assembly動畫模擬簡介

先前給大家看的FreeCAD Assembly齒輪機構動畫都是用滑鼠左鍵點選零件拖拉產生。但這種做法動畫會顯示相關組合的局部座標圖示,既無法隱藏也相當礙眼。且若你想讓彼此間毫無關聯的多個零件同時移動,就無法用拖拉辦到。還好現在Assembly提供了模擬(Simulation)功能,可以製作更複雜的動畫。如下圖:

Drawing software:FreeCAD 1.1.2 Assembly

本篇用到的零件請參考前文[FreeCAD內建組合平台Assembly入門],組合時將底座滑軌接地(Grounded Joint),滑塊與底座滑軌溝槽設滑動組合(Slider Joint),圓柱銷1支與底座滑軌左端銷接孔設固定組合(Fixed Joint),連桿1支與圓柱銷的圓柱面設旋轉組合(Revolue Joint)。如下圖:

Drawing software:FreeCAD 1.1.2 Assembly

組合完成後,我們先在左邊Model視窗中點選組合(Joints)資料夾後按空白鍵(Spcae)或按滑鼠右鍵開啟選單選Toggle Visibulity將資料夾隱藏起來,組合的局部座標圖示就會消失。然後點選模擬(Simulation)圖示開啟動畫設定介面,如下圖:

Drawing software:FreeCAD 1.1.2 Assembly

點選移動(Motions)視窗右上角綠色十字按鈕,出現移動設定視窗如下圖:

Drawing software:FreeCAD 1.1.2 Assembly

設定移動時,先在可移動組合(Joint)選單選你要移動的組合,然後在移動方式(Motion Type)選單選擇移動方式(線性Linear、角度Angular),接下來在公式(Formula)欄輸入運動公式,完成後按OK即可建立該組合的移動設定。

經測試會出現在可移動組合選單的組合只有三種:滑動組合(Slider Joint)、旋轉組合(Revolue Joint)與圓柱組合(Cylindrical Joint)。其中只有圓柱組合的移動方式選單同時包含線性與角度選項,你可以針對單一圓柱組合分別設定線性移動與角度旋轉,該組合就會一邊滑動一邊轉動。滑動組合只能線性移動,旋轉組合只能角度旋轉。其他如距離、平行、垂直、夾角等組合無法建立移動,齒輪、齒條、螺旋等組合則是透過控制相關的旋轉組合來建立移動。

Formula欄內是以時間(time)為變數的公式,而該公式帶入時間秒數(sec)後求出的數值在線性移動時等於零件局部座標原點相對於組合座標原點在移動軸(Z軸)上的位置座標值,在角度旋轉時等於零件局部座標轉軸(Z軸)相對於組合座標轉軸(Z軸)的角度座標值。也就是說線性移動時Z = f(time),角度旋轉時θ= f(time)。

點選移動設定視窗的Help按鈕,會出現運動公式支援的語法,如下圖:

Drawing software:FreeCAD 1.1.2 Assembly

等速線性(Linear)公式用在移動or轉動時有不同的意涵,分述如下:

等速線性移動時,Z=C+VEL*time,其中:

Z = 移動件局部座標原點相對於組合局部座標原點沿Z軸方向的座標位置,單位mm。
C = 移動件局部座標原點在移動開始時相對於組合局部座標原點沿Z軸方向的座標位置,單位mm。
VEL = 線性移動速度,為一常數,單位mm/sec。
time = 時間,變數,單位sec (秒)

等角速度轉動時,θ=C+VEL*time,其中:

θ = 轉動件局部座標轉軸(Z軸)相對於組合局部座標轉軸(Z軸)的角度位置,單位rad(弳度)。
C = 轉動件局部座標轉軸(Z軸)在轉動開始時相對於組合局部座標轉軸(Z軸)的角度位置,單位rad(弳度)。
VEL = 轉動角速度,為一常數,單位rad/sec。
time = 時間,變數,單位sec (秒)

正圓角度 = 360度 = 2π弳度,故 1 rad = 360/(2*3.1415926) = 57.3度。

上圖Formula欄位的預設值5*time在滑動組合時,指滑動件會從組合局部座標原點(0,0,0)出發(因為C = 0),沿組合局部座標正Z軸方向(因為VEL為正值)以5 mm/sec的速度等速平移。在旋轉組合時,則指轉動件會從組合局部座標與轉動件局部座標完全重疊(X、Y、Z軸皆同軸,原點共點)處出發(因為C = 0),以左手拇指指向組合局部座標正Z軸方向,以左手其他四支手指指向為轉向(因為VEL為正值)以5 rad/sec的角速度等速旋轉。

很吐血吧?做個動畫也要導公式!但好處是只要你能把公式導出來,再怎麼複雜的運動它也可以做出來。你看看Linear下面還有多少語法,就知道只有想不到,沒有做不到……

本範例將滑動組合Slider001的公式設為20*time,旋轉組合Revolue001的公式設為1*time,如下圖:

Drawing software:FreeCAD 1.1.2 Assembly

公式設定按OK完成後,在模擬設定(Simulation Settings)欄位將開始時間(Start)設為0秒,結束時間(End)設為2秒,畫面切換間隔時間(Step)設為0.08秒,公差(Tolerance)沿用預設值不變,按產生(Generate)出現動畫播放器(Animation Player),如下圖:

Drawing software:FreeCAD 1.1.2 Assembly

把動畫設定調整到滿意後按OK完成,Model視窗下就會出現模擬(Simulations)資料夾,點開資料夾會發現裡面有剛才的動畫模擬設定(Simulation)。如下圖:

Drawing software:FreeCAD 1.1.2 Assembly

下次想播放動畫時,點開Simulation,剛才做的設定都會出現,直接按產生(Generate)就可以囉。

在此必須要客訴一項重大缺點:動畫播放器(Animation Player)居然沒有往復播放(pendulum)的功能。也就是說,你想做一個來回移動的動畫會非常困難。剛才的設定都是單向的,動畫播放到終點時會直接跳回起點再來一次。如果你想做去然後原路回來這種效果,只能透過推導運動公式來完成。阿伯用一元二次多項式幹過一次,確實辦得到,但再也不想幹第二次。FreeCAD官方若看到這篇文章,請行行好把往復播放功能加進來。畢竟外掛組合工作平台Assembly 4.1都有這功能了,應該不會太困難吧。

還有一些注意事項要提醒大家:本範例的組合各自獨立,可以分別設定移動各動各的。但若是運動互有關聯的機構,就不能有與機構動態抵觸的設定,否則會卡死不動或整個亂掉。還有設定互有關聯的機構動畫前,先用滑鼠左鍵點選機構各零件拖拉看看。有些零件拖拉起來卡卡的不太順暢,或根本拖不動,就表示該零件相關的組合不利於產生動畫。你應該選擇與最容易拉動機構的零件相關的Joint設定驅動產生動畫,成功率才高。

(FreeCAD 1.1.2版適用)

留言

這個網誌中的熱門文章

免AutoCAD!用FreeCAD TechDraw出工程圖

FreeCAD操作介面與設定指南

用FreeCAD進行圖片測繪