出力制御ファイル
NCマクロ部

マクロ内での記述仕様

6.式

"<>"で囲まれた中には代入式(座標の計算、モードの設定等)を記述する事ができます。

例)
<TARGETX=100+1>

右辺の式(100+1)を計算して、左辺の変数TARGETXに値を代入します。
式は四則演算(+-*/)、以外に平方根sqrt()などが使えます。
左辺に予約語以外の変数を設定するとその変数は登録され、次回からは右辺で利用できます。
右辺にある未定義の変数は値ゼロとして評価されます。
大文字小文字の区別はされません。
(新規に登録できる変数の個数は300個まで,変数名の最大文字数は40文字です)

式の中で扱える関数の一覧

関数
説明
備考
SIN(val) 正弦 val の単位はラジアン
COS(val) 余弦 val の単位はラジアン
TAN(val) 正接 val の単位はラジアン
ASIN(val) 逆正弦  
ACOS(val) 逆余弦  
ATAN(val) 逆正接  
DEG(val) ラジアンを度に変換 val の単位はラジアン
RAD(val) 度をラジアンに変換 val の単位は度
SQRT(val) 平方根  
EXP(val) 指数  
LOG10(val) 10を底とする対数  
LOG(val) 自然対数  

(val は数値または式)

注意)

また、次のように記述することで、任意文字列を全ブロックの先頭、または最後に付加できます。

マクロの先頭に次の書式を設定します。

行の先頭に任意文字列を出力する場合:<STARTOFLINE="">

行の最後に任意文字列を出力する場合:<ENDOFLINE="">

必ず””の中に記述します。

7.初期化

検索キー文字列を"&"ではさむことで機能変数、Gコード、Mコードのモーダルを初期化できます。
これにより機能変数、Gコード、Mコードのどのコードをセットしても必ず出力することができます。
また、機能変数のX,Y,Zの場合は加工原点に自動的に初期化されます。
さらに検索キー文字列に続けて"*"を記述することでその後に初期化したい値を設定できます。

例)
&F&

工具交換用のマクロにこの記述を行うことで、経路内の最初に現れたFコードを必ず出力 させることができます。
すなわち、複数の経路からNCデータを作成する場合、1つ前の経路の最後のFコードとこれから処理を行う経路の最初のFコードが同じでも、この初期化を行うことによりモーダル処理による省略を防ぐことができます。

8.ブロックIF文

マクロの中でIF文を指定できます。
IF文は最高10段まで入れ子で指定でき、ELSE IF、ELSEはあってもなくても構いません。

書式)
IF( 式1 条件 式2 論理演算子 式3 条件 式4 .......... )
ELSE IF( 式1 条件 式2 論理演算子 式3 条件 式4 .......... )
ELSE
ENDIF

式1、式2:数値に関する予約語、定数、四則演算子を設定できます。
条件 :==,!=,<=,>=,<,> を設定できます。
論理演算子:&&,||(AND,OR)を設定できます。
1つのIF文に5個まで論理演算子を指定できます。

例)
論理演算子を1個使用
IF( CURRENTX!=STARTX||CURRENTY!=STARTY )
(現在の工具位置が最初の切削要素の始点と異なる場合真となります)

注)数値の差が0.0001より小さい場合等しいとみなします。

制限付きで文字列の判定が可能です。

IF( TOOLTYPE == "MILL" )
or
IF( TOOLTYPE != "MILL" )

工具タイプに対して指定文字列と等しいか、等しくないかの判定をします。
工具タイプは次のいずれかの文字列が設定されています。
"MILL"、"CD"、"D"、"RM"、"TP"、"B"、"CB"、"C"

現在、工具タイプ以外に次の予約語に対して判断することができます。

EXPLANATION:

作業プロパティの「説明」が展開される。

CREATOR:

作業プロパティの「作成者」が展開される。
PRODUCTNAME: 作業プロパティの「製品名」が展開される。
PARTNAME: 作業プロパティの「部品名」が展開される。
WORKMATERIAL: ワークプロパティの「材質」が展開される。
MACHINENAME: Space-E/CAMで設定したポストの出力制御ファイル名称に展開される。
NODE: Space-E/CAMで設定した機能のノード名に展開される。
COMMENTS: Space-E/CAMで設定した機能のコメントに展開される。
PATHFILE: Space-E/CAMが自動設定した経路ファイル名称に展開される。
TOOLMATERIAL: 「工具」ダイアログの「材質」が展開される。
TOOLCOMMENT: 「工具」ダイアログの「説明」が展開される。

9.空白文字出力

記述した文字列の先頭と最後にある空白は、システムが自動的に削除します。

例)
マクロに記述した内容 NCデータファイルに出力された内容
" G91 G28 Z0 "   "G91 G28 Z0"

また、";"を記述すると、1つの空白文字に変換されます。
";"は連続して複数設定できます。

例)
マクロに記述した内容 NCデータファイルに出力された内容
";;G91 G28 Z0 "   " G91 G28 Z0"

空白のみの場合や改行のみの場合、その行(ブロック)は、NCデータファイルに出力されません。
ブロックの先頭あるいは最後に、";"文字を出力させたい場合は、予約語を使用してください。
「NCマクロ部」−「マクロ内での記述仕様」−「6.式 」参照)

例)
 <ENDOFLINE=";">