DfAM (Design for Additive Manufacturing)向け大型リリースについて

Nodiで大型のアップデートを行いました。

このアップデートは、DfAM (Design for Additive Manufacturing: 積層造形のための設計)向けに機能を大幅に拡張したものとなっています。 その中核となる機能が、新たに追加したImplicitモデリングです。

Implicitモデリングで作成した自転車のサドル形状
Implicitモデリングで作成した自転車のサドル形状

この機能追加により、以下のようなDfAM向けワークフローが新たに可能になりました。

  • TPMSなどのラティスによる構造を安定して生成
  • Boolean、厚み付け、フィレットの破綻を気にせず形状操作
  • 解析結果に基づいた内部構造・物性の制御

この記事では、新リリースで追加された機能と、今後の展望について紹介していきます。

Implicitモデリングの追加

従来のNodiでは、曲線・曲面・B-rep・Polygon Meshを用いたモデリングをサポートしてきましたが、AM(Additive Manufacturing)領域からの要望に応じ、Implicitモデリング機能を追加しました。 これにより、従来サポートしていたモデリング手法では実現が難しかった複雑な形状も表現できるようになりました。

Implicitモデリングの詳しい内容やメリットの解説、作例の紹介については別の記事を用意する予定です。

Implicitモデリングとは

Implicitモデリングとは、形状を 陰関数(Implicit Function) で表現する手法です。

従来の形状表現との違い

従来のPolygon MeshやB-repでは、頂点・エッジ・面といった要素を使って形状の境界(表面)を直接記述します。これを明示的(Explicit)な表現と呼びます。

一方、陰関数による表現では、形状の境界を直接記述するのではなく、「空間上の任意の点が、形状の内側にあるか外側にあるか」を判定する関数によって形状を定義します。これが暗黙的(Implicit)な表現です。

陰関数による形状表現の概念図
陰関数による形状表現の概念図

陰関数の具体例

例えば、半径rの球を陰関数で表現する場合、以下のような関数になります。

f(x,y,z)=x2+y2+z2r2f(x, y, z) = x^2 + y^2 + z^2 - r^2

この関数の値が

  • : 点は球の内側
  • 0: 点は球の表面上
  • : 点は球の外側

となります。このように、形状そのものを記述するのではなく、「ある点が形状に対してどこにあるか」を返す関数で形状を表現するのが陰関数表現です。

符号付き距離の概念図
符号付き距離の概念図

さらに、関数の値が境界からの符号付き距離を返すようにしたものをSigned Distance Function(SDF)1と呼び、Implicitモデリングではこの符号付き距離を用いることで様々な形状操作を実現しています。 (前述の例として挙げた球を表す陰関数も、表面からの符号付き距離を返すSigned Distance Functionとなっています)

この手法の大きなメリットは、複雑な形状を堅牢(Robust)に実現できることにあります。

  • TPMS2などのラティス構造が容易に作成可能
  • Boolean演算、フィレット、厚み付けといった操作がB-repと比べてはるかに安定して実現できる3

TPMSラティス構造の例
TPMSラティス構造の例

Robustなbooleanとfilletの例
Robustなbooleanとfilletの例

このような性質から、Implicitモデリングは、 DfAMで求められるラティス生成や内部構造設計、 さらには解析と連携した設計手法と、非常に相性の良いアプローチであると言えます。

DfAM(Design for Additive Manufacturing)におけるImplicitモデリングの価値

DfAM(Design for Additive Manufacturing) とは、Additive Manufacturing(積層造形)のポテンシャルや制約を考慮に入れた設計手法です。具体的には、以下のような要素を満たす設計を指します。

  • 構造化された形状設計 (中空・ラティス・チャネル等)
  • 連続的な厚み・密度・物性の制御
  • 解析結果に基づく形状
  • 印刷制約の内包

これらの要素を設計時に実現するためには、Implicitモデリングが非常に効果的です。

従来のB-repベースのモデリングではDfAMで要求されるような複雑な構造の生成が困難でしたが、Implicitモデリングでは容易に扱うことができます。

薄肉表面構造へのラティス適用による剛性向上の例

以下は、薄肉形状のドローン外殻に対して、 Implicitモデリングを用いて表面にラティスを生成し、 剛性を向上させた実例です。

ドローン外殻表面にラティスが生成されている様子
ドローン外殻表面にラティスが生成されている様子

ドローン形状を実際に印刷した様子
ドローン形状を実際に印刷した様子

薄肉なドローン外殻形状に対し、表面にラティス構造を付与することで、 重量増加を抑えつつ剛性を向上させた3Dプリントの実例です。4 薄肉シェル+複雑な表面構造の組み合わせでも、 Implicitモデリングでは破綻せずに安定して生成できます。

解析連携によるラティス充填と物性制御

今回のリリースにより、Nodiでは解析結果に基づいて内部構造をラティスで充填し、物性を制御するというDfAMのワークフローを実現できるようになりました。

腰椎インプラントのデモ
腰椎インプラントのデモ

このフローを用いることで、要求性能に応じて材料配置を最適化した形状を実現できます。 解析結果と形状を協調させる設計が、Nodiで可能になりました。

デスクトップ版の開発について

解析が絡むような重い計算や扱うデータ量の増大に対応するため、現在デスクトップ版の開発を進めています。

デスクトップ版では、Nodi上から直接解析の実行が可能になる予定です。

解析結果から粗密を制御したラティス充填のデモ
解析結果から粗密を制御したラティス充填のデモ

解析のためのセットアップと解析自体の実行をノードエディタ上で行うことで、 プロシージャルモデリングのワークフローに則って、効率的に解析を行うことができるようになります。

また、デスクトップ版ではWebブラウザの制約がなくなるため、以下のメリットが得られます。

  • より大規模な形状をより高速にモデリングできるようになる
  • ローカル環境でネットワーク不要の設計環境を実現できる

Webブラウザ上で動作するアプリケーションでは、どうしてもツールとして出せるパフォーマンスに限界がありますが、 デスクトップ版ではローカルマシンの計算リソースを余すところなく使うことができるため、 モデリングの効率を大幅に向上させることができます。

もちろん、これまで通りWebブラウザ版も同時に提供していきます。

デスクトップ版に興味がある方は、ぜひwaitlistにご登録ください。

デスクトップ版 waitlist登録はこちら

従来のモデリングとImplicitモデリングの併用

Implicitモデリングは、従来のB-repベースのモデリングでは破綻しやすい処理を、より堅牢に実現できるという利点があります。一方で、従来のモデリング手法を完全に置き換えられるわけではありません。 各手法にはそれぞれ得意・不得意があり、従来の手法でしか表現できない形状も存在します。

そこで有効なのが、両者を適切に併用するアプローチです。従来のモデリングで作成した形状をImplicit表現へ変換することで、形状設計そのものは従来手法の強みを活かしつつ、Boolean演算、厚み付け、ラティス生成といった処理はImplicitモデリングに任せる、といった使い分けが可能になります。

このように、目的に応じてモデリング手法を切り替えることで、設計の自由度と処理の堅牢性を両立できます。

従来のモデリングとImplicitモデリングの併用の例
従来のモデリングとImplicitモデリングの併用の例

その他の更新

Implicitモデリング以外にも多数の更新が行われており、例として以下のものを紹介します。

新しいノードの追加

多数の便利なノードを追加しました。特に、幾何データの書き出しのためのノードなど、実用的なワークフローをサポートするノードが充実しています。

Exportノードの例
Exportノードの例

UIの改善

UIもいくつか改善しています。その1つとして、ノードの入出力ポートに型のヒントを表示するようにしました。 各ポートが期待する型を色分けして表示することで、編集時にどのようなデータを接続すべきかが一目でわかるようになっています。

ノードの入出力ポートに型ヒントが表示されている様子
ノードの入出力ポートに型ヒントが表示されている様子

最後に

今回のアップデートでは、DfAM向けの設計を支える中核機能として、 ImplicitモデリングをNodiに追加しました。 今後も、DfAMに必要な機能を段階的に拡充しつつ、 実プロジェクトとの連携を通じて、より実践的なツールへと進化させていく予定です。

Nodiは、インストール不要でWebブラウザ上からすぐに試すことができます。 本記事で紹介したImplicitモデリングやノードベースのワークフローも、 以下のWeb版でそのまま体験可能です。

また、より大規模な形状や解析連携を想定したデスクトップ版も現在開発中です。 ご興味のある方は、以下のページからwaitlistにご登録ください。

ツールに対するフィードバックやご要望、コラボレーションのご相談などがありましたら、 ぜひお気軽にお寄せください。

Footnotes

  1. Signed Distance Functionの例はInigo Quilez氏のサイトhttps://iquilezles.org/articles/distfunctions/が参考になります。

  2. Triply Periodic Minimal Surface(3重周期的極小曲面)の略で、その名の通り3次元空間で周期的に繰り返し、かつ平均曲率がゼロ(極小曲面)となる連続した曲面構造を指します。DfAM視点で重要な性質を持ちます。

  3. B-repだと失敗するケースでImplicitモデリングが成功するケースについてはhttps://www.ntop.com/resources/blog/how-implicits-succeed-where-b-reps-failが参考になります。

  4. ドローンの造形例は、YOKOITO社の協力のもと、光造形方式(SLA)による3Dプリントで製作した実物です。