目次
3DプリントのためのG-Codeの修正は、最初は難しくて混乱しそうですが、コツをつかむのはそれほど難しくありません。 CuraでG-Codeを修正する方法を学びたいなら、この記事はあなたのためのものです。
Curaは、3Dプリント愛好家の間で非常に人気のあるスライサーです。 Curaは、プレースホルダーを使用してGコードをカスタマイズする方法を提供します。 このプレースホルダーは、Gコードに定義した位置に挿入できるプリセットコマンドです。
G-Codeを完全に表示・編集するためには、サードパーティ製の様々なG-Codeエディタを使用することができます。
このガイドでは、Curaとサードパーティ製エディタの両方を使用して、G-Codeを作成、理解、修正する方法を説明します。
では、本題に入りましょう。
3DプリンターにおけるG-Codeとは?
Gコードは、プリンターの印刷機能をほぼすべて制御するためのコマンド群を含むプログラミング言語です。 押出速度、ファン速度、ヒートベッド温度、プリントヘッドの動きなどを制御します。
3DモデルのSTLファイルから、スライサーと呼ばれるプログラムを使って作成されます。 スライサーは、STLファイルを、印刷プロセスの各ポイントで何をすべきかをプリンターに伝えるコード行に変換しています。
すべての3DプリンターがGコードを使うのか?
3DプリンターはG-Codeを使用しています。 3Dモデルは主にSTLファイル(Stereolithography file)から作られます。 この3Dモデルをスライサーソフトウェアを通して、3Dプリンターが理解できるG-Codeファイルに変換しています。
Gコードの翻訳・理解はどうする?
G-Codeを編集する必要がない場合もありますが、プリンターのG-Codeプロファイルに記載されている印刷設定を変更する必要がある場合があります。
ここでは、G-Codeでよく使われる表記とその意味を説明します。
関連項目: シンプルなCreality Ender 3 S1 レビュー - 購入する価値があるのかないのか?プログラミング言語「Gコード」には、「Gコマンド」と「Mコマンド」という2種類のコマンドがあります。
では、その両方をご紹介しましょう:
Gコマンド
Gコマンドは、プリンターの各モードを制御します。 また、プリンターの各パーツの動きや向きを制御する際にも使用します。
典型的なGコマンドは次のようなものです:
11 G1 F90 X197.900 Y30.000 Z76.000 E12.90000 コメント
行ってみて、コマンドを説明しましょう:
- 11 - これは、実行中のコード行を示します。
- G - Gはその行がGコマンドであることを意味し、その後ろの数字はプリンターのモードを表しています。
- F - Fはプリンターの速度や送り速度です。 送り速度(mm/sまたはin/s)をその直後の数字に設定します。
- X / Y / Z - 座標系とその位置値を表すものです。
- E - Eは、フィーダーの移動に関するパラメータです
- セミコロンは通常、Gコードのコメントの前に付けます。 コメントは実行コードの一部ではありません。
つまり、12.900mmの材料を押し出しながら、90mm/sの速度で座標[197.900, 30.00, 76.00]に移動するように、このコード行はプリンターに指示するのです。
G1コマンドは、指定された送り速度でプリンターを直線的に動かすことを意味します。 他のさまざまなGコマンドについては、後で説明します。
ここでは、G-Codeのコマンドを視覚化し、テストすることができます。
Mコマンド
Mコマンドは、Gコマンドと異なり、Mで始まるコマンドで、センサー、ヒーター、ファン、プリンターの音など、プリンターのあらゆる雑多な機能を制御します。
Mコマンドを使って、これらのコンポーネントの機能を修正したり、切り替えたりすることができます。
典型的なMコマンドは次のようなものです:
11 M107 ; 部品冷却ファンをオフにする
12 M84 ; モーターを無効にする
その意味を読み解いていきましょう;
- 11, 12 - これらはコードの行で、参考としてください。
- M 107 , M 84 - プリンターの電源を落とすための典型的な印刷終了コマンドです。
CuraでG-Codeを編集する方法
先に述べたように、人気のあるUltimaker Curaスライサーは、ユーザー向けにいくつかのG-Code編集機能を提供しています。 ユーザーは、G-Codeの一部をカスタム仕様に微調整して最適化できます。
しかし、G-Codeの編集に入る前に、G-Codeの構造を理解しておくことが重要です。 G-Codeは、大きく3つのパートに分かれて構成されています。
初期化フェーズ
印刷を開始する前に、ベッドの予熱、ファンの起動、ホットエンドの位置調整など、一定の作業を行う必要があります。
これらのプリプリンティングは、G-Codeの初期化フェーズにあり、他のコードスニペットよりも前に実行されます。
初期化フェーズのコード例は以下の通りです:
G90 ; 機械を絶対モードにする
M82; 押し出し値を絶対値で解釈する
M106 S0; ファンの電源を入れ、回転数を0にする。
M140 S90です; ベッド温度を90℃に加熱する
M190 S90です; ベッド温度が90℃になるまで待つ
印刷段階
印刷フェーズでは、実際に3Dモデルを印刷します。 このセクションのGコードは、プリンターのホットエンドのレイヤーごとの動きや送り速度などを制御します。
G1 X96.622 Y100.679 F450; X-Y平面内の制御モーション
G1 X96.601 Y100.660 F450; X-Y平面内の制御モーション
G1 Z0.245 F500; チェンジレイヤー
G1 X96.581 Y100.641 F450; X-Y平面内の制御モーション
G1 X108.562 Y111.625 F450; X-Y平面内の制御モーション
関連項目: すべての3DプリンターがSTLファイルを使用するのですか?プリンターリセットフェーズ
3Dモデルの印刷終了後に引き継がれるGコードで、プリンターを初期状態に戻すための後始末の指示が含まれています。
プリンタ終了またはリセットGコードの例を以下に示します:
G28 ; ノズルを家に持ち込む
M104 S0 ; 暖房を切る
M140 S0 ベッドヒーターの電源を切る
M84 ; モータを無効にする
G-Codeのさまざまなフェーズやセクションがわかったところで、それらを編集する方法を見てみましょう。 他の多くのスライサーと同様に、Curaは3つの場所でしかG-Codeの編集をサポートしていません:
- プリント初期化時のプリント開始時。
- プリントリセットフェーズ中のプリント終了時。
- 印刷段階では、レイヤーチェンジの際に。
CuraでG-Codeを編集するためには、いくつかの手順を踏む必要があります。 では、その手順を説明します:
ステップ1: CuraはこちらのUltimakerのサイトからダウンロードしてください。
ステップ2: インストールして、すべての規約に同意して、セットアップする。
ステップ3: プリンターをプリンター一覧に追加します。
ステップ4: 印刷プロファイルを設定する際、推奨モードを選択するのではなく、カスタムモードを選択します。
ステップ5: G-CodeファイルをCuraにインポートします。
- 環境設定をクリック
- クリックプロフィール
- 次に、インポートをクリックすると、ファイルをインポートするためのウィンドウが表示されます
ステップ6: または、プリンターの設定から機械設定をクリックし、Gコードを手動で入力することもできます。
ステップ7: プリンターの設定には、エクストルーダーやプリントヘッドの設定など、さまざまなコンポーネントの開始・終了Gコードを変更するためのタブがあります。
プリントの初期化やリセットなど、さまざまな設定を変更することができます。 コマンドを編集したり、独自のコマンドを追加することも可能です。
次の章では、それらのコマンドのいくつかを見ていきます。
また、Curaのポストプロセッシングエクステンションを使用して、Gコードを修正することができます。 ここでは、その方法を説明します。
ステップ1 : Curaを開き、ファイルを読み込みます。
ステップ2: ツールバーの「拡張機能」タブをクリックします。
ステップ3: 拡張機能をクリックし、G-Codeを修正するをクリックします。
ステップ4 : 新しいポップアップウィンドウで、"Add scripts "をクリックします。
ステップ5: 高さで一時停止」「タイムラプス」などのメニューが表示されるので、これらのプリセットスクリプトを使用してGコードを修正することができます。
3DプリンターのGコードコマンドはどのようなものがあるのでしょうか?
G-Codeについて、そしてCuraでG-Codeを修正する方法についてすべて知っていただいたところで、使えるコマンドをいくつか紹介しましょう。
共通Gコマンド
G1 /G0 (リニアムーブ)です: G00は、ある座標から次の座標まで最大速度で移動することを指示し、G01は、次の点まで指定された速度で直線的に移動することを指示するものである。
G2/ G3(アークまたはサークルムーブ): G2は時計回り、G3は反時計回りの動きをさせる。
G28: このコマンドは、マシンをホームポジション(マシンゼロ)[0,0,0]に戻します。 また、マシンがゼロになるまでに通過する一連の中間点を指定することができます。
G90: すべての単位が絶対座標として解釈される、絶対モードに設定します。
G91: 現在の位置から数単位、あるいは数センチ単位で機械を移動させるものです。
共通Mコマンド
M104/109: どちらのコマンドも押出機加熱のコマンドで、どちらも、"A "を受け取ります。 S 引数で希望する温度を指定します。
のことです。 M104 コマンドは、押出機の加熱を開始し、すぐにコードの実行を再開します。 M109 は、他のコード行を実行する前に、押出機が目的の温度に達するまで待ちます。
M 140/ 190: これらのコマンドは、ベッドヒーティングコマンドであり、以下のコマンドと同じ構文になります。 M104/109
のことです。 M140 コマンドは、ベッドの加熱を開始し、すぐにコードの実行を再開します。 M190コマンド は、ベッドが希望の温度になるまで待ってから、他のコードを実行します。
M106: M106コマンドは、外部冷却ファンの回転数を設定します。 引数Sをとり、0(オフ)から255(フルパワー)までの範囲で設定します。
M82/83: これらのコマンドは、G90とG91がX軸、Y軸、Z軸の位置決めを設定するのと同じように、押出機をそれぞれ絶対モードと相対モードに設定することを意味します。
M18/84: ステッピングモーターを無効にすることができ、S(秒)単位のタイマー設定も可能です。 例:M18 S60 - 60秒でステッピングモーターを無効にすることを意味します。
M107: これにより、ファンの1つをオフにすることができ、インデックスが与えられていない場合、それは部品冷却ファンとなります。
M117: 画面全体にLCDメッセージをすぐに設定する。"M117 Hello World!"を表示するために。
M300: M300を使用し、Sパラメータ(周波数:Hz)、Pパラメータ(継続時間:ミリ秒)を指定して、3Dプリンターで曲を演奏するコマンドです。
M500: 3Dプリンターで入力した設定は、EEPROMファイルに保存して忘れないようにしましょう。
M501: EEPROMファイル内に保存されたすべての設定をロードします。
M502: ファクトリーリセット - 設定可能なすべての設定を工場出荷時の状態に戻します。 この後、M500も使用して保存する必要があります。
これらのコマンドは、豊富なG-Codeコマンドのほんの一例です。 RepRapだけでなく、すべてのG-Codeコマンドのリストは、MarlinFWで確認できます。
3Dプリントに最適な無料のGコードエディター
CuraはG-Codeの編集に最適ですが、それでも限界があります。 G-Codeの特定の領域を編集するのにしか使えません。
上級者の方で、G-Codeの編集や作業をより自由に行いたい場合は、G-Codeエディターの使用をお勧めします。
これらのエディタを使えば、G-Codeの様々な領域を読み込み、編集し、さらには視覚化する自由があります。 ここでは、最も人気のある無料のG-Codeエディタをいくつか紹介します。
メモ帳+α
Notepad++は、通常のテキストエディタをパワーアップさせたもので、G-Codeをはじめとするいくつかのファイルタイプの閲覧・編集が可能です。
メモ帳には、検索、検索と置換などの標準的な機能があり、Gコードの編集に役立ちます。 この簡単なガイドに従って、テキストのハイライトなどの追加機能を解除することもできます。
Notepad++は、市場で最も派手なG-Codeエディタではないかもしれませんが、迅速で使いやすく、軽量です。
NCビューア
NC viewerは、Notepad++が提供する以上のパワーと機能を求めるユーザーのためのものです。 テキストハイライトなどの強力なGコード編集ツールに加え、NC viewerはGコードを視覚化するためのインターフェースも提供します。
ただし、このソフトは3Dプリンターを想定して開発されたものではなく、CNCマシンを想定しているため、コマンドによってはうまく動作しないことがあります。
gCodeビューア
gCodeは、主に3Dプリンティングのために作られたオンラインG-Codeエディターです。 G-Codeの編集や視覚化のためのインターフェースを提供するだけでなく、ノズルサイズや材料などの情報も受け付けます。
これによって、様々なGコードに対して異なるコスト見積もりを生成して比較し、最適なバージョンを決定することができます。
最後に、G-Codeを編集する前に、変更を取り消す必要がある場合に備えて、元のG-Codeファイルをバックアップしておくことをお勧めします。
また、Gコマンドを使い始める前に、プリンターのキャリブレーションをきちんと行ってください。 編集をよろしくお願いします。