Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Blenderのsoftwrapアドオンによるボリュームメッシュの作成
Search
inabower
May 15, 2021
Technology
1
690
Blenderのsoftwrapアドオンによるボリュームメッシュの作成
第84回オープンCAE勉強会の発表内容です。
Keyword:
・オープンCAE勉強会@関西
・Blender
・OpenFOAM
・SALOME
・ボリュームヘキサメッシュ
inabower
May 15, 2021
Tweet
Share
Other Decks in Technology
See All in Technology
マルチエージェントのチームビルディング_2025-10-25
shinoyamada
0
220
プレイドのユニークな技術とインターンのリアル
plaidtech
PRO
1
520
可観測性は開発環境から、開発環境にもオブザーバビリティ導入のススメ
layerx
PRO
4
1.9k
アウトプットから始めるOSSコントリビューション 〜eslint-plugin-vueの場合〜 #vuefes
bengo4com
3
1.9k
AIがコードを書いてくれるなら、新米エンジニアは何をする? / komekaigi2025
nkzn
7
2.6k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
150
20251027_マルチエージェントとは
almondo_event
1
480
激動の時代を爆速リチーミングで乗り越えろ
sansantech
PRO
1
180
20251027_findyさん_音声エージェントLT
almondo_event
2
500
【SORACOM UG Explorer 2025】さらなる10年へ ~ SORACOM MVC 発表
soracom
PRO
0
170
Raycast AI APIを使ってちょっと便利なAI拡張機能を作ってみた
kawamataryo
0
190
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
0
390
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
A Modern Web Designer's Workflow
chriscoyier
697
190k
BBQ
matthewcrist
89
9.9k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
640
Navigating Team Friction
lara
190
15k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Context Engineering - Making Every Token Count
addyosmani
8
310
Designing for humans not robots
tammielis
254
26k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Unsuck your backbone
ammeep
671
58k
Transcript
Blenderの softwrapアドオンによる ボリュームメッシュの作成 Inaba (Twitter:@public_inabower) 2021.5.15 第84回オープンCAE勉強会@関西(オンライン)
モチベーション: 複雑な形状の 綺麗なメッシュを 簡単に作りたい
Softwrapアドオン https://blendermarket.com/pro ducts/softwrap Blenderの有償アドイン($40) サーフェスメッシュの『リトポ (メッシュの張り直し)』に用 いられる
ストッキングを履くような操作 でメッシュを形状にフィットさ せる 2019 年10月頃に初リリース 操作に関するQiita記事: ZwrapとSoftWrapを比較し てみた (https://qiita.com/chiron amo/items/1f96cef818dd9 6626c66)
softwrapの操作感をデモ
サーフェスメッシュとボリュームメッ シュ CGは基本的にサーフェスメッシュ(面) 四角形のサーフェスメッシュは自動生成技術などがかなり完成されている CAEではボリュームメッシュを用いることが今は主流 六面体メッシュが良いとされることが多いが、六面体の自動生成はとても困難
六面体の自動生成は広く研究されていて、そのうち実現されると期待している 六面体に拘らずに精度を出す技術も研究されている あとメッシュフリーの手法(MPS,SPH,LBMなど)も進歩しまくっている
簡易形状のヘキサメッシュを作って 表面を複雑形状にフィットさせれば 複雑なヘキサメッシュが作れるのでは・・・?
全体のロードマップ
具体的な手順 SALOME 手切りヘキサメッシュを作成 OpenFOAM OpenFOAMの”writeMeshObj”で変 形予定面をobjファイルで出力
Blender Softwrapで張り合わせ 再びobjファイルを出力 OpenFOAM ”moveDynamicMesh”でメッシュ変 形 境界条件として、先ほどのobjファ イルから各点の移動量を使用
メッシュの作成と読み込み SALOMEでちまちまヘキサメッシュを手切り なるべく簡単に作って後から張り合わせたい unvファイルで出力 OpenFOAM形式に変換
ideasUnvToFoamで変換 SALOME 簡易CAD+メッシャ 応力解析ソルバーCodeAsterと連携できる https://www.salome-platform.org/ OpenFOAM 流体解析ライブラリ 基本的に本発表みたいな使い方はしない https://www.openfoam.com/
OpenFOAM : objファイルの出力 writeMeshToObj 形状をobjファイルで出力できる -patchFacesをつけると各patchご とのobjが生成される
foamMeshExportでもobjファイル を生成できるが、これだと全て のpatchが一つのファイルとして 出力されてしまう Blender側で点の増減を行うと、 変形後に読み直すのが困難にな るので注意
moveDynamicMesh / OpenFOAM OpenFOAMのメッシュ移動機能dynamicMeshだけを動かすソルバー 内部では弾性変形が解かれている 境界条件として変位を与えることで、メッシュの全点の変位が得られる
ただし有限体積法なのでちょっとなまる 今回はBlenderから持ってきたobjファイルを読み込んで、その各点の座標から 変位量を与えてあげる ※「使い慣れているから」という理由でOpenFOAMを使っただけなので、これが最 適解ではないと思われる(というか多分違う) 「Blenderでobjを変形してもノードの順番が変わらない」という性質を使えばもっ と効率的な方法はあるはず
境界条件 境界条件は自作 OpenFOAMでは”coded”という 機能で、C++で任意に境界条件 を記述できる 図のように、単にobjファイル を読み込んで、点座標を示す
行を読み込んでいる感じ Blenderの中で点の順番が変 わってなかったのでこれがで きた
Softwrapの基本操作 ビューポートの右上の小さな矢印でアドオン 画面が出てくる (※1) ピンでノードを固定する(※2) Shift +
左クリックでノードを選択 Gで移動 Snap to Faces で目的形状にピンを移動できる ので便利(※3) ピン周辺の剛性を変更 Sでピンの大きさ≒高速範囲を調整できる Individual Origins で全部のピンを一度に変化で きるので便利(※4) ※1 ※2 ※3 ※4 ①Shift+click ②G
softwrapの設定(触ってみた感じの解釈) ※間違ってるかもしれないです おそらく、内部では有限要素法で布の応力が計算されてる おそらく、メッシュの重複などのペナルティが内部応力として作用し、それを緩和す るような動作をしている 面の表裏に注意
設定項目 Stiffness : 元の形状に対する変化にペナルティ? Structural :形状変化、Shear : 歪み、Bending : 曲げ に厳しくなる Damping : 減衰量 下げるとガシガシ 上げるとちょっとずつ変形する Smoothing:変化後の形状に対してペナルティ? Smooth:ガタガタ表面、Quad:歪み四角形、Topologic:対象形状との差異 に厳しくなる Snapping:対象形状に張り付く力 0だと何もしない、いろいろ調整しながら1を目指す Plasticity, Performance:今回触らなかったので不明 今のモード 一度に掴むノード数 Softwrap演算の ステータス 元メッシュと 目的形状 ? 対称拘束 形状剛性 せん断剛性 曲げ剛性 減衰幅 平滑性 四角形 トポロジー 張り付き強さ 塑性? デフォルトだとビヨンビヨン動く もしかしたら変形を固定できるかも 多分演算の設定 どう結果に影響するかは分からなかったが 計算量は大きく変わるっぽい(PCファンの音で判断)
これを踏まえてなんかデモ
実行環境 OS:Windows10 Home 20H2 Blender 2.90 Softwrap-2.0.0-for-blender2.83-2.92-windows
SALOME platform 9.6.0 WSL : Ubuntu20.04 LTS OpenFOAM v2012 ParaView 5.9.0
ヘキサバニーチャレンジ Stanford bunnyのヘキサメッシュを作ってみたい 目的は特にない
検討の変遷 ①元メッシュは超単純形状 これでうまくいくならいいけ ど・・・ →ダメでした どんなに頑張っても張り付か
ない
検討の変遷 もうちょっと複雑な元 メッシュで →これもダメでした
検討の変遷 更に複雑な元メッシュ ここまでくると元メッ シュ作るのも一苦労 → 一応張り付いた
内部のメッシュの品質 は悪い Softwrapで加工する前 提の内部メッシュ構造 を作る必要がありそう
曲面には境界層を張る方がよさそう