facebook

ハイブリッド・プリンティング

金属を挿入した状態で、プリントできないか?

3Dプリンタは、Fusion360などの高機能ながらお手軽なCADのお陰で、
家庭でもかなりの製品が作れるようになりました。
でも強度的には、やっぱり金属にはかなわないですね。
金属を挿入して、プリントできたら、もっと造形の幅が広がりそうです。
画鋲
たとえば、これ!画鋲です
これを、プリント中に挿入できれば、オリジナルの画鋲ができそうです。

プリント中に画鋲を紛れ込ますには?

 1.画鋲が挿入できるよう、画鋲形状が空洞になるような形状を考える
 2.挿入できるところまで、プリントが進んだら、プリントを一旦停止する
 3.画鋲挿入。ただし挿入後は水平になるか、プリントヘッドが干渉しないようになる事
 4.プリント復活
こんな感じでしょうか・・・
一番、肝なのは、プリントを一旦停止し、画鋲を挿入し、再度プリントをスタートできるかです。

プリントを一旦停止するには

 機種の仕様により違うかもしれませんが、私のプリンタ『Finder』には、
ディスプレイに「ポーズ」ボタンがあります。
ポーズ
プリント中にこのボタンを押すと、一旦プリントを中止して、ホームポジションへ退避します。
ポーズのボタンはスタートボタンに変わるので再度、「スタート」ボタンを押すと、
停止した位置へ戻り、プリントが再スタートします。
この仕様は、ほとんどの機種で同じではないか?と思いますし
この機能を使用すれば、今回やりたい事が実現できますね
ただ、どこで、このボタンを押すか?です。
プリント中に、画鋲を入れるタイミングを知る必要があります。
リアルタイムにZ軸の座標が表示される機種であれば、だいたいのタイミングを知ることができます
でも残念ながら、私の「Finder」は、座標は表示されていません。
プリント状態を、見張りながら、タイミングを計るしかないです。
ちょっと大変ですし、タイミングを間違えると、画鋲がうまく入らないかもしれません

G-Codeを編集する

G-Codeを編集して、一旦停止させ、画鋲挿入後、再スタートではどうでしょう?
これも機種によって、違うかもしれませんが、私の「Finder」では、「G-Code」で動作します
ただ、純粋な「G-Code」ではないようで、通常のテキストエディタで編集すると、動いてくれません
しょうがないので後述しますが専用スライサーの「FlashForge FlashPrint」が、
「G-Code」を編集しても読み込めるような編集ソフトを作成して対応しました
汎用スライサーが使用できる機種の場合は、スライス後の「G-Code」編集で対応できると思います。

一旦停止させる、G-Code指令

「M0」もしくは「M1」です。「M00」「M01」でも制御機は同じ指令と判断します。
3Dプリンタの「G-Code」の場合には、機種によって違いがありそうですが、
NC工作機械の場合には、ほぼどの機種でも同じ指令です。
「M0」と「M1」の違いは、「M0」は、このコードがあると無条件に機械は停止します。
次に、「スタート」ボタンを押すと、次の行から機械は再開します
「M1」の場合は、機械に用意されたスイッチによって、停止するか、無視するかを選択できます
今回の場合も、G-Codeで画鋲を挿入したい位置(Z座標位置)を探し、その前に
「M0」を追加すれば、いいと思っていました。
ところが、「Finder」は、思ったように動いてくれませんでした。
確かに、「M0」の行までくると、プリントを停止します。
ところが、再開用のスタートボタンが見当たらない・・・・
なにもしないと、ず~っと止まってます(~_~;)
「ポーズ」は液晶に出てるので押すと・・・
一旦ホームポジションに退避し表示は「スタート」ボタンに変更されますから
それを押すと、ストップ位置まで戻ります・・・
でもまたず~っと止まってます(~_~;)
う~ん、「M0」で停止はできましたが、結局次へ進める方法がみつかりませんでした。

液晶の「ポーズ」ボタンを押すタイミングが分かるようにする

タイミング時に「M0」で停止させるのでなく、分かるようにできれば液晶の「ポーズ」を使えそうです
分かるようにするには、そのタイミングに来たら、一旦ヘッドを上昇・退避させてはどうでしょうか?
ところで、タイミングとは何時か?
画鋲を入れた場合、頭の最上面の部分です。モデルでそのZ位置を確認すれば分かります。
再度「G-Code」でタイミング位置を探し、そのZ位置へ上がる手前をタイミングとして、
ヘッドを上昇・退避させ、ちょっと待たせるような指令をいれます
この機械動作で、タイミングが分かるので、液晶の「ポーズ」ボタンを押すことで一旦ホームへ戻ります
ここで、画鋲を挿入して、「スタート」で再開すればよさそうです。
どんなコードを使用するか?
移動するG-Code は、「G1」で、待たせるコードは、「G4」です
・「G1」で、とりあえず、Z軸を上部へ移動させ、X軸、Y軸を少し退避させ
・1分ほど、待たせます
・このタイミングを見計らい、液晶の「ポーズ」ボタンを押すことにします
具体的なコードは、

G1 Z50.0 F1800
G1 X50.0 Y50.0 F4800
G4 P60000

です。G-Codeの詳細はネットで沢山説明サイトがあると思いますので、興味あれば検索してみてください
そのうちにここに投稿するかも・・です
ちょっと補足すると、[G1]で指定座標へ直線で[F]のスピードで移動しろ!です
[G4]は次の[P]の時間だけ待ってろ!となります
「P1000」で1秒になりますから、「P60000」では、1分待機することになります

「FlashForge FlashPrint」の「G-Code」を編集する

汎用のスライサーが使用できる、プリンタの場合は、「G-Code」ファイルは
おそらく純粋なテキストファイルだと思うので、一般的なテキストエディタで編集可だと思います。
こんな機種をお持ちのかたは、タイミング位置に、上のコードを追加編集すればいいですね。
ところが、「FlashPrint」が出力するデータは基本的には、専用データになっています
拡張子は「.gx」のファイルですが、試しにテキストエディタに読み込んでみると
元データ
お~、一応読み込めましたが、上部の部分に文字化けが見られます。
ただ、下の部分には、普通の「G-Code」が確認できますから、試しに編集してみて
「FlashPrint」に読み込ませてみましたが、読み込みエラーになってしまいました
編集しなくても、一旦テキストエディタで読み込んで、再保存すると、もう使用できないファイルになるようです。
これは、たぶん、上部の文字化けの部分に、「FlashPrint」を専用化するためのコードが
書き込まれているのではないか?と想像しました。
さらに、この部分はテキストデータではなく、バイナリーデータとして扱う必要がありそうです
そこで、「FlashPrint」でも「G-Code」が編集できるようなソフトを作る事にしました
上部の専用部分のみ、バイナリ的な処理をさせ、下の「G-Code」部分はテキスト的処理をする事でどうにかなりそうです。
実は、もう一年近く前、今回と目的は違いますが「FlashPrint」へ、一般的なテキストデータを
ロードできるようにする、「FlashPrint」専用テキストエディタを作っていました。それが今回も利用できそうです。
もし興味あれば、こちらからダウンロードできます。
このソフトに、「FlashPrint」用データをドロップすると、編集が可能になります。
Nc_Data01

とりあえず完成!!

結構、バリが出ていましたけど、やすりで削り取って、どうにか完成!
完成
ちょっと長くなってしまったので、
次回、作成したモデルや、操作の状況など、紹介したいと思います。

最新情報をチェックしよう!