Zenn
🙄

Houdini x 3Dprintのワークショップのまとめ①前提知識

2025/02/11に公開
1

1. はじめに

本ワークショップは、2024年9月7日〜9月23日に京都工芸繊維大で開催されたワークショップで開催されたワークショップ「プロシージャルデザイン×セラミック3Dプリンタ」釉薬と土、そしてお茶とお菓子と私 で講師をした際の教えた内容のまとめをしたものです。まずは、前提知識であるHoudiniとGコード、3Dプリンタについて説明します。
講師陣には、釉薬の専門家である潮桂子さん、代々続く陶芸家の諏訪蘇山さん、ファブリケーションに精通したDesign Labの井上智博さん、そしてHoudiniの世界的なYouTubeチャンネルを持つ堀川淳一郎さんが参加し、異なる専門領域のコラボレーションが実現しました。

▼ スケジュール(全6回)
・Week1|9/7(土) オンラインレクチャー(Houdini基礎)
・Week2|9/14(土)- 15(日) ワークショップ(Houdini、セラミック3Dプリンタ)
・Week3|9/21(土)- 22(日) ワークショップ(釉薬、フード3Dプリンタ)
・Week4|9/23(月) 講評・お茶会
https://fabcafe.com/jp/events/kyoto/2409_ceramic-3dprinter

デジタルデザインに触れたことがない初学者の方でも気軽にプロシージャルデザインを体験できる内容です。セラミック3Dプリンタで出力可能なデータを作成しながら、プロシージャルデザインの魅力を実感していただくことを目的に企画しました。

近年、3Dプリント技術の進化により多様なソフトウェアが登場する中、私たちはHoudiniを採用しました。HoudiniはVFX分野で広く利用されているソフトウェアですが、そのプロシージャルモデリングと高度なデータ処理能力を活かし、以下のような一連の機能を本ワークショップで行いました。

形状の生成:
ユーザーがパラメータや画像インプットなどを調整すると、リアルタイムに多彩な形状が生成されます。
形状の分析:
生成された形状から、オーバーハング、土の量、出力時間等を解析し、最適なデザインの調整を可能にします。
Gコードの出力:
セラミック3Dプリンタ用のデータとして、3Dプリンタの種類やノズル径などを入力し、適切なGコードを直接出力します。
初心者の方でも直感的に操作できるようシンプルなUIを設計、パラメータ操作による即時の形状変化で、ストレスなくプロシージャルデザインの魅力を体験いただける工夫を凝らしました。
実際にファイルは以下からダウンロードできます。
https://github.com/yishizu/HoudiniClay3DPrintWS

2.3Dプリンタの概要

3Dプリンタにはさまざまな種類があります。

3Dプリンターの主要な技術

FDM(Fused Deposition Modeling):

熱で溶かしたプラスチックを押し出して層を作成する方法。

SLA(Stereolithography):

液体樹脂を紫外線で固めることにより層を作成する方法。光造形方式

SLS(Selective Laser Sintering):

レーザーを使用して粉末状の材料を部分的に溶かし、固めることで層を作成する方法。

画像引用:https://www.3d-printer.jp/knowledge/classification/

Clay 3Dプリンタの特徴

Clay3Dプリンタは、材料特性と後処理が特徴になります。

柔軟性:

粘土(Clay)は可塑性が高く、成形後も柔らかいため、後加工が可能です。プリント後の乾燥や焼成が必要となる。

収縮:

乾燥や焼成に伴う収縮が発生するため、Gコードでのスケール調整が重要です。

乾燥と焼成:

プリント後の乾燥段階では、形状の保持やひび割れ防止のため、乾燥条件が重要です。焼成プロセスも考慮する必要があります。

材料準備:

粘土: 粘土の柔らかさが出力を成功させるためにとても重要

制作環境:

粘土: 水にアクセスでき、使用済みの水を処理できる場所が必要
焼き: 焼くための釜がや乾燥する場所が必要

3.データ作成から出力まで

一般的に、3Dプリント用データの作成から出力までのプロセスは、以下の3つのステップに分かれます。
3Dモデルの作成:
まず、目的に応じた3Dモデルを作成します。
Gコードの生成:
次に、スライサーと呼ばれる専用ソフトウェアを用いて、作成した3Dモデルをスライスし、プリントに必要なGコードを生成します。
出力:
最後に、生成されたGコードを3Dプリンタに読み込ませ、実際に出力を行います。
今回のワークショップでは、従来の3段階プロセスのうち、特にデータ作成とGコード生成の部分に着目しています。あえてスライサーを介さず、Houdiniから直接Gコードを出力することで、3Dプリンタの制御と表現の幅を広げる新たなアプローチに挑戦します。これにより、従来にはなかった柔軟で革新的な3Dプリント体験を提供することを目指しています。

4.Gコードの概要

Gコードとは、3DプリンターやCNC(コンピュータ数値制御)機械などが動作するための命令を記述したプログラムコードです。Gコードは、機械の動作を制御するための一連の指示を与える言語で、特にプリントヘッドや工具の位置、速度、動作の順序、材料の供給量などを細かく指定します。
今回のワークショップで使用するのはセラミック3Dプリンタで、以下のような要素がGコードの主要な内容となります。
初期設定:
各プリンタ固有の初期設定(例:ノズル温度、プリントベッドの状態など)を定義します。
出力時の指令:
プリントヘッドの移動経路、押出量、プリント速度など、実際の出力時に必要な命令が含まれます。
終了設定:
プリント完了時の処理(例:プリンタのリセットなど)を定義します。
なお、各3Dプリンタごとに固有の初期設定と終了設定は異なるものの、出力中の命令については共通の仕様を適用できる点が特徴です。

Gコードの基本構成

Gコードは、特定の機能や動作を指定するための命令が含まれています。以下はGコードの主な命令例です。

移動コマンド:

G0 (Rapid Move): 位置決めのための高速移動を指示します。通常、材料を押出さずにノズルを指定の位置まで動かします。
G1 (Linear Move): 材料を押出しながらノズルを直線的に動かす指示です。これがプリントや切削を行う際の主なコマンドです。
例: G1 X10 Y10 Z0.3 F1500
ノズルをX=10、Y=10、Z=0.3の位置に、速度1500mm/minで移動しながらプリントする。

押出の制御:

E値 (Extrusion): 押出機から出す材料の量を制御します。通常、G1コマンドと組み合わせて使用されます。
例: G1 X10 Y10 Z0.3 E1.5  ノズルを指定の位置に移動しながら、1.5mm³の材料を押出します。

移動速度の制御:

F値 (Feed Rate):
ノズルの移動速度を制御するパラメータです。セラミックプリントでは、ノズル径や粘土の硬さに応じて、速度を800〜1500 mm/minで調整します。
例: G1 X10 Y10 Z0.3 E1.5 F1200  ノズルが指定位置に、1200mm/minの速度で移動します。

5. Houdiniでデータ作成

Houdiniは、プロシージャルなアプローチでモデリングやデータ処理を行える点が大きな魅力です。以下に、Houdiniならではの特徴をいくつか挙げてみます。

ノードベースのワークフロー

Houdiniでは、すべての操作がノードとして視覚的に表現されます。Rhino/GrasshopperやRevitDynamoの場合、ビジュアルプログラミング上のジオメトリはソフトウェア上のジオメトリとは別物で、両者のデータのやり取りや「焼き込み」などの操作が必要ですが、Houdiniでは、ノードを設置した地点でその時点のジオメトリが生成され、すべてがプロシージャルに記録されます。
柔軟な改変と非破壊編集:
一度設定したパラメータやノードの組み合わせを、後からでも簡単に変更できるため、設計途中のフィードバックや試行錯誤が容易です。また、元のデータを保持しながら修正できる非破壊編集が可能なため、安心して作業を進められます。

大規模なデータへの対応

複雑な形状や大規模なデータ、特にセラミックプリント用のデータのように出力した粘土を描写したり、パスを作成するには大変効果的です。

リアルタイムなパラメータ変更:

スライダーやグラフを操作することで、モデルの形状が即座に変化し、視覚的なフィードバックが得られます。従来のツールでは大きなデータセットの更新に時間がかかることがありますが、Houdiniなら効率的に処理できます。

アトリビュートによるデータ管理

Houdiniには「アトリビュート」という概念があります。その他の多くのビジュアルプログラミングは、ジオメトリとデータを別々に扱い、リスト操作によって情報を組み合わせるのが特徴ですが、4段階のジオメトリそれぞれに属性を加えていくことができます。
GeometrySpreadSheetから、アトリビュートを確認できます。

多段階の情報管理:

Point、Vertex、Primitive、Detailの4段階で情報を保持できるため、各要素に対して細かなデータ操作が可能です。

VEX:

アトリビュートを元に、VEXを用いて並列処理で形状を生成することができ、独自のカスタム処理や自動化が実現できます。

次回の記事では、具体的なHoudiniコードを説明していきます。

1

Discussion

ログインするとコメントできます