NCデータカスタマイズ
NCデータカスタマイズ

NCデータカスタマイズは出力されたNCデータに対するデータの編集機能です。
ここでは、NCデータカスタマイズの目的、使用法、パラメータの設定方法について説明を行います。

目的

起動と実行

ファイルのリスト登録

フィルタ(変換条件)の設定
ファイル編集(NCデータの統一とファイル名称変更)

シーケンス番号の再設定

ポスト実行時の自動変換


目的

出力されたNCデータを指定された条件に従ってテキスト編集を行います。
ポストでのデータ出力後の編集や、マクロ等現状のポスト機能だけでは十分ではない内容に対して対応するためのNCデータへのサポート機能です。

起動と実行

● 起動

[加工工程設計メニュー]−[ツール]−[NCデータカスタマイズ]をクリックすることで起動します。

● 実行

1.NCデータ変換の条件を設定しているフィルタファイル(.ncd)を設定します。
  (フィルタの項目が空白の場合はNCデータのテキストの変換は行われません)

2.ファイルリストに変換を行うファイルを登録します。

3.「出力先」等のパラメータの設定を行い、実行ボタンを押します。 (出力先の指定は必須)
  注意)出力先に、ドライブ直下を指定することはできません。(例:C:\あるいはD:\)

4.指定された「出力先」のフォルダに変換されたNCデータファイルが出力されます。
  (出力先のフォルダは「開く...」のボタンでエクスプローラを開いて確認できます)

ファイルのリスト登録

NCデータカスタマイズを使用するためにはNCデータをファイルリストに登録する必要があります。
ファイルのリスト登録は以下の手段によって行うことができます。

・「NCデータ指定」ボタンでの登録

「NCデータ指定」ボタンを押すとファイル指定パネルが表示されファイルの指定を行うことができます。ここで指定したファイルがリストに登録されます。

ここでは複数のファイルを選択することできます。また、ファイルの種類を[全てのファイル]を選択することで、拡張子.NT以外のファイルも指定することができます。

・「自動読み込み」ボタンでの登録

「自動読み込み」ボタンを押すと、加工工程設計メニューからNCデータカスタマイズを起動した場合以下のような、メッセージが表示されます。

ここで[はい]を選択した場合、プロジェクトが加工工程設計のポストで算出したNCデータファイル(.NT)を自動で検索してリストに登録します。
[いいえ]を選択した場合、もしくは NCデータカスタマイズを加工工程設計メニュー以外の方法で起動した場合はフォルダ指定パネルが表示されます。

この場合、ここで指定されたフォルダからNCデータファイル(.NT)を検索してリストに登録します。

注.「自動読み込み」の場合は拡張子が.NTのファイルしか読み込みません。
   また、リストに登録される順番も名称順となり、加工工程設計のリストの順番とは異なる場合があります。

・ファイルのドラッグ&ドロップ

リストへの登録はファイルのドラッグ&ドロップ にて行うことも出来ます。
加工工程設計のNCデータリストからのドラッグ&ドロップも可能です。

また、登録したファイルのリストからの削除、および登録順の変更(登録順は「NCデータマージ」や「出力ファイル一括変更」に関連します)などを行うことも出来ます。

 :選択されている項目の削除
 :選択されている項目を一つ上に移動
 :選択されている項目を一つ下に移動
 :選択されている項目のファイルをテキストビューで表示

これらの動作はリスト中で右クリックした際に表示されるメニューでも行うことができます。
(テキスト表示はリストの項目をダブルクリックすることでも行えます)

フィルタ(変換条件)の設定

● NCデータカスタマイズコード

実行時に行われるNCデータファイルのテキスト変換についてはフィルタファイル(.ncd)によって変換の動作と変換を行う条件を設置します。
フィルタの項目にフィルタファイルのパスを設定し、 [編集...]ボタンを押すことで設定パネルが表示され、フィルタファイルの内容を変更することができます。
(指定されたフィルタファイルが存在しない場合、ファイルが新規作成されます)

変換条件(NCデータカスタマイズコード)は複数設定が可能で、フィルタファイル設定パネルではそれぞれの条件がリストの形で表示されます。
実行時には各ブロック毎にこれらの条件でテキストの変換が行われ、変換の処理順もこのリストに登録されている順番で行われます。

各ボタンの動作は以下の通りです。

[追加]:リストに変換条件を追加します。変換条件設定パネルが表示され、そこで設定された条件がリストの最後に追加されます。
[削除]:リストで選択されている項目の変換条件を削除します。
[編集]:リストで選択されている項目の変換条件を編集します。その項目の条件の変換条件設定パネルが表示され、そこで編集された条件が項目に反映されます。
: リストで選択されている項目の変換条件を一つ上に移動します。
: リストで選択されている項目の変換条件を一つ下に移動します。
[データ読み込み]:既存のフィルタファイル(.ncd)のデータを読み取り、その条件をリストのリストの最後に追加します。

これらの動作はリスト中で右クリックした際に表示されるメニューでも行うことができます。
([編集]はリストの項目をダブルクリックすることでも行えます)

● 変換条件

NCデータカスタマイズコードのリストにて[追加]または[編集]を行うことで、テキスト変換時の動作と実行条件を設定、編集することができます。

・変換形式
変換を行う動作を指定します。
 [置換]:
ブロック中に「変換文字列」と同じ文字列があった場合、それを「出力文字列」に置き換えます。
 [出力]:ブロック中の「出力位置」で指定された位置に「出力文字列」を出力します。
 [削除]:ブロック中に「変換文字列」と同じ文字列があった場合、それを削除します。

・変換文字列
変換元となる文字列を指定します。「変換形式」が[置換][削除]の場合に参照されます。

・出力文字列
変換時に出力される文字列を指定します。「変換形式」が[置換][出力]の場合に参照されます。
ここでは改行コード「\n」が使用でき、これが文字列中に入っている場合、出力文字列は「\n」部分で改行された複数行で出力されます。

・出力条件
「変換形式」で指定された変換動作が実行される条件を設定します。
 [常時]:
NCデータの全てのブロック中で指定された変換を行います。
 [条件設定]:「条件式」で設定された式が正の場合にのみ変換を行います。

・条件式
「出力条件」が[条件設定]場合に参照する式を文字列として設定します。
条件式では等号(=)不等号(>、<)の等の記号を使用することができます。 詳細は次項の『文字列、式で使用できる記号』を参照してください。

・出力値モーダル
変換が連続したブロックで行なわれる際に、出力文字列の値が前ブロックと同じ文字列を出力する場合に出力文字を消すがどうかの指定を行います。
 [する]:前ブロックと同じ文字列が出力される場合、出力文字を消す処理を行います。([置換]の場合、出力文字列が出力されず変換元の文字列は削除されます)
 [しない]:前ブロックで出力した値に関わらず、「出力文字列」を出力します。
このパラメータは「変換形式」が[置換][出力]の場合に参照されます。

・出力値モーダル
文字列の[出力]を行なう場合に文字列を出力する位置を指定します。
 [先頭]:出力文字列をブロックの先頭(シーケンス番号がある場合にはシーケンス番号の次の位置)に出力します。
 [最後]:出力文字列をブロックの最後に出力します。
このパラメータは「変換形式」が[出力]の場合にのみ参照されます。

● 文字列、式で使用できる記号

変換条件で設定する「変換文字列」「出力文字列」「条件式」では記号を用いることで、数値の計算を行ったり、各ブロックに書かれている座標値、コード等を参照することが出来ます。
これらを利用し、NCデータファイルの文字列の変換動作に様々な操作を行うことができます。

・四則演算(+、-、*、/、(、))

文字列中に四則演算記号(+、-、*、/)を使用することができます。また、括弧( (、) )を使って計算順をコントロールすることも可能です。
これらは主に出力文字列、条件式で使用できます。

・値の参照($)

文字列中に「$」を使用することで、座標値やF、T、Hコードなどの値を参照できます。
「$」はこれに続く文字列を参照し、その文字列がブロック中で指定されている値を展開します。

【使用例】        
変換元: 条件: 変換後:

G00X-50.21Z20.
G01X10.21Y30.
G00Z100.

G02X-30.21Z20.
G01X30.21Y30.
G00Z100.

また、「$」による各コード値を参照する場合、「$」と参照コードの間に数値や記号を入れることで、リーディングゼロやプラス記号の強制出力、小数点以下の桁数指定、0の表現などを行うことができます。

【使用例】

用途 記入例 変換例
リーディングゼロ  T$04T  T02 → T0004
プラス記号の強制出力  X$+X  X50.21 → X+50.21 X-22.22 → X-22.22
小数点以下の桁数指定  X$.5X  X50.21 → X50.21000 X12.345267 → X12.23456
0の表現  X$.X  X0.21 → X.21  X100 → X100.
 X$0.X  X0.21 → X0.21  X100 → X100.
 X$.0X  X0.21 → X.21  X100 → X100.0

【注意】
 
「変換文字列」において「$」による値の参照を行なう場合、「$」が使われている記号の値を展開した文字列として処理されることに注意してください。例えば例1のような場合は意図しない変換が行なわれる場合があります。また、リーディングゼロやプラス記号の強制出力などの出力法を行なった場合には元の文字列と異なる形になるため変換が行われなくなるケースがあることにも注意してください。

変換文字列 出力文字列 変換例 説明・補足
例1:  $X  $X+20  X100Y100 → X120Y120

「$X」は「100」という文字列の形で処理されるためYの値が同じ「100」の場合こちらも変換されてしまう。(「X$X」の形であれば変換文字列は「X100」となるためYの値は変換されない)

例2:  X$.3X  X($X+20)  X100 → X100  「X$.3X」の場合、変換文字列は「X100.000」という文字列の形で処理されるため「X100」とは違う文字列とみなされ、変換は行われません。

・絶対値、差分(Abs、Inc)

「出力文字列」「条件式」では、Abs、Incという特殊な文字列によって値を計算、参照することができます。
Absは次に続く括弧内の値の絶対値を展開します。Incは次に続く括弧内の「$」を使用して参照されている値の差分(相対値)を展開します。
Absでは括弧内に四則演算などの計算式が使えますが、Incでは括弧ないには$を使用した値以外は使用できません。

【使用例】        
変換元:   条件:   変換後:

G00X-50.21Z20.
G01X10.21Y30.
G00Z100.



G00X50.21Z20.
G01X10.21Y30.
G00Z100.

(2列目のXもAbs($X)の値に変換されているが、変換後の値も同じなので変わっていない)

G00X-50.21Z20.
G01X10.21Y30.
G00Z100.


G00X-50.21Z40
G01X10.21Y30.
G00Z80


・等号、不等号、否定演算子( =、<、>、! )

「条件式」では等号、不等号、否定演算子を用いて式を定義し、その式が正の場合にのみ変換処理が行われるようにできます。
各記号は以下のような形で使用できます。

 式  定義と意味
 A = B  AとBの値が等しければ正
 A > B  AよりBの値のほうが小さければ正
 A < B  AよりBの値のほうが大きければ正
 A >= B  Aの値がB以上であれば正
 A <= B  Aの値がB以下であれば正
 A != B  AとBが等しくない場合に正


【使用例】        
変換元:   条件:   変換後:

G00X-50.21Z20.
G01X10.21Y30.
G00Z100.




G00X-30.21Z20.
G01X10.21Y30.
G00Z100.

(2列目のXの値は条件式が不なので変換処理がされない)

・Gコード、Mコードの参照

「条件式」ではGコード、Mコードの使用も可能です。参照したいコードを入れ、グループとして条件式中に定義することで、Gコード、Mコードの値を参照して変換処理の条件を設定できます。
使用法はまず条件式内に参照したいG、Mコードを定義し、それに続いて括弧内に定義されたコードを含んだグループとなる各コードを「,」(コンマ)で区切った形で設定します。
こうすることで、そのブロックの状態が参照したいコードがONの場合は条件式は正、グループ内で定義された他のコードがONになった場合はOFFに切り替わって条件式は不となります。

【使用例】        
変換元:   条件:   変換後:

G00X-50.21Z20.
G01X10.21Y30.
X30.21Y50.

G00Z100.
X0.Y0.




G00X-50.21Z20.F9999
G01X10.21Y30.
X30.21Y50.

G00Z100.F9999
X0.Y0.
F9999

(3列目4列目はG01のため変換は行われない。5行目はG00の文字列は書かれていないが、モードはG00のままなので条件式は正)

この条件式ないの括弧によるGコード、Mコードのグループ定義はフィルタ内に一つ定義されていれば、他の処理も同じグループを参照することができます。

【制限】
 Gコード、Mコードのグループ定義ではGコード、Mコード以外のものは使用できません。(Gコード、Mコードを同じグループに混ぜることもできません)
 また、括弧内で定義できるグループは20個までです。

注.もし、同じフィルタファイル内でGコード、Mコードのグループ定義で同じコードが使用されていた場合は、NCデータカスタマイズコードでより番号の早い順で定義されているグループを優先的に参照します。

・条件式における式の複数定義( &、|、! )

「条件式」においてAND(&)、OR( | )の理論演算子を使って複数の式を定義できます。また、否定演算子( ! )と括弧を用いることで式そのものの正不を逆転することもできます。

 条件式  定義と意味
 式A & 式B

 式A、式Bの両方が正ならば条件式は正

 式A ! 式B ! 式C

 式A、式B、式Cのいずれかが正ならば条件式は正

 !(式A)

 式Aが不ならば条件式は正



【使用例】        
変換元:   条件:   変換後:

G00X-50.21Z20.
G01X10.21Y30.
X30.21Y50.

G00Z100.
X0.Y0.


(Gコードのグループ定義は省略)



G00X-50.21Z20
G01X10.21Y30.
X30.21Y50.

G00Z100.F9999
X0.Y0.
F9999

(1列目はG00だがX>0が不のために、条件式全体としては不)

G00X-50.21Z20.
G01X10.21Y30.
X30.21Y50.

G00Z100.
X0.Y0.


(Gコードのグループ定義は省略)




G00X-50.21Z20F9999
G01X10.21Y30.F9999
X30.21Y50.F9999

G00Z100.F9999
X0.Y0.
F9999

(1列目はXは0より小さいがG00のため正、2、3列目はG01だがXが0より大きいため正)

【制限】
 
条件式での式の複数定義は式はいくつでも定義できますが、AND(&)、OR( | )の理論演算子を混同することはできません。
 式A & 式B & 式C… または 式A | 式B | 式C…のようにどちらか一方の演算子のみを使用するようにしてください。
 また、否定演算子( ! )については続く括弧内でAND(&)、OR( | )を使用することはできません。必ず、一つの式に対して用いるようにしてください。

ファイル編集(NCデータの統一とファイル名称変更)

NCデータカスタマイズでは複数のNCデータファイルを一つにまとめた形で出力したり、ファイル名称を変更した形で出力することができます。

● NCファイルマージ

NCデータファイルの内容をつなぎ合わせ、一つのファイルとして出力します。

【パラメータ】

・NCファイルをマージする
リストに登録されているNCデータを1つのファイルにまとめた形で出力します。出力されるファイルはリストに登録されているファイルの内容を順番につなぎ合わせた形で出力されます。この時の並び順は、リストに登録されている順番と同じです。

・出力ファイル名
「NCファイルをマージする」がONの場合に出力されるファイルのファイル名称を指定します。

・最初以外のプログラム開始番号を削除する
「NCファイルをマージする」がONの場合に、最初以外のつなぎ合わせるNCデータのプログラム開始番号を削除します。

【使用例】 リスト:
 
元ファイルとデータ:   マージ条件:   変換後:

【ファイル:Test0001.NT】

O1
G00X50Y50Z0
G01X100Y100
G00Z100



【ファイル:TestMarge.NT】

O1
G00X50Y50Z0
G01X100Y100
G00Z100

G00X100Y100Z0
G01X0Y0
G00Z100.

( リストへの登録順に各行がつなぎ合わされる。プログラム番号 は最初以外削除)

【ファイル:Test0002.NT】

O2
G00X100Y100Z0
G01X0Y0
G00Z100.

● ファイル名称変更

・出力ファイル名一括変更

出力時にファイル名称を変更します。

【パラメータ】

・出力ファイル名一括変更
リストに登録されているファイルの名称を「NCデータ基準名称」にしたがって変更します。このパラメータは「NCファイルをマージする」がONの場合使用できません。

・NCデータ基準名称
「出力ファイル名一括変更」がONの場合に変更するファイル名称を決定します。ここでは以下の予約語と記号が使用できます。
$f:加工工程設計からNCデータカスタマイズを起動した場合の加工工程設計のプロジェクト名称を展開します。(加工工程設計から起動したのでない場合は空白です)
$n:変換するNCデータのプログラム開始番号を展開します。
#: リストに登録された順番にカウントアップした数値を展開します。「#」の個数が桁数になります。(例:Test####.NT → Test0001.NT、Test0002.NT)

・リスト上での個別名称変更

リストに登録されたファイルについては、個別に名称を変更することができます。
リスト内で右クリックした際に出てくるメニューの「名前の変更」を選択するか、リストの名称をクリックするとリスト上でのファイル名称を変更できます。

実行時にはここで変更された名称でファイルが出力されます。

シーケンス番号の再設定

NCデータカスタマイズでは出力するNCデータに対してシーケンス番号の再設定を行えます。
(NCファイルマージ行なった場合やフィルタに複数行出力されるような変換条件を設定している場合に有効です)
パネル上の「シーケンス番号」ボタンを押すとシーケンス番号の設定パネルが表示されます。

ここで「シーケンス番号を再設定する」をONにすることで変換を行うファイルのシーケンス番号の再設定を行うことができます。

【パラメータ】

・シーケンス番号を再設定する
このパラメータがONの場合、変換をおこなうNCデータの各ブロックのシーケンス番号を条件にしたがって付け直します。
元のデータにあったシーケンス番号は削除され、新しいシーケンス番号を付加します。

カウントアップ方法
シーケンス番号のカウントアップ方法を選択します。
カウントアップ数を設定する: シーケンス番号のカウントアップ数に従いカウントアップされます。
書込まれるNCデータの実際の行数を出力: 書込まれるNCデータの実際の行数が出力されます。

・出力場所
シーケンス番号の出力場所を選択します。
全てのブロックを対象に出力: シーケンス番号が全てのブロックを対象に出力されます。
元データにシーケンス番号のあったブロックのみ出力: 変換前にシーケンス番号があったブロックのみ出力されます。

・開始番号
シーケンス番号の開始番号を指定します。

・出力間隔
シーケンス番号の出力間隔を指定します (例えば、2と指定すると、1ブロックおきにシーケンス番号が出力されます)。

・出力桁数
シーケンス番号の出力する桁数を指定します 。(出力数より桁数が多い場合はゼロリーディングされます)

・出力文字
シーケンス番号の出力文字を指定します。

【注意】
「シーケンス番号を再設定する」 がOFFの場合は元のシーケンス番号はそのまま残ります。
シーケンス番号を消す動作だけを行いたい場合には、フィルタの変換条件による処理で行ってください。

ポスト実行時の自動変換

NCデータカスタマイズにおけるフィルタファイルによる変換処理を、ポスト計算のNCファイル出力時に同時に行うことができます。
ただし、NCファイルマージや名称一括変更、シーケンス番号の再設定はここでは行うことは出来ません。

【パラメータ】

・NCデータカスタマイズ
これをONにすることで 、ポスト計算時に出力されたNCデータファイルに対して変換処理が追加されます。
変換後のファイル名称などは通常のポスト出力時の名称から変更することはできません。

・フィルタファイルパス
行いたい変換の変換条件を設定したフィルタファイル(.ncd)のファイルパスを設定します。
また、「編集...」ボタンを押すことで設定されてパスのファイルのエディタを起動し、編集を行うことができます。