Pixel2Lines

サービス
写真をSVG線画に変換
写真をSVG線画に変換
写真をSVGレーザー彫刻用データに変換
写真をSVGレーザー彫刻用データに変換
写真をSVGシェイプに変換
写真をSVGシェイプに変換
写真をイラスト化
写真をイラスト化
平面図変換
平面図変換
刺繍データ化
刺繍データ化
写真の背景を除去
写真の背景を除去
画像アップスケーラー
画像アップスケーラー
デザイングリッド
デザイングリッド
ギャラリー料金SVGエディターワークスペース
  1. ホーム/
  2. ガイドとリソース/
  3. CNC・レーザー・プロッターのためのGコード完全ガイド

Gコード完全ガイド: 初級から実務レベルまで

Gコードとは何か、機械がどう使うのか、そしてSVGやラスタ画像からペンプロッター、レーザー彫刻機、3Dプリンター、CNCミル向けの実機用ファイルへつなぐ制作フロー全体を解説します。

Gコードとは?

Gコード(Geometric Code)は、CNC機械を動かすためのプレーンテキスト言語です。一般的には `.gcode`、`.nc`、`.cnc` などの拡張子を持ち、機械をどこへ動かすか、どの速度で動かすか、いつツールを有効化するかを上から順に指示します。

設計データを設計図、Gコードをナビゲーションと考えるとわかりやすいです。3DプリンターはJPGをそのまま処理できませんし、ペンプロッターも文字の「A」がどんな形かを自動では理解しません。Gコードは、あらゆる形状を直線、円弧、ツールのオンオフといった基本動作に分解し、どのモーションコントローラーでも実行できる形へ置き換えます。

この規格は1950年代のMITに起源があり、1963年にRS-274として整理され、1982年にはISO 6983として国際規格化されました。古い仕組みでありながら、現在でも趣味用デスクトップ機から産業用5軸加工機まで、加工現場の共通言語であり続けています。

座標と各種命令が並んだGコードのテキストファイルをエディタで開いた状態
Gコードはプレーンテキストです。各行が、機械が順番に実行する1つの正確な命令になっています。
紙の上に詳細なベクターアートを描いているペンプロッター。Gコードの物理的な出力結果を示す写真
最終的な物理結果。テキスト命令が正確な機械動作へ変換されています。

Gコードはどこで使われるのか

  • ペンプロッター(AxiDraw、HP 7475A、DIY GRBL機など): 紙の上で実際のペンを動かし、ベクターアートを再現します。アーティストやメイカーにとって、Gコードへ入門しやすい代表例です。
  • レーザー彫刻機・レーザーカッター: 出力を変えながらビームを制御し、木材への彫刻やアクリル切断を行います。
  • FDM 3Dプリンター(Prusa、Creality、Bambu Labなど): X/Y/Z方向にヘッドを動かしつつフィラメントを送り、層を積み重ねて造形します。
  • CNCルーター・CNCミル: 回転工具を材料に対して動かし、彫り込み、ポケット加工、外形切削を行います。
  • CNC旋盤、プラズマ切断機、ウォータージェット、ワイヤー放電加工機なども、Gコードまたはその派生言語を使います。

Gコードファイルの構造

1行(ブロック)ごとに1つの完結した命令になります。機械は行をまたいで状態を保持するため、たとえば10行目で指定した送り速度は、変更しない限り200行目でも有効です。これをモーダル状態と呼びます。

以下は50×50mmの四角形を描くペンプロッター用プログラムです。

G21 ; 単位はミリメートル

G90 ; 絶対座標指定

G0 Z5.0 ; ペンを上げる

G0 X0 Y0 ; 原点へ移動

M3 S1000 ; ペンダウン

G1 X50.0 Y0 F2000

G1 X50.0 Y50.0

G1 X0 Y50.0

G1 X0 Y0

M5 ; ペンアップ

M2 ; 終了

`G1 X50.0 Y25.3 F1500` を分解すると、`G1` は直線描画、`X50.0 Y25.3` は移動先座標、`F1500` は1500mm/分の送り速度です。`G1` が一度しか書かれていない点にも注目してください。次の行では、`G0` や別の動作命令が現れるまで、自動的に同じ動作モードが引き継がれます。セミコロン以降はコメントで、機械は無視します。

1行のGコードに含まれるG命令、XYZ座標、送り速度F、出力Sを矢印付きで示した図解
Gコード1行の構造。G命令が動作種別を決め、座標が到達点を示し、Fが速度、Sが出力を指定します。

押さえておきたい基本命令

以下の命令は、趣味用途のGRBLから産業用Fanucまで、ほぼすべての主要ファームウェアで使われます。

  • G0: 高速移動。機械が許す範囲で最速移動します。レーザーや主軸が有効なまま使ってはいけません。
  • G1: 直線移動。設定された送り速度(F)で直線を描く、または切削します。CNC系作業の基本命令です。
  • G2 / G3: 時計回り / 反時計回りの円弧。I/J中心オフセットやR半径を使い、1命令で滑らかな曲線を作れます。多数のG1分割線を置き換えられます。
  • G4: 一時停止。指定時間だけ待機します。注意点として、Pの単位はファームウェアで異なり、GRBLは秒(`G4 P1.5` = 1.5秒)、Marlinはミリ秒(`G4 P1500` = 1.5秒)です。
  • G20 / G21: 単位をインチ / ミリメートルに設定します。各ファイルの冒頭で必ず明示するべきです。
  • G28: 各軸をホーム位置へ戻します。挙動はファームウェアごとに異なるため、使用前に確認が必要です。
  • G90 / G91: 絶対座標 / 相対座標指定です。通常はG90が基本で、G91では現在位置からの相対移動になります。
  • G92: 実際には動かさず、現在位置を原点として再定義します。途中で作業原点を設定したいときに使います。
  • M3 S[value]: ツールオン。レーザー照射、主軸回転、ペンサーボ降下などを開始します。Sは出力、回転数、サーボ角度を表します。
  • M5: ツールオフ。高速移動の前には必ず入れるべき命令です。
  • M104 / M109: ホットエンド温度設定(3Dプリント)。M109は設定温度に達するまで待機します。
  • M140 / M190: ベッド温度設定(3Dプリント)。M190は到達まで待機するため、印刷開始前によく使われます。
  • F: 送り速度(mm/分)。モーダルなので、変更するまで有効です。
  • S: 出力または回転速度。GRBLレーザーでは通常0〜1000、CNCでは主軸RPM、ペン機ではサーボ角度などに使われます。
  • E: 押出量(3Dプリント専用)。
  • I, J: 現在位置から見た円弧中心のオフセットで、G2/G3と組み合わせて使います。
G4待機: 秒とミリ秒を取り違えない

GRBLでは秒単位なので `G4 P1.5` は1.5秒停止です。Marlinではミリ秒単位なので、同じ1.5秒停止は `G4 P1500` になります。単位を間違えると、ほぼ止まらないか、逆に数分止まることもあります。必ず使用中のファームウェア仕様を確認してください。

アンカーポイントを表示した状態でInkscape上に開かれたSVGパス
入力データ: クリーンなベクターパスを持つSVG。各パス区間がGコードの移動命令へ変換されます。
設計ソフトからCAM、Gコード生成、機械実行までの流れを示した図
制作パイプライン: 設計 → CAM / 変換 → Gコード → ファームウェア → 実機動作。

ワークフロー1: ペンプロッター

  1. 1

    ベクターソフトで設計する

    プロッターが理解できるのはパスだけで、ピクセル画像、塗り、テキストのままでは扱えません。Inkscape、Illustrator、Affinity DesignerなどでSVGのストロークパスを作成し、文字はアウトライン化します。塗り、ビットマップ、視覚効果は変換時に無視されるため、事前に取り除いておきます。

  2. 2

    SVGを最適化する

    重複パスは統合し、ノードが密集しすぎた箇所は簡略化します。ペンが同じ線を二度なぞる事態を防ぐためです。さらに、後のDPI換算トラブルを避けるため、ドキュメント寸法はピクセルではなくミリ単位で設定します。

  3. 3

    Gコードへ変換する

    コンバーターは各パスをG1移動へ変換し、離れたストローク間にはM3/M5のペン上下命令を挿入します。特に重要なのがパス順序の最適化です。並びが悪いと、ペンが紙面全体を何度も無駄に往復してしまいます。最近傍ソートを使えば、密度の高い作品で移動時間を50%以上削減できることもあります。

  4. 4

    送信ソフトで実機へ送る

    Universal Gcode Sender(UGS)やbCNCを使って、GRBLファームウェアへファイルをストリーミング送信します。送信ソフトは行単位で命令を送り、GRBLがそれをステッパーモーターのパルスへ変換します。

ワークフロー2: レーザー彫刻機 / レーザーカッター

  1. 1

    ベクターかラスターかを選ぶ

    ベクターモードは一定出力でパスをなぞり、外形切断や線彫刻に向いています。ラスターはプリンターのように往復走査しながらピクセルごとに出力を変えるため、写真や濃淡入りの塗りに向いています。1つのジョブ内でレイヤーを分ければ両方のモードを併用できます。

  2. 2

    レーザー設定込みでGコードを生成する

    LightBurnやLaserGRBLは、レーザーをオンにする `M3 S[value]` と、停止する `M5` を出力します。ラスターでは各G1行ごとにS値が変化し、グレースケールを再現します。この動作には、GRBLがレーザーモードで構成されている必要があります。これにより速度変化時の補正が調整され、出力応答が素早くなります。

  3. 3

    端材で先にテストする

    必要な出力と速度は材質によって大きく変わります。本番前に、必ず同じ素材の端材で小さなパワー・スピードテストを行ってください。

レーザーとCNCの安全対策

レーザーでは、使用波長に合った保護メガネを着用してください(CO2は10,600nm、ダイオード機は約450nmで、必要な保護具は異なります)。換気も必須です。ほとんどの素材は加工時に有害な煙を出します。稼働中のレーザーから目を離してはいけません。CNCでは、主軸を回す前に必ずワークを固定してください。固定不足の材料は高速で飛ばされる危険があります。作業前に非常停止の位置と操作方法を把握しておくことが前提です。

ワークフロー3: 3Dプリント

  1. 1

    モデリングしてSTLまたはSTEPを書き出す

    Fusion 360、Blender、FreeCADなどで設計します。STLは標準的な交換形式で、STEPは工業部品向けにより正確な形状情報を保持できます。

  2. 2

    スライスして層に分解する

    PrusaSlicer、Cura、Bambu Studioなどのスライサーは、モデルを0.1〜0.3mm程度の水平層に分割し、ツールパス、サポート、インフィル、ブリッジを計算します。典型的な命令は `G1 X42.5 Y88.3 E0.0234 F4500` のような形で、ヘッドを動かしながら0.0234mm分のフィラメントを押し出します。印刷開始前には、ノズルとベッドを加熱するためのM109やM190も挿入されます。

  3. 3

    SDカードやネットワークで実行する

    Marlin、Klipper、RepRapFirmwareがファイルを実行します。Klipperは計算の一部をRaspberry Pi(ラズベリーパイ)側へオフロードし、入力シェーピング(Input Shaping)にも対応しています。加速度センサーでフレーム共振を計測し、動作命令から振動成分を抑えることで、リンギングを減らしながら高速印刷を可能にします。

ワークフロー4: CNC加工

  1. 1

    CADでモデルを作る

    Fusion 360、SolidWorks、FreeCADなどを使います。機械加工部品では0.01〜0.05mm程度の公差が求められることも多く、モデル精度がそのまま部品品質に直結します。

  2. 2

    CAMでツールパスを設定する

    Fusion 360 CAM、VCarve、MastercamなどのCAMでは、使用工具、切削戦略(アダプティブ、輪郭、ポケットなど)、切り込み深さ、主軸回転数、送り速度を設定します。目的は、工具を破損させたり材料を焼いたりせず、効率よく加工することです。

  3. 3

    コントローラー向けにポスト処理する

    産業用CNCは、Fanuc、Siemens Sinumerik、Heidenhain、Haasなど、それぞれ独自の方言を持っています。CAM内のポストプロセッサーが、汎用ツールパスをその機械専用の構文へ変換します。誤ったポストを使うと不良品になるだけでなく、機械がワークへ衝突し、工具破損や安全事故につながる恐れがあります。

SVGからGコードへ: 実際に起きていること

SVGパスにはベジェ曲線、円弧、直線が含まれます。一方、G1が描けるのは直線だけなので、コンバーターはこの差を埋める必要があります。

1つ目の方法はファセット化です。曲線を細かな直線群へ分割します。滑らかな曲線ほど分割数が増えるため、ファイルは大きくなり、機械のコマンドバッファが追いつかないと動作がカクつくことがあります。

より賢いのがアークフィッティングです。短い直線群が実質的に円弧を構成していると判断できれば、それらを1つのG2またはG3命令へ置き換えます。たとえば360行のG1で表現された円も、1行の円弧命令にまとめられます。ファイルは最大90%程度縮小し、動きも非常に滑らかになります。ただし、すべてのGRBLビルドがG2/G3に対応しているわけではないため、事前確認が必要です。

多数のG1分割線と1つのG2円弧命令で表現した曲線を比較する図
同じ円でも、左は360本のG1分割線、右は1つのG2命令です。アークフィッティングはファイルを小さくし、動きを滑らかにします。
SVGのDPI設定が違うと出力サイズもずれる

Illustratorは72 DPI、Inkscapeの旧版(v0.92以前)は90 DPI、現在の多くのツールは96 DPIを使います。コンバーターが96 DPI前提なのに、元ファイルがIllustrator由来なら、寸法は約33%大きくなります。100mmの形状が133mmで出てしまう計算です。対策は、コンバーターのDPI設定を元アプリに合わせるか、最初からSVGドキュメント寸法をミリ単位で定義して、DPI依存をなくすことです。

Gコードの方言: 1つのファイルがすべての機械で使えない理由

基本的な移動命令(G0、G1、G2、G3)は広く共通していますが、それ以外の起動シーケンス、ツール交換、コメント記法などはファームウェア系統ごとに異なります。業務用CNCで別系統向けのGコードをそのまま流すと、結果が狂うだけでなく、ワークへ急突入する危険もあります。

  • GRBL: ホビー向けペンプロッター、レーザー彫刻機、小型CNCルーターで定番のファームウェア。Arduino系で、各種コンバーターやCAMから広くサポートされています。
  • Marlin: FDM 3Dプリンターで主流のファームウェア。標準動作命令に加え、押出制御、温度管理、ベッドレベリングなどに対応します。
  • Klipper: Raspberry Pi(ラズベリーパイ)上で動く現代的な3Dプリンターファームウェア。入力シェーピング(Input Shaping)や高速印刷に強みがあります。
  • Smoothieware: 中価格帯のレーザー機やCNC向け32bit ARMファームウェア。Arduino系GRBLより計算余力があります。
  • Fanuc: 世界的に広く使われる産業用CNCコントローラー。固定サイクル(G81〜G89)やマクロ機能を備えます。
  • Siemens Sinumerik / Heidenhain / Haas: 欧州・米国系の産業用コントローラーで、それぞれ独自の方言があります。Fanuc向けポストはSinumerikではそのまま正しく動きません。

写真を描画可能なパスへ変換する

写真にはピクセルしかなく、パス情報は含まれていません。プロッター描画やベクター彫刻に使うには、まずSVGへ変換する必要があります。代表的なアプローチは次のとおりです。

  • ラインアート化: 被写体の輪郭や構造線をSVGパスとして抽出します。ロゴ、ポートレート、輪郭のはっきりしたイラストに向いています。
  • ハッチング / クロスハッチング: 明るさを線密度へ変換し、暗い部分ほど線を密に配置します。版画やエングレービングのような表情が得られ、プロットとの相性も良好です。
  • スティップリング: 明るさを点密度へ変換します。各点は短いペンタッチやレーザーの短時間照射に相当し、点描に近い表現になります。
  • コンターマッピング: 明るさを地形の高さのように扱い、輝度しきい値ごとに等高線状のラインを生成します。流れるような有機的な表現になります。
  • アルゴリズム系スタイル(Voronoi、Flow Field、Wave Patternなど): 明るさで変調した数理パターンを使い、抽象的でありながら元画像を感じ取れる機械描画を作ります。
自然光、階調差、写真らしいディテールを含む元写真
入力: ラスタ写真。ピクセル情報のみで、そのままでは描画できません。
写真から生成されたクリーンなベクターストロークのSVG線画
出力: クリーンなSVGパス。Gコード変換と実機描画にそのまま使えます。

完全な流れ: 写真 → SVG → Gコード

Pixel2Linesは、写真をペンプロッターやレーザー彫刻向けの制作スタイルで、クリーンな実機対応SVGへ変換します。ラインドローイング、ハッチング、スティップリングなどに対応し、出力パスは個別ストロークとして整理されるため、ペンアップ回数や移動距離を抑えやすくなります。

SVGができたら、SVG to G-Codeコンバーターで最終ファイルを生成します。送り速度、ペンアップ高さ、レーザー出力、パス順序まで細かく制御できます。

この二段階フロー、つまり Pixel2Lines で写真をSVGへ変換し、その後コンバーターでGコード化する流れを使えば、ベクターデザインやGコードの専門知識がなくても、写真から実機用ファイルまで到達できます。

ラスタ写真からPixel2LinesによるSVG変換、Gコード化、実機実行までの全体フロー図
全体パイプライン: 写真 → SVG(Pixel2Lines)→ Gコード(コンバーター)→ 実機。

実行前チェックリスト

  • 先にシミュレーションする。NCViewer(ブラウザ、無料)やCAMotics(デスクトップ、無料)でツールパス全体を表示し、サイズ違い、ペンアップ漏れ、意図しない高速移動を確認します。
  • 単位を確認する。`G20`(インチ)または `G21`(ミリ)が想定寸法と一致している必要があります。
  • 作業原点を設定する。機械をホームし、`G92` やWCSオフセットを正しく置きます。
  • Zクリアランスを確認する。ペンアップ高さやレーザーオフ時の高さが、ワークやクランプを確実にかわす必要があります。
  • 重複パスがないか確認する。各輪郭は1回だけであるべきで、重複は二重焼けや二重切断につながります。
  • 送り速度を見直す。速すぎるとステップ抜け、遅すぎると時間の浪費になります。
  • G4待機の単位を確認する。GRBLは秒、Marlinはミリ秒です。
  • 安全高さでドライランする。加工範囲全体が機械の有効エリア内に収まるか確認します。
  • 端材でテストする。レーザーとCNCでは、本番と同じ素材の端材で必ず試してから本番へ進みます。

よくある問題と対処法

  • 描画が左右反転する: SVGではY軸が下方向に増えますが、Gコードでは上方向へ増えることがあります。コンバーターでY軸反転を有効にします。
  • 出力サイズが違う: DPI不一致が原因です。Illustratorは72、旧Inkscapeは90、現在の多くのツールは96です。元アプリに合わせるか、SVG寸法をミリ指定にします。
  • 曲線部分で機械がカクつく: 細かすぎる分割線が多く、モーションバッファがあふれています。アークフィッティングを有効にし、線形化許容値を見直すか、送り速度を下げます。
  • ペンが上がらず引きずる: `M5` が抜けているか、Zクリアランスが低すぎて物理的に紙から離れていません。
  • 予想以上に時間がかかる: パス順序が悪い可能性があります。Gコード再生成前に `vpype` などで再ソートします。
  • 開始位置がずれる: 作業原点未設定です。再ホームし、開始位置へジョグ移動してから `G92 X0 Y0` を実行します。

Gコードは手書きできますか?

はい。単純な形状であれば学習用途として非常に有効です。ただし、複雑な案件ではCAMソフトや専用コンバーターを使うのが現実的です。

Gコードはどの機械でも同じですか?

基本動作命令はかなり共通していますが、起動シーケンス、ツール交換、拡張機能は大きく異なります。GRBL向けのGコードをFanucのミルで動かすには大幅な調整が必要になることがあり、産業機械で方言を間違えると衝突事故にもつながります。

GRBLとは何ですか?

GRBLはArduinoクラスのマイコンで動くオープンソースCNCファームウェアです。ホビー向けペンプロッター、自作レーザー彫刻機、小型CNCルーターで広く使われています。RS-274系の基本命令に加え、加速度対応のモーションプランナーと先読みバッファを備えています。

ペンプロットでは、どのくらいの送り速度を使えばよいですか?

目安として、ボールペンは5000〜8000 mm/分、フェルトペンや筆ペンは2000〜4000 mm/分、万年筆やガラスペンは1500〜3000 mm/分です。実際には紙質や筆圧、ペン先状態で変わるため、必ず試し書きで調整してください。

Gコードで移動中のレーザー出力を連続制御できますか?

はい。GRBLのレーザーモードでは、各G1行ごとにS値を変化させられるため、1回の走査の中で滑らかなグレースケール表現ができます。

GコードとHPGLの違いは何ですか?

HPGL(Hewlett-Packard Graphics Language)は、1970〜90年代のHPプロッターで使われていた言語です。`PU`(ペンアップ)、`PD`(ペンダウン)、`PA`(絶対描画)といった2文字命令を使い、単位もミリやインチではなく1mmあたり40単位の独自スケールです。現在の多くのプロッターツールは両方の形式を扱えます。

実行前にGコードをシミュレーションするには?

最も手早いのは NCViewer(ncviewer.com)で、ファイルを貼り付けるだけでツールパスを即表示できます。CAMoticsはCNC向けに3D切削シミュレーションが可能です。Universal Gcode Senderにもパスプレビューがあります。画面上の確認だけで終わらせず、最後は安全高さでのドライランも行ってください。

関連ガイド

ペンプロッターの仕組み

ペンプロッターの機構、モーション制御、速度・精度・線品質を左右する実務機能を解説します。

ペンプロッティング向けSVG最適化

ノード削減、パス統合、レイヤー構造、書き出し設定など、最良のプロッター出力に向けたSVG準備を解説します。

写真をSVG線画に変換する方法

写真をCNC、レーザー、カッティング、ペンプロット向けの制作対応SVG線画へ変換する手順を解説します。

ペンプロッターで行うハッチングとクロスハッチング

グレースケール画像からハッチングパターンを作る方法を解説。濃度マッピング、角度変化、クロスハッチングがテーマです。

写真やSVGをGコードへ変換する

写真をアップロードしてPixel2LinesでクリーンなSVGを作成し、そのまま実機向けGコードへつなげられます。ペンプロッター、レーザー彫刻機、CNC機械に対応します。

写真を変換する

まずSVGを整えたり計測したいですか?

ブラウザで無料のSVGエディターを開けば、アップロードなしでスケール確認、パス整理、制作対応ファイルとしての書き出しができます。

コメント

コメントを書くには、ログインまたはアカウント作成を行ってください。

ログインまたは新規登録

コメントを読み込み中...

ワークフローサービス


  • 写真をSVG線画に変換ベクター
  • 写真をSVGレーザー彫刻用データに変換ベクター
  • 写真の背景を除去ラスター
  • 写真をSVGシェイプに変換ベクター
  • 写真を刺繍データ化ベクター
  • 写真をイラスト化ラスター
  • 写真をデザイングリッド化ラスター
  • ギャラリー
  • 料金
  • 私たちについて
  • 技術
  • カスタム開発
  • お問い合わせ・サポート

変換ツール


  • ファイルコンバーター
  • JPGをPNGに変換
  • JPGをWEBPに変換
  • JPGをAVIFに変換
  • JPGをICOに変換
  • PNGをJPGに変換
  • PNGをAVIFに変換
  • PNGをWEBPに変換
  • PNGをICOに変換
  • WEBPをJPGに変換
  • WEBPをPNGに変換
  • WEBPをAVIFに変換
  • AVIFをJPGに変換
  • AVIFをPNGに変換
  • AVIFをWEBPに変換
  • SVGをPNGに変換
  • SVGをJPGに変換
  • SVGをWEBPに変換
  • SVGをAVIFに変換
  • SVGをPDFに変換プレミアム
  • SVGをEPSに変換プレミアム
  • SVGをAIに変換プレミアム
  • SVGをDXFに変換プレミアム
  • SVGをGCODEに変換プレミアム
  • PDFをPNGに変換
  • BMPをPNGに変換
  • DXFをSVGに変換プレミアム

ガイド


  • 役立つガイド

Pixel2Lines

  • 法的情報
  • プライバシーポリシー
  • 利用規約
  • クッキー