CAM/G-Code

前段: 3D Knitting (編み)/ Weaving(織り)
http://www.dezeen.com/2014/06/23/oluwaseyi-sosanya-invents-3d-weaving-machine-show-rca-2014/

—————————————————————

CAD->CAE->CAM

CAMの機能
(1) 3Dモデルデータから3Dスライスデータ(ツールパス/ G-Code)を作成する。
(2) G-Codeを機械(3Dプリンタ)に送って、そのプロセスを管理・制御する。

Gコードは難しくない。別に自分でも書ける。
http://reprap.org/wiki/G-code/ja

G1 X Y Z F
F:       フィード率(プリンタのヘッドが動くスピード)。1分に何mmフィードするか指定する。はじめはF1000くらい。F10000くらいまでいくとかなり速いが、脱腸するので、F5000くらいか。
G28: 原点に移動する(Move to Origin)

[下記はほとんど使わないが一応]
G20: 単位をインチに指定する
G21: 単位をミリに指定する
G90: 絶対的な位置を設定(Set to Absolute Positioning)
全ての座標は、マシンの原点からの絶対的な位置となる。(これはRepRapのデフォルトである)
G91: 相対的な位置を設定する(Set to Relative Positioning)
全ての座標は、最後の位置の相対的な位置となる。
G92: 位置を指定する(Set Position)
E:  押出される長さ(単位mm)。押し出されるフィラメントの長さ。Skeinforge 40もしくは40以上は、押出される長さではなく、消費される入力フィラメントの長さとして、この長さを扱う。今回の課題では使わない。
M302: 温度の条件を無視してエクストルーダを動かせるようにする。プリンタを再起動すれば元に戻る。

CAMソフト
Repetier Host

 

※RepRap機のみ。 (ムトーエンジニアリング、デルタ、cubit、Scoovo等は対応、MakerbotとCubeは専用ソフトのみのため未対応)

右パネルのManual Control->G-Code
右パネルのPreview->G-code Editor
左パネルのPrinter Setting-> Printer Panel でプリンタのサイズを確認

実はRepetierを使わなくても、Processingから直接RepRap機は動かせます。

—-Processingのソースコード (一番簡単なもの)—–
import processing.serial.*;

Serial myPort;
public void setup() {
size(800, 600, OPENGL);
String portName = Serial.list()[0]; // This gets the first port on your computer.
myPort = new Serial(this, “COM3″, 250000);
}

public void draw() {
}

void keyPressed() {
if (key == ‘h’) {   myPort.write(“G28\n”); println(“here”);}
if (key == ‘x’) {   myPort.write(“G1 X10 Y0 Z0 F1000\n”); }
if (key == ‘y’) {   myPort.write(“G1 X0 Y10 Z0 F1000\n”); }
if (key == ‘z’) {   myPort.write(“G1 X0 Y0 Z10 F1000\n”); }
}

注: 「\n」は、「改行(リターン)」を表します。「\」は”Yenマーク”です。これを付けないと送信がされないので要注意。

————————–来週までの課題————————–

[理解してきて欲しいこと]  GコードとCAMの仕組みの本質
[やってきて欲しいこと] ホワイトデルタに好きなものをくっつけて(色鉛筆、筆、3Dペンなど)、RepetierかProcessingでG-コードを自分で動かし、人間の手では絶対作れなさそうな「なにか」を作ってきてください。絵でも結構です。

機材共有のため、今週もスケジュールに留意。