如何用FreeCAD計算3D模型體積?
電腦輔助設計(computer aided design, CAD)最初只有2D,例如AutoCAD。3D CAD剛出現時,許多製圖高手覺得建3D模型再轉2D圖是脫褲子放屁。但因越來越多新功能2D CAD辦不到就是辦不到,3D CAD才有今天。其中有個功能不起眼但很重要,就是算體積(volume)。
體積為何重要?因為有體積,就能算重量(weight),而重量是非常關鍵的設計目標。舉凡交通工具、運動器材、筆電手機、槍砲武器等等等,都是越輕越好。想cost down?更要減重。設計超重這種事,不能等實物做出來才知道。
那麼,如何用FreeCAD計算3D模型體積?
阿伯眾裡尋他千百度,那人卻在燈火闌珊處。這功能躲在Spreadsheet工作平台的儲存格裏,你得像Excel般輸入指令才能算體積!夭壽吧……XD
唉,有總比沒有好。請先在Part Design工作平台建立一個長寬高都10mm的正方塊如下圖:
建立方塊是因為體積面積都好算。你可以自己算然後和FreeCAD的結果比較,不一樣就是你算錯……XD
接下來請參考前文[用FreeCAD在工程圖中輕鬆畫表格]進入Spreadsheet工作平台建立新表格,然後在A欄輸入標題如下圖:
標題是為了方便說明,非必要。本文買一送二,買體積送面積加質量中心。指令語法如下:
計算體積指令:
=<<實體名稱>>.Shape.Volume
計算面積指令:
=<<實體名稱>>.Shape.Area
計算質心
x座標指令:
=<<實體名稱>>.Shape.CenterOfMass.x
y座標指令:
=<<實體名稱>>.Shape.CenterOfMass.y
z座標指令:
=<<實體名稱>>.Shape.CenterOfMass.z
本範例只有一個實體,所以我們可以在B欄輸入簡化指令如下:
B1儲存格:=Body.Shape.Volume
B2儲存格:=Body.Shape.Area
B4儲存格:=Body.Shape.CenterOfMass.x
B5儲存格:=Body.Shape.CenterOfMass.y
B6儲存格:=Body.Shape.CenterOfMass.z
結果如下圖:
計算重量需要密度,我們在B8儲存格輸入鋼的密度7.8,然後在B9儲存格輸入公式如下:
=B1*B8/1000
結果如下圖:
回Part Design工作平台修改方塊尺寸、編修實體後,你會發現表單Spreadsheet儲存格的數值自動更新。若未自動更新,請點選手動更新如下圖:
如果你的檔案裏只有一個實體(Body),無論這實體叫什麼名子(Body1、實體1,或其他),你都可以用=Body.代表此一實體,也就是說=Body.Shape.Volume計算結果與=<<實體1>>.Shape.Volume完全一樣。但若檔案裏有2個(含)以上實體,=Body.就只代表第一個建立的實體,其他實體就必須以=<<實體名稱>>.起頭才能得到正確數值。只要你輸入的實體名稱正確,<<與>>符號程式會自動加上去,請嘗試看看。
誠心建議FreeCAD還是把計算體積、面積、質心、重量列入標準功能放在工具列。這麼重要的功能藏得這麼隱密,會趕走很多使用者喔。
(FreeCAD 1.1.0版適用)






謝謝你的指導與分享,關於物體的體積與重量可以使用巨集工具中的"FCinfo "自動產生,具有直接查詢功能喔。
回覆刪除