🔩

FreeCadを用いたSTLファイルのFEM解析

2024/01/14に公開

目的

iOSアプリ「Scaniverse」などで3Dスキャンした3DデータやBlenderなどで自作した.stlファイル(3Dデータ)をFreeCADでFEM(有限要素法,Finite Element Method)解析を行う.Windows10で実行する.

FEM解析の手順

FEMの手順をざっくり説明する.建築・土木が専門ではないため間違っていたり,細かい部分が曖昧なところがあります.ご容赦ください.
FEM解析は解析対象(3Dデータ)を小さい要素に分割し,節点(頂点)と要素(面,ポリゴン)を求める.基本的に四面体要素で分割することが多い.次に解析する物体の材料(素材)を設定する.これはポアソン比やヤング率などを設定することで設定することができる.次に拘束(固定)するところや荷重するところを設定し,解析を行う.詳しい計算は省略するが,フックの法則を元に計算を行う.

参考1:これだけ! 有限要素法
参考2:有限要素法入門
参考3:Pythonによる有限要素法 実装ノート

解析手順

FreeCadのダウンロード・ダウンロード

FreeCadのダウンロードページからWindows用の「FreeCAD-0.21.1-WIN-x64-installer-1.exe」をダウンロードする.ダウンロードしたexeファイルを実行してFreecadインストールする.特にこだわりがない場合はデフォルトでいいと思う.
(参考:[FreeCAD]ダウンロードとインストール方法)

.stlファイルの準備

今回のFEM解析は片持ち梁の解析を行う.そのためBlenderなど3Dデータ編集ソフトで直方体の3Dデータ(testfem.stl)を作成する.
解析を行う直方体3Dデータ
解析を行う直方体3Dデータ

FreeCadの起動・準備

画像のようなアイコンをクリックしてFreeCadを起動する.
FreeCadのアイコン
FreeCadのアイコン
起動後,ファイル > 新規(N) をクリックすると以下のような画像の画面になる.
初期画面
初期画面
また私はBlenderでのカメラ移動が慣れているため,マウスでの操作方法を変更する.変更方法は画面上で右クリック > ナビゲーションスタイル > Blender を選択する.
ナビゲーションスタイルの変更
ナビゲーションスタイルの変更

.stlのインポート

ファイル > インポート から先ほど作成した.stlファイル(testfem.stl)をインポートする.
.stlのインポート
.stlのインポート
インポート後画面
インポート後画面

3Dデータのソリッド化

インポートした3Dデータは表面のメッシュデータしかない.このままではFEM解析ができないので,FEM解析に適したモデル(ソリッドモデル)を作成していく.

シェイプの作成

まずはメッシュデータからシェイプを作成する必要がある.これはFEM解析に必要な物理的特性や詳細な形状情報をモデルに持たせるために行う.
まず画面上部のメニューにあるモードを「Part」に変更する.
Partモードに変更
Partモードに変更
次に「testfem」を選択した状態で,画面上部のパート > メッシュから形状を作成 を選択する.すると「メッシュからシェイプへ」というウィンドウがでるので「OK」をクリックすると「testfem001」という形状が作成される.「メッシュからシェイプへ」ウィンドウの「シェイプを縫い合わせ」は,ポリゴンの辺同士にすき間がある場合があり,設定した値以下のすき間を強制的に縫い合わせる機能である.
メッシュから形状を作成1
メッシュから形状を作成2
メッシュから形状を作成3
メッシュから形状を作成

参考:無償3D CAD「FreeCAD」でSTLデータのソリッド化に挑戦!

ソリッドモデルの作成

先ほど作成したシェイプからソリッドモデルを作成する.まず作成した「testfem001」シェイプを選択した状態で,画面上部のパート > ソリッドに変換 を選択する.すると「testfem001(Solid)」ソリッドモデルが作成される.
ソリッドに変換
ソリッドに変換
testfem001(Solid)の作成
testfem001(Solid)の作成

ソリッドモデルの高精度化

このままだとモデルに不要な線が入ってしまっているので,ソリッドモデルの高精度化を行う.まず作成した「testfem001(Solid)」ソリッドモデルを選択した状態で,画面上部のパート > コピーを作成 > 形状の高精度化 を選択すると「testfem001(Solid)001」が作成される.これでモデルの作成は完了だが,「testfem001(Solid)001」以外の不要なモデルはSpaceキーなどをおして非表示にしたり,削除したりするとよい.
形状の高精度化
形状の高精度化

FEM解析

前準備

FEM解析を行う前に準備を行う.まず画面上部のメニューにあるモードを「FEM」に変更する.

FEMモードに変更
次に「解析コンテナー」を追加する.

解析コンテナーの追加

要素分割

次に要素分割を行う.「testfem001(Solid)001」を選択した状態で,画面上部の「Netgenによる形状からのFEMメッシュ」を選択する.すると要素の細かさなどを設定できる画面がでるので,適切な数値にして「OK」を押すと要素分割ができる.基本的に数値を小さくすると精度が高い解析が出来るが,解析時間がかかる.今回は0.7に設定する.


要素サイズの設定

要素分割

材料定数設定

次に材料定数設定を行う.画面上部の「固定用材料」を選択する.すると材料などを設定できる画面がでるので,マテリアルカードを設定して「OK」を押すと要素分割ができる.


マテリアルカードを設定

固定拘束設定

次に固定拘束の設定を行う.これはオブジェクトのどこを固定するかを決める設定である.画面上部の「固定拘束」を選択する.すると固定する面や辺を設定できる画面がでるので,「追加」ボタンを押して固定したい面をクリックする.最後に「OK」を押すと設定完了できる.


固定拘束部分の設定

荷重設定

次に拘束力の設定を行う.これはオブジェクトのどこに力をかけるかを決める設定である.画面上部の「拘束力」を選択する.すると力をかける面や辺を設定できる画面がでるので,「追加」ボタンを押して固定したい辺をクリックする.次にどの方向へ力をかけるかを設定する.最後に「OK」を押すと設定完了できる.


力をかける辺の設定

力の方向の設定

解析

最後に解析を行う.「SolverCcxTools」を選択した状態で,「シルバー計算の実行」をクリックするとFEM解析が出来る.

解析結果表示

解析結果は「Pipeline_CCX_Results」をクリックして,表示したい結果を選択すると表示される.画像は変位の結果を示したものである.


変位の表示

最後に

大雑把にFreeCadを用いたFEM解析の手順を書いた.本記事は用語や説明は曖昧なので参考程度に.

参考:有限要素法 無料の3Dソフトで応力解析してみた 【FreeCADでFEM解析】

Discussion