LoginSignup
0
0

More than 5 years have passed since last update.

スライサー(FDM式3Dプリンタ向け)の作成 其の16(出力順番について)

Posted at

1.はじめに

 他投稿記事で3Dモデルをスライスし、構成ごとにノズルが移動する経路(パス)を算出できました。
 最後に、このパス情報を使い、G-Code化していきます。

  • ここでの説明には花瓶モード(Simplify3Dでのvase mode)は含まれません。1層毎に積層していくモードです。

2.G-Codeファイルの構成

 G-Codeファイルは以下のような構成になっています。

  1. 初期化
  2. 層毎の出力
  3. 後始末

 層毎の出力は以下のような構成になっています。

  1. Zの移動
  2. スカード/ブリム出力
  3. モデル(ターゲット/ラフト)出力 3-1. 外周 3-2. 内周 3-3. インフィル
  4. サポート出力 4-1. 通常サポート 4-2. 密集サポート

3.初期化/後始末

 G-Codeではヘッドの現在位置が不明です。(3Dプリンタ内部(ファームウェア)でも不明です。ファームウェアが指示を出した場所であるとの過程で制御されています)
 このため、最初にG28で全軸を初期位置へ移動させます。
 その後、ベッド温度の設定,ヘッド温度の設定,ユーザ指定の初期化コードなどを実行します。
 また、ファームウェアに対し、これから指定する座標系のモードなどを指定します。

 後始末としては、ベッドやヘッドを初期位置に戻したり、熱している箇所を冷却(加熱停止)したりします。

4.層毎の出力

 積層式ですので、第1層から順次出力します。
 スカート/ブリムは特性上最初に出力する対象です。
 次にラフトやターゲットモデルの外壁となるループを出力し、インフィルで塗りつぶします。
 サポートは最後に出力します。

5.G-Code化時の考慮点

5.1 パス

 ヘッドの移動などは、基本G1を利用します。
 G1を指定で現在位置から指定位置に移動します。
 モデルなどの出力対象の場合、Eパラメータを付けると、移動経路を移動中、所定の長さのフィラメントを押し出すことになります。
 Eパラメータが無い場合は、フィラメントの押し出しをせずにヘッド/ベッドが移動します。
 また、場所によりFパラメータを与え速度を変更することも可能です。

  • 現状は未実施ですが、場所に応じて、”ゆっくり”や”早く”することが、出力品質に影響すると考えています。(”ブリッジ部分は早く”など)

5.2 単位系

 座標は[mm]単位のようです。
 速度は[mm/分]のようです。私はこの単位が分かりにくいので、パラメータファイルの速度は[mm/s]としています。
 このためG-Code化のときに変換しています。

5.3 フィラメントの量

この点については、各種議論されているようです。
**
 ノズルの吐出部分は基本円形状です。
 ですが、吐出後は、ベッドや、オブジェクトの上に0.1~0.3[mm]の高さで押し付けています。
 このため、出力後の断面は円形では無く、長方形+左右に半円をつけた楕円のような形ではないか?などの議論です。
**

キャプチャ.JPG

例:長方形と考えるの場合
 ノズル径=0.4[mm]
 積層高さ=0.3[mm]
 フィラメント径=1.75[mm]
 G-Code
  G1 X0 Y0
  G1 X10 Y0 E?
の場合、X方向へ10[mm]の長さの線となります。

 幅はノズル径,高さは積層高さですので、出力する体積として、10x0.4x0.3=1.2[mm^3]となります。
 この体積に相当するフィラメントの押出量を逆算します。
 フィラメントの断面積は、円の面積から約2.4[mm^2]ですので、1.2[mm^3]の体積を出力するには 0.5[mm] 押し出せば良いことになります。
 この値に、ユーザ指定のパラメータの押出率を適用してG-Code化しています。

 本ソフトでは現状、まだ実験段階ですが、スライス時に「基準となるノズル径で線を出力する」や「細く(0.4[mm]ノズル径に対し0.2[mm]幅)する」などの付加情報も算出するようにし、条件に応じて3種類の断面を分けています。
 1つ目は、標準的場合(0.4[mm]ノズル径で0.3[mm]高さ)の場合、長方形+円となる断面。
 2つ目は、ノズル径のままの円(高さがノズル径以上ある場合は、そのままの形状としてる)
 3つ目は、指定幅と積層高さの長方形(左右が出力済の物体があり幅0.2[mm]の溝を埋めるなどの場合)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0