さつまろぐ

CAEとかプログラムとか、出来たことの記録など、誰かのお役に立てれば幸い。

Gmshでモデルを作る

ここではGmshを使った3Dモデルの作成を行います。

Gmshのインストール

公式HPへアクセスします。

https://gmsh.info/

Download の項目から各OSに対応したzipファイルをダウンロードします(執筆時点での最新版は 4.6.0 )。 Windows版では、ダウンロードしたzipファイルを展開し、お好みの場所に入れればインストール完了です。 個人的には管理者権限不要で使用できる点が非常に魅力的です。

起動と終了

アイコンをダブルクリックで起動します。

f:id:satsuma4801:20200907015355p:plain
アイコン

画面が表示されたら、右上の×印か、[File]-[Quit]で終了します。

f:id:satsuma4801:20200907015632p:plain
右上の×印か、[File]-[Quit]で終了

コマンドラインからの使用については別途書こうと思います。

モデルを作る

ファイルを作る

起動直後は 「untitled.geo」 というファイル名になっています。まずは[File]-[New]から新しいファイルを作ります。適当なファイル名を入れ、拡張子は「.geo」にしておきましょう。 保存しようとすると、カーネル選択のダイアログボックスが出てくるので、「OpenCASCADE」を選択します。

f:id:satsuma4801:20200909010640p:plain
OpenCASCADEを選択

「OpenCASCADE」はとりあえずおまじないと思っておけばよいでしょうか。この中身についてもいつか深堀りしていきたいと思います。

モデル構成要素

3Dのモデルを作っていきます。

モデルは、点(Point)、線(Curve)、面(Surface)、体積(Volume)の要素から構成されています。 下図の例では、8つの点、12の線、6つの面、1つの体積から構成されます。

f:id:satsuma4801:20200907020759p:plain
3Dモデル例:点、線、面、体積から成る

点を作る

[Modules]-[Geometry]-[Elementary entities]-[Add]-[Point] を選択すると、座標を入力するコンテキストが表示されるので、X, Y, Z の座標を入力し、「Add」ボタンを押します。

f:id:satsuma4801:20200908014138p:plain
Point入力画面

点が1つ追加されました。

f:id:satsuma4801:20200908041745p:plain
点の追加(中央)

「Prescribed mesh size at point」はメッシュを作る際の、メッシュの細かさに影響します。とりあえずデフォルトの数値にしておきます。

線を作る

点を2つ作成します。

f:id:satsuma4801:20200909013342p:plain
点を2つ作成

[Modules]-[Geometry]-[Elementary entities]-[Add]-[Line]を選択します。

f:id:satsuma4801:20200909012404p:plain
Lineを選択

線を引く2点をクリックで選択します。まず始点となる点を選択すると、点が赤くなります。次に終点を選択すると2点間に線ができます。

f:id:satsuma4801:20200909013759p:plain
始点を選択すると点が赤くなる
f:id:satsuma4801:20200909014045p:plain
終点を選択すると線ができる

続けて線を引く場合は、そのまま次の始点-終点を選択することで、連続して線を引くことができます。 点の選択を間違えた場合はキーボード「u」で取り消し、キーボード「q」で線の作成を終了します。

面を作る

線をつなげてループを作ります。下図の例では四角形ですが、どんな形でも構いません。この状態は枠のみであり、面はありません。

f:id:satsuma4801:20200909020239p:plain
線をつなげてループを作る。(中央の破線は軸の表示であり面の破線ではない)

[Modules]-[Geometry]-[Elementary entities]-[Add]-[Plane surface]を選択します。

f:id:satsuma4801:20200909020818p:plain
「Plane surface」を選択

面を作るループを選択します。線を選択すると赤くなるので、赤い線がループ状になるように選択します。(連続することが明らかな線は自動で選択(赤くなる)されます)

f:id:satsuma4801:20200909021336p:plain
赤い線がループになるように選択

キーボード「e」を押すとループ中央付近に交差する破線が現れます。これで面ができました。

f:id:satsuma4801:20200909021800p:plain
ループ中央付近に破線が現れ、面ができた。

キーボード「q」で終了します。

体積を作る

面を複数枚作成し、体積を作りたい形状の表面を作成します。まだ中身がないスカスカの状態です。

f:id:satsuma4801:20200909022904p:plain
形状の表面を作る

[Modules]-[Geometry]-[Elementary entities]-[Add]-[Volume]を選択します。

f:id:satsuma4801:20200909023242p:plain
Volumeを選択

表面が選択できるようになるので、表面の破線を選択します。選択された表面(の破線)は赤くなるので、体積を作りたい領域を囲むように表面を選択します。(表面が連続することが明らかな場合は自動で選択されます)

f:id:satsuma4801:20200910004007p:plain
表面を選択(赤)し、体積を作る領域を囲む

領域を囲んだらキーボード「e」で決定します。領域中心付近に黄色い丸が現れ、体積ができました。

f:id:satsuma4801:20200910004502p:plain
領域中心付近に黄色い丸が現れ、体積ができた

キーボード「q」で終了します。

表面(破線)や体積(黄色丸)が現れない場合

デフォルトの設定では、表面(破線)や体積(黄色丸)が表示されないかもしれません。その場合はオプションを変更します。[Tools]-[Options]を選択すると、オプション画面が表示されるので、 [Geometry]-[Visibility] を選択し、SurfacesやVolumesにチェックを入れます。オプション画面を閉じると表面や体積が表示されるようになります。

f:id:satsuma4801:20200910010327p:plain
オプション画面で表面や体積の表示を変更


以上が、Gmshのインストールから最低限の3Dモデル作成の流れとなります。複雑な形状では一つ一つ点を打ってはいられないので、BoxやCylinder、Extrude、Boolean、外部ファイルの読み込みなどを駆使することになります。それぞれの詳細は別途書いていこうと思います。

広告