3Dプリンターを買ったのでプログラムで制御したい
公開日:
最近3Dプリンターを買いました。数万円で買えるものも増えてきたので個人でもだいぶ手が届きやすくなりましたよね。
私が買ったのはこれ。
http://amazon.co.jp/gp/product/B0C2XYKR5J
主に自作PCの中で使うパーツを自作したいという動機で買ったのですが、USBにスライスしたデータを入れて3Dプリンターに抜き差しなんてやりたくないのでリモートでなんとかできるやつを探してました。
会社に全く同じ3Dプリンターがあるのである程度理解が事前にあったのも大きい。
この3Dプリンター、イーサネットポートがあるのでいろいろ出来そうじゃないですか。
廉価版だとUSBメモリだけのやつもありますがこれはPro版なのでWi-Fiにも繋がるしイーサネットでも行ける。
で、実際にリモートでデータを送る方法がCreality Cloudというメーカーのクラウドサービス経由かHALOT BOXというメーカー独自のスライサーソフトで送信するかの2択なのですがこれが非常に微妙。
そもそもLANでイーサネット接続できるのになぜ一度インターネットに出なければならないのかということでクラウドサービスは嫌、独自スライサーソフトも使い勝手はそんなに良いわけではないので微妙だよねという。
じゃあどうするのよということで直接プリンターと通信するライブラリを作りました。
https://github.com/mrtska/HalotMageProSharp
例によってC#ですがIPアドレスとプリンターのパスワードを渡してあげればOKみたいな感じで作りました。
基本WebSocketで制御するようなのでリクエストを送ってイベント経由でレスポンスを受け取るようにしてます。
サンプル用に作ったGUIアプリでは結構いい感じに動いたのでNuGetにあげてます。
スライスしたファイルを送信して造形開始までこれでできるのでめっちゃ便利ですね。
これを使ってもっと見やすい便利なダッシュボードとか作っても良さそう。
どうやって通信仕様を特定したのかみたいな細かい話は別の記事で書こうと思います。
とりあえず、ライブラリが出来たよみたいな話でした。
タグ: Halot Mage Pro