PHPプログラムで制御する3Dプリンタ入門

第3回 STLデータはどのように生成されるのか

この記事を読むのに必要な時間:およそ 2.5 分

次は底面です。底面は,凸多角形でしたら,何も工夫しなくても三角形に分割できます。たとえば,六角形の底面から連続する3点を選んで三角形を切り出すと,残りは五角形になります。これを繰り返すことで,すべてを三角形に分割することができます図10⁠。しかし,今回は「穴」のある底面を扱いますから,注意する必要があります。

図10 凸多角形の底面を三角形に分割する

図10 凸多角形の底面を三角形に分割する

まず,分割してはいけないパターンを整理しておきましょう。図11は穴のあいた底面の例です。この連載の第1回で取り上げたものです。

図11 穴のあいた底面

図11 穴のあいた底面

ここで,連続する3点となる三角形AEDを切り出して分割するのは構いませんが,三角形FGHを切り出すのはうまくありません。この三角形は「穴」の部分にあたり,何も出力されないはずのものだからです図12⁠。

図12 三角形FGHは穴の部分

図12 三角形FGHは穴の部分

また,連続した3点だからといって,三角形ABCを切り出すのもよくありません。この三角形の内部には,別の点があるため,そちらが属する三角形と重なってしまうからです図13⁠。

図13 三角形ABCは,中に他の点がある

図13 三角形ABCは,中に他の点がある

したがって,底面が多角形となる立体では,底面の頂点を順に見ていき,⁠連続した3点が反時計回りに並んでいること」⁠その3点で作る三角形の内部に,別の点がないこと」を確認します。OKならその3点を出力し,残った多角形について処理を続けます。

図14 アルゴリズムに従って切り出していく

図14 アルゴリズムに従って切り出していく

これ以外に必要な処理として,底面の法線ベクトルは下向き,上面の法線ベクトルは上向きにしなければならないので,底面は点の並びを逆順にします。

また,図11の線分AEでできるような,向きが反対の三角形どうしを相殺する処理を行います(連想配列で出現カウントを数えて実現しています⁠⁠。

3Dプリンタを選ぶポイント

ここまで,3Dプリンタ用のデータについてご紹介してきました。こうしたデータを揃えれば,1回目でご紹介したFabCafeなどでも出力できますが,実際に自分で3Dプリンタを購入したいと考えている方もいらっしゃるかも知れません。そこで最後に,筆者が3Dプリンタを購入したときに,どんな点を検討したかをご紹介しようと思います。

出力サイズ

まず,筆者の場合は,出力できる最大サイズが重要でした。というのは,複雑なプリント基板を発注する前に,組み立てできるかどうかを手元で確認したいと考えていたからです。たとえば写真4は,複雑な組み合わせ方をするプリント基板ですが,発注前に3Dプリンタでサンプルを作って穴位置を確認すれば安心できます。

また,うまくいけばケースのパネルを出力できたらと考えていました。このため,1つの軸だけでも,200mm出力できてほしいと考えていました。

写真4 複雑なプリント基板を3Dプリンタで確認する

写真4 複雑なプリント基板を3Dプリンタで確認する

形成素材

次に,出力できる素材です。このタイプの3Dプリンタでは,ABS樹脂とPLA樹脂が主流なのですが,両方に対応している方が望ましいと考えました。PLA樹脂は生分解性プラスチックなので,いろいろ不安があったのです。

ただ,実際に一度ABS樹脂を試して,前回書いた温度のトラブルを起こしてからは,ずっとPLA樹脂を使っているのが実情です。また,ヒーターベッドもあった方がいいと考えましたが,接着剤でベッドに固定する機種と比べて,一長一短かなとも思いました(FabCafeにある機種では,接着剤を使います⁠⁠。

積層ピッチ

積層ピッチが細かいと,出力の分解能が高くなり,細かい部分も出力できるようになります。その一方で,出力に時間がかかるようになります。筆者が使っている3Dプリンタでは,ノズル径0.5mm,積層ピッチは0.3mmですが,ソフトの設定を変更して0.5mmピッチで出力しています。荒くはなりますが,0.3mmピッチで2.5時間かかるものが,0.5mmピッチならおよそ1.5時間で済む計算になります。逆に,出力の滑らかさを重視するのであれば,ノズル径や積層ピッチは細かい方がいいということになります。ちなみに,筆者はノズルが詰まるという経験はないのですが,ノズル径が小さくなると詰まりやすくなるかも知れません。

制御ソフトウェア

制御ソフトについては,これは筆者のPC環境の事情ですが,Windows専用ではなく,Linuxで動くのが好ましいと考えていました(適当な空きPCがなかったのです⁠⁠。また,他の3Dプリンタの動きを見て,アルゴリズムを改善する余地があるとも思っていたので,将来,自分でアルゴリズムに手を入れられる方がいいとも思いました。

価格

価格については,どの程度のことができるか見てみる,という意図でしたので,オプション込みで10万円以下を条件にしました。こうして,納期3週間の組み立てキットが候補に残りました。出力サイズは200mm×200mm×140mm,ヒーターベッド付きです。

ちなみにキットの組み立てには丸2日かかりました。また,温度トラブルを経験してからは,モーターの発熱を抑えるために,基板のツマミ(半固定抵抗)を調整してモーター電流を半分程度にしました。

海外では3Dプリンタ関連は動きが早いようですので,筆者のときと状況が異なっているかも知れません。これらのポイントが,読者の方のご参考になれば幸いです。

著者プロフィール

木元峰之(きもとみねゆき)

独立系ソフトハウスに8年間勤務,パッケージソフトの開発や記事執筆などを行う。現在はフリーのコンサルタント。SWESTなどのワークショップで分科会のコーディネータを務める。デジタル回路設計歴30年,プログラミング歴27年。

きもと特急電子設計
URL:http://business.pa-i.org/