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
660
Blenderのsoftwrapアドオンによるボリュームメッシュの作成
第84回オープンCAE勉強会の発表内容です。
Keyword:
・オープンCAE勉強会@関西
・Blender
・OpenFOAM
・SALOME
・ボリュームヘキサメッシュ
inabower
May 15, 2021
Tweet
Share
Other Decks in Technology
See All in Technology
Clineを含めたAIエージェントを 大規模組織に導入し、投資対効果を考える / Introducing AI agents into your organization
i35_267
4
1.6k
PHP開発者のためのSOLID原則再入門 #phpcon / PHP Conference Japan 2025
shogogg
4
820
OpenHands🤲にContributeしてみた
kotauchisunsun
1
440
Кто отправит outbox? Валентин Удальцов, автор канала Пых
lamodatech
0
340
TechLION vol.41~MySQLユーザ会のほうから来ました / techlion41_mysql
sakaik
0
180
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
2
580
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
140
Navigation3でViewModelにデータを渡す方法
mikanichinose
0
220
セキュリティの民主化は何故必要なのか_AWS WAF 運用の 10 の苦悩から学ぶ
yoh
1
170
Snowflake Summit 2025全体振り返り / Snowflake Summit 2025 Overall Review
mtpooh
2
400
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3.2k
エンジニア向け技術スタック情報
kauche
1
260
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
140
7k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
What's in a price? How to price your products and services
michaelherold
246
12k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
Thoughts on Productivity
jonyablonski
69
4.7k
4 Signs Your Business is Dying
shpigford
184
22k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Building Adaptive Systems
keathley
43
2.6k
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で加工する前 提の内部メッシュ構造 を作る必要がありそう
曲面には境界層を張る方がよさそう