Skip to content

Developer Guide (JP)

Mitsuhito Ando edited this page Sep 11, 2016 · 9 revisions

ofxEpilog の使い方

projectGenerator を使用してプロジェクト新規作成にアドオンを追加する場合 addons の項目に ofxNetworkofxEpilog を選択し、追加してください。

pg_ofxepilog
  • 既存のプロジェクトに追加する場合
    • ofxNetwork を既に使用していない場合、addons グループの下に New Group でグループを新規作成し、"ofxNetwork" と名前を変更します。
    • ofxNetwork のグループの下に ofxNetwork/src をドラッグ&ドロップします。
    • Create groups for any added folders のみチェックが入っている状態で Finish を選択します。
    • addons グループの下に New Group でグループを新規作成し、"ofxEpilog" と名前を変更します。
    • ofxEpilog のグループの下に ofxEpilog/src をドラッグ&ドロップします。
    • Create groups for any added folders のみチェックが入っている状態で Finish を選択します。

ofxEpilog クラスの利用方法

  • ヘッダファイルをインクルードします。
#include "ofxEpilog.h"
  • ofxEpilog インスタンスを作成します。
ofxEpilog epilogLaser;
  • 使用する Epilog レーザーカッターの最大加工可能範囲を設定します。
WorkareaSize fusion;
fusion.width = 812;				    		// 横幅 mm
fusion.height = 508;			    		// 高さ mm
epilogLaser.setWorkareaSize(fusion);
  • カットスピード、カットパワー、彫刻スピード、彫刻パワー、周波数、DPI、オートフォーカス設定などの加工パラメーターを設定します。
OutputConfig config;
config.vspeed = 80;				    		// カットスピード 1-100%
config.vpower = 10;				    		// カットパワー   1-100%
config.rspeed = 10;				    		// 彫刻スピード   1-100%
config.rpower = 20;				    		// 彫刻パワー     1-100%
config.dpi = 200;				        	// DPI            75-1200
config.freq = 100;				        	// 周波数         1-100%
config.autoFocusEnabled = false;				// オートフォーカス設定
epilogLaser.setOutputConfig(config);
  • レーザーカッターに割り当てられたIPアドレスを使用して接続を開始します。
bool isConnected = epilogLaser.connect("192.168.3.5");
  • 接続済みの状態で加工ジョブを送信します。加工ジョブの型は ofPolyline , ofImage , GMLBuffer (Graffiti Markup Language) をサポートしています。
// 100mm * 100mm の矩形をカットする
ofPolyline line;
line.addVertex(0, 0);
line.addVertex(100, 0);
line.addVertex(100, 100);
line.addVertex(0, 100);
line.addVertex(0, 0);
line.close();

ofPtr<HPGLBuffer> hpglBuffer = HPGLBuffer::create(line, epilogLaser.getOutputConfig());
if(epilogLaser.isConnected())
{
    	bool isSent = epilogLaser.send(hpglBuffer, VECTOR);
    	ofLog(OF_LOG_NOTICE, "isSent=%d", isSent);
}

カスタムオブジェクトを加工ジョブとして送信したい場合、 ofPtr<HPGLBuffer> HPGLBuffer::create() メソッドをオーバーロードするか、 HPGLBuffer のサブクラスを作成し、ファクトリメソッドを追加することで可能になります。

  • 接続を切ります。
epilogLaser.disconnect();

Clone this wiki locally