GUIで制御可能なものを作ろうとしたのだが、GUIを作成するために、Windows Presentation Foundation (WPF) に手を出してしまったら、関連してお勉強しなければいけない項目が一気に増えていき、完成が遠のいてしまった。
ちょっと方針転換し、まずはスライサーソフトから出力されたデータを、自分好みの内容に変更して機器に出力する方を先に作ることにした。
作った機能は、前回作成したコンソールベースのものに付け足した。
ファイル更新機能の概要
Simplify3Dから出力されたGコードファイルに対して、機器側で出力可能なヘッダー・フッターの追加、Simplify3Dでのグローバルオフセット(Z軸のみ)、Z軸移動時の遊び除去のコマンドの追加、ブリム出力補正をパラメータファイルの指定で行えるようになっている。
ヘッダー・フッターの追加
今まで、Simplify3Dのスタートスクリプト・終了後スクリプトで出力していた内容を、このプログラムの中で行うようにした。
ここでは、FlashPrintにあった、筐体ファンコントロールのON/OFF、ステッピングモーターの電圧設定が行える様にしてある。
また、ベッド面へのノズルの移動速度や、出力後の退避位置までのノズル移動には、Simplify3D側のパラメータを踏襲するようにしている。
グローバルオフセット(Z軸のみ)
Simplify3Dのグローバルオフセットをこちら側で行えるようにした。
校正の状況により、グローバルオフセットの量を微調整したかったので、こちらで行うことにした。
Z軸移動時の遊び除去
Z軸の移動が、下から上に移動するとき、Z軸を少し上げて戻すというGコードを追加する。この時の移動即はSimplify3D側のパラメータを踏襲するようにしている。
将来的には、FlashPrint側のGコードファイルにも対応したいため、このプログラムでできるようにしてある。
ブリム出力補正
ブリム・スカート出力時のスピード、射出量を調整できるようにした。
ブリム(プリ射出)の速度や射出量は、FlashPrint側の設定のほうがよかったので、それに近づけることができるようにした。
利用方法
Simplify3Dで出力されるファイルの内容を、プログラムに合うようにする必要がある。それが、以下前提条件。これに、上記機能を利用するパラメータファイルを用意し、プログラムのjコマンドで出力する。
前提条件(Simplify3Dの設定)
ツール-ファームウェアの設定
ダウンロードファイルの中のparameter/FlashForge Adventurer3.frmをインポートして使う。ベースとしたDreamerとの違いは、以下の通り
- FFFタブ-エクストルーダ温度の安定化
M104 S0 T1 - FFFタブ-ベッド温度を設定
M140 S$ T# - FFFタブ-ベッド温度を安定化
空白
FFF設定
スクリプトタブのスタートスクリプトから終了後スクリプトのすべてを空白にする。
ポスト処理のための追加のターミナルコマンドは、以下のみとする。
{EXTENSION “g”}
パラメータファイル
拡張子をjsonとして、次のようなファイルを用意する。
サンプルのパラメータは、ダウンロードファイルの中のparameter/sample.jsonにある。
{
"enclosureFanOn":false,
"motorA":100,
"motorB":20,
"motorX":100,
"motorY":100,
"motorZ":40,
"playRemovalLength":0.5,
"offsetZ":-0.04,
"brimSpeedType":1,
"brimSpeed":600,
"brimSpeedRatio":100,
"brimExtrudeRatio":150
}
パラメータの内容は以下の通り。
- enclosureFanOn
筐体ファンの動作を指定する。trueでON、falseでOFF - motorA~motorZ
FlashPrint側のステッピングモーター電圧のこと
変更することはないと思う。 - playRemovalLength
遊び除去コマンドの、Z軸移動量。
0.0以上の値を設定すること。 - offsetZ
グローバルオフセットの量
0以下で、ノズルがした方向にオフセットされる。 - brimSpeedType
ブリムの移動速度の補正方法を選択する。
補正しない(0)、絶対値で指定する(1)、相対値で指定する(2) - brimSpeed
ブリムの移動速度の絶対値(mm/分) - brimSpeedRatio
ブリムの移動速度の相対値(パーセント)
150とすると、1.5倍の速度で出力する。 - brimExtrudeRatio
ブリムのフィラメント射出量(パーセント)
300とすると、通常の3倍の射出量になる。
出力方法
コンソール画面に>が表示されているときに、
jGコードファイル名□パラメータファイル名
と入力する。
例えば、以下の様に。
jtest1.g test1.json
これで機器側にファイルの転送が開始される。
最後に
一応、出力環境だけは整えることができたので、これからはどんどん出力していきたい。あと、さらなるプログラムの操作性改善をしていきたい。
コメント