========================================================================================================= 【 名 称 】  NCx2 【著作権 者】  ncxtwo 【作成 日付】  2009/03/19(Ver1.0) 〜 更新中(12th) 【開発 環境】  Microsoft Visual Studio 2019 【対応 機種】  PC/AT互換機、Windows10 にて動作確認済み           WinXPですとNET Framework4.0以上をインストールする必要があります。           OpenTK.dll と OpenTK.GLControl.dll のライブラリが必要です。 【作成 方法】  zip形式のファイルを解凍できるソフトを利用して解凍してください。 【ソフトウェア種別】  フリーソフトウェア 【転載 条件】  転載するときは、事前に作者宛に連絡を頂けると幸いです。 ========================================================================================================= ● このソフトウェアついて ・NCプログラムの数値や形式を変換します。 (OSPのニーモニック、カスタムマクロに対応) ・DXFデータをNCプログラムに変換します。 ・NCプログラムをDXFデータに変換します。 ・薄板や穴などの加工用のNCプログラムを作成します。 ・○や□形状の加工用のNCプログラムを作成します。 ・一般的な加工条件を計算します。 ・簡易的な座標計算をします。 ・描画(補正表示を含む)、NCプログラム解析をします。 ・NC工作機械にNCプログラムを送受信します。 ・古いRoland-CAMM3にNCプログラムを送信します。 ※加工の前には、他の作者の秀作描画ソフトでもご確認することをお勧めします。 ● NCx2 ファイル構成  NCx2_ver5_01.ZIPには、次のファイル、フォルダがあります。 ・ NCx2.exe : 実行ファイル(本体) ・ NCx2_readme : このファイル ・ NCx2_使用方法Ver5_00.pdf : 取り扱い説明用ファイル ・ *.csv : 「POST」機能用のサンプル ・ 登録メモデータ.txt : 『メモ帳』機能の登録メモ用のファイル ・ OSPの機能とNCx2の対応について.txt : OSPのプログラム解析の対応情報 ・ *.dll : C#用のOpenGLラッパーライブラリ ・ sample フォルダ : データ作成や描画テスト用のサンプル、Roland-CAMM3の資料 ● インストール・アンインストール  適当なフォルダの中で解凍していただければインストール終了です。 アンインストールは解凍したファイルとフォルダを削除すれば完了です。 (適当なフォルダに入れて、実行ファイルのショートカットを作って利用して下さい。) ● 使用条件  本ソフトウェアの使用による、いかなる損害に対しても、作者は責任を負えませんので、その点はご理解下さい。  ※特に「通信」機能は、全ての工作機械で試したわけではないので、環境によっては使用できないかと思います。    保障のあるソフトウエアがある場合は、そちらを使用することを薦めます。 ● 使用方法 (以下、タブごとに説明) --------------------------------------------------------------------------------------------------------- ・「値換(NC→NC:数値変換機能)」   1、NCファイルを読み込む。(もしくは、NCプログラムを打ち込む。)   2、変換したいボタンを押す。   3、保存する。 --------------------------------------------------------------------------------------------------------- ・「加工(DXF→NC:DXFデータを基準した加工データを作成する機能)」   1、DXFファイルを読み込む。(JWcad、AutoCAD、Bcadgetglyphなど。)   2、初期条件を確認(入力)。   3、変換したい加工機形式ボタンを押す。   4、保存する。   ※ DXFデータの形式としては、       線分(LINE)、円弧(ARC)、円(CIRCLE)、ポリライン(POLYLINE、LWPOLYLINE)に対応。       点、スプライン、楕円などに対応してません。     DXFデータ形式は2004形式で確認していますので、それ以降は未確認です。     その他のCADの形式やバイナリー形式のDXFデータには対応してません。 --------------------------------------------------------------------------------------------------------- ・「彫刻(DXF→NC:指定した範囲に収まる彫刻データを作成する機能)」   1、DXFファイルを読み込む。(JWcad、AutoCAD、DraftSight、Bcadgetglyphなど。)   2、初期条件を確認(入力)。   3、変換ボタンを押す。   4、保存する。 --------------------------------------------------------------------------------------------------------- ・「図化(NC→DXF:図面データに変換機能)」   1、NCファイルを読み込む。(もしくは、NCプログラムを打ち込む。)   2、出力画層を設定する。   3、変換ボタンを押す。   4、保存する。 --------------------------------------------------------------------------------------------------------- ・「範囲削(無→NC:○や□形状の加工用のNCプログラム作成機能)」    「表面加工」「ポケット加工 ○ 、□」「輪郭加工 ○ 、□」の加工形状を選択。   1、初期条件(形状、加工条件)を確認(入力)。   2、作成ボタンを押す。   3、保存する。 --------------------------------------------------------------------------------------------------------- ・「穴切(無→NC:ポケット加工用(仕上げ加工用)のNCプログラム作成機能)」←(旧名)穴Cut   1、初期条件(形状、加工条件)を確認(入力)。   2、作成ボタンを押す。   3、保存する。 --------------------------------------------------------------------------------------------------------- ・「板切(無→NC:アクリル板・電子基板などの薄板加工用のNCプログラム作成機能)」←(旧名)板Cut   1、初期条件(形状、加工条件)を確認(入力)。   2、作成ボタンを押す。   3、保存する。 --------------------------------------------------------------------------------------------------------- ・「通信(NC←→機械へ:RS232Cシリアル通信機能)」  「NC工作機械」   1、シリアル通信設定をする。   2、NCファイルを読み込む。(もしくは、NCプログラムを打ち込む。)   3、送信or受信ボタンを押す。  「Roland-CAMM3」   1、シリアル通信設定をする。   2、NCファイルを読み込む。(もしくは、NCプログラムを打ち込む。)   3、送信ボタンを押す。(シングルブロック送信も可能) --------------------------------------------------------------------------------------------------------- ・「POST(NC→NC:機械変換機能)」  (加工機械(制御装置)によって、プログラム形式が異なる場合があるので、まとめて置換する。)   1、NCファイルを読み込む。(もしくは、NCプログラムを打ち込む。)   2、PostDataファイルを読み込む。    (PostDataファイル:csv形式のNCx2独自フォーマットファイル)   3、A-->B、またはA<--Bの変換方向を指定して、変換ボタンを押す。   4、保存する。     ※改行の有無は置換に関係あります。 --------------------------------------------------------------------------------------------------------- その他...加工条件、描画、メモ帳、交点計算 の機能 ---------------------------------------------------------------------------------------------------------  簡単な操作方法は下記のホームページをご参照下さい。   http://ncxtwo.mu-sashi.com/ --------------------------------------------------------------------------------------------------------- ●その他  使い勝手が悪いソフトですが、使って頂けたら幸いです。  ほか開発・改善途中です。。。  ☆ NCx2の問題点など、アドバイスお待ちしております。(ncxtwo@yahoo.co.jp)  ※ 苦情は受付けておりません。<(_ _)> ● NCx2 の 名称  ターニングセンタでの加工用に、NCプログラムのXの2倍を計算したかった。  → なのでソフトの開発を始める。→ で「 NCx2 」という名称とする。  エヌシーエックスニ(NCX2)とでも読んで頂けたら良いかと。 ●履歴 2021/03/27 Ver5.01           『値換』-『数値』-『OSPプログラム→座標値変換』の機能を修正            ⇒ NCYLの扱いをL0とする            ⇒ マクロの定義を訂正(アドレスPの扱い方、予約語PMILL → PMIL、FB= など)            ⇒ ニーモニック指令などに値の代入(式)が扱えるように修正           『図化』の機能を修正            ⇒ (NCプログラムの)負のRの扱いを訂正 2021/02/27 Ver5.00           (//『値換』の『他』の機能を追加 ⇒ 一般的には不要な機能群//)           『描画』機能を修正、追加            ⇒ 鋭角な角度の径補正を考慮(※鋭角な円弧には未対応 <(_ _)>)            ⇒ 径補正後の工具位置を表示            ⇒ ターニングのG270(旋削)/G271(ミーリング)を考慮            ⇒ 回数情報の原点交換数を「FANUC 系 ⇔ OSP 系」のチェックを判断基準にする           『値換』の『径補正を座標変換』の機能を修正            ⇒ 鋭角な角度の径補正を考慮(※移動経路の無駄を省略)           『値換』の『OSP系 回転方向追加(C軸)』の機能を修正            ⇒ C軸の動作が0.001未満になる命令を無視           『値換』の『OSP系 円筒加工』の機能を修正            ⇒ 変換が実行されるようにする( ← 元のVer3.04状態に戻す)           『NCx2』の本体にWindows Notepad(メモ帳)の起動を追加            ⇒ NCプログラムの新規作成 や コピー&ペースト用などに           『値換』-『数値』-『OSPプログラム→座標値変換』として拡張            ⇒ OSP系のカスタムマクロ(条件、変数、関数)を座標値に変換します。 2020/10/03 Ver4.08           『値換』の『数値』機能に『OSPニーモニック→座標変換』を修正、追加            ⇒ XYの値が無い時を考慮            ⇒ 領域加工機能(FMILF-R、PMIL-R、RMILO-I)を追加           『加工』の「ワイヤ加工用」を訂正            ⇒ SodickのCの誤記を訂正           『描画』機能を修正、追加            ⇒ サブプロ判断の修正            ⇒ 工具形状を表示する           『加工』の修正            ⇒ DXFファイルの読み込み時のエラー表示の繰り返しを省略 2020/08/14 Ver4.07           『描画』機能を修正、追加            ⇒ 径補正などOSP系単位(1=1mm)を考慮            ⇒ 『NCの情報』と『回数情報』の修正            ⇒ 『カーソル位置までの描画』における補正表示を修正            ⇒ NCプログラムの描画がされなった理由を表示させる            ⇒ 現在の描画位置の点を表示(白点)させる           『描画』機能に『M←S変換』ボタンを追加            ⇒MAINプログラムにSUBプログラムを代入する           (『カーソル位置までの描画』におけるSUBプロの確認用)           『メモ帳』の保存を修正           『値換』の『数値』機能に『逆戻り変換』を追加            ⇒ 逆戻りのプログラムを作成(ワイヤカットの2ndカット用)           『値換』の『数値』機能に『OSPニーモニック→座標変換』を追加            ⇒ OSPのニーモニックの一部を座標値に変換する(OSPの解釈用)           『加工』の『穴あけ加工用』に機能を追加            ⇒ FANUC<=>OSP:形式変更、MAIN&SUB:MAINとSUBの両方を排出 2020/05/17 Ver4.06           『テキストの編集機能』を修正、追加            ⇒検索開始位置の誤りとサイズ変更時のズレを修正            ⇒描画の『テキストの編集機能』に隠、半透明を追加           『彫刻』に『アウトラインパス作成』の機能を追加            ⇒ 文字列からアウトラインパス(DXF)データを作成する           『描画』に『回数情報』機能を追加            ⇒ NCプログラムの工具交換や原点交換などの回数を表示させる           『POST』に『G01統一』機能を追加            ⇒ G1→G01のように10未満は0をつけて、置換に反映させます           『値換』に『G,Mコード 2桁変換』機能を拡張            ⇒ G,M,T,D,Hコードの10未満の表記を統一 2020/04/05 Ver4.05           『計算』に『NC面取』の機能を追加            ⇒ NCプログラムの面取工具の深さを計算します           『加工』の『形状加工用』に『G92G54G15(ワーク座標選択)』機能を追加            ⇒ ヘッターフッターの設定をG92G54G15によって変更させる           『加工』と『描画』のバグ修正            ⇒(DXFデータ)LWPOLYLINEの2点しか持たない要素の読込不良を修正           『描画』に『カーソル位置まで(描画)』機能を追加            ⇒ カーソル位置と同期させた描画を表示           『描画』の表示内容を変更            ⇒ 「枠の形状と範囲」の設定を表示・非表示させる 2020/03/22 Ver4.04           『加工』の『ワイヤ加工用』に『多品』機能を修正            ⇒ M21(WIRE CUT)→M01→G00→M20(WIRE INSERT)の順番へ           『描画』機能に『NCの情報』の表示と『フィット』機能を追加            ⇒ NCプログラムの最大、最小値と移動量の合計、時間を表示            ⇒ ↑の大きさを基に描画領域にフィットさせる           『描画』機能を修正            ⇒ 描画上のG28(リファレンス点復帰)を無視 2020/03/01 Ver4.03           『描画』と『数値』の『径補正を座標変換』機能の修正            ⇒ 工具径補正でオフセットした円弧同士の交点計算の誤りを修正            ⇒ 旋盤系のG91X、Uの直径値変換に修正           『加工』と『描画』のバグ修正            ⇒ DXFデータ(1点のみのLWPOLYLINE)の読込不良を修正           『加工』の『ワイヤ加工用』に『多品』機能を追加            ⇒ DXFデータを多品加工用のNCプログラムへ変換           『加工』の『形状加工用』に『輪郭加工用』機能を追加            ⇒ DXFデータを輪郭や面取り加工に適したNCプログラムへ変換           『値換』に『複写』と『対称』の機能を追加            ⇒ NCプログラムに移動・拡大-縮小・回転・複写の変換をする(で『複写』)            ⇒    〃   任意の軸に対称の変換をする(で『対称』)           『値換』の『数値』と『通信』の『Roland-CAMM3』機能に『G02,G03→G01へ変換』を追加            ⇒ 円、円弧データを線分に近似したNCプログラムへ変換する           『値換』の『数値』機能の『拡大縮小変換』と『指定倍率変換』を削除            ⇒ 同様機能の『複写』へ拡張したため           『値換』の『数値』機能の『G00 Zアプローチ回避』を『Z基準高さ以下 速度制限 変換』に変更            ⇒ 手打ちプログラムのミスによる工具突入を回避する           『値換』の『旋盤・ターニング』機能の『Z基準高さ以下 切削移動 変換』を追加            ⇒ 手打ちプログラムのミスによる工具突入を回避する           『NCx2本体』にショートカット機能を追加            ⇒ リッチテキスト形式を Shift(or Ctrl)+ダブルクリックすると『描画』を表示させる           『テキストの編集機能」を改良            ⇒ 検索と置換の機能を追加 2020/01/08 Ver4.02           『範囲削』の機能の表示を修正            ⇒ フォームを閉じたときのタブに戻す           『加工』の機能の修正            ⇒ R指定での排出の誤差を修正           『描画』の機能の追加・修正            ⇒ XYZ座標値の表示機能を追加            ⇒「工具径補正」の軌跡計算の同一円弧の判定許容差と円弧同士の交点許容差を修正            ⇒   〃   の軌跡計算の円弧同士の交点誤差が大きい場合の処理を追加            ⇒   〃   のR指定の交点誤差の許容差を修正           『値換』の『径補正を座標変換』の機能を修正            ⇒『描画』の機能同様に同一円弧の判定許容差と円弧同士の交点許容差などを修正           『NCx2本体』と『描画』にテキストの編集機能を追加            ⇒ リッチテキスト形式をダブルクリックするとテキスト形式のダイアログを表示させる 2019/09/01 Ver4.01           『描画』、『径補正を座標変換』を修正            ⇒「工具径補正」の軌跡計算を修正           『範囲削』機能の修正・追加            ⇒「ポケット加工 □」の中央部の削り残しを修正            ⇒「表面 ◎」:表面の渦巻き形状の加工を追加           『置換x19』を改良            ⇒ 置換方向を追加           『加工』の「ワイヤ加工用」を改良            ⇒ 送り速度と形式(三菱/Sodick)を追加 2019/03/19 Ver4.00           『描画』『メモ帳』『座標計算』の枠の表示機能を修正            ⇒ 表示の時の比率を変更           『描画』の表示機能を拡張            ⇒ G41、G42 〜 G40 の「工具径補正」、「ノーズR補正」の表示を考慮           『値換』の機能の追加            ⇒『径補正を座標変換』、『置換x19』、『整理→並び整理』           『加工』の項目の整理            ⇒『形状加工用』、『ワイヤ加工用』、『穴あけ加工用』、『←初期化』           『通信』の『Roland-CAMM3』機能を拡張            ⇒ 『径補正を座標変換』を追加           『NCx2』の外観修正            ⇒ 『右のテキストを左へ移動」ボタン追加 2018/08/13 Ver3.08           『NCx2』の外観修正            ⇒ フォームの最大化を追加と描画フォームの開閉の保持            ⇒ 機能名の変更   「値換」「加工」「彫刻」「図化」「範囲削」「穴切」「板切」            ⇒ 『穴切 (旧)穴Cut』内のレイアウトを変更           『彫刻 (旧)G字→N』機能を修正            ⇒ CAMM3用の設定を追加            ⇒ 加工原点の調整を追加            ⇒ DXFデータの円、円弧に対応           『範囲削』機能の追加            ⇒ 「表面加工」「ポケット加工 ○ □」「輪郭加工 ○ □」   基本的な形状に対しての粗・中仕上げ用の加工データの作成           『切削条件』機能を修正            ⇒ M3の並目ピッチの間違いを修正 2018/02/17 Ver3.07           『座標計算』機能の追加            ⇒ 線や円の交点、接点などの座標を計算           『描画』の枠の表示機能を拡張            ⇒ 円筒、球の枠を表示を追加           『切削条件』機能を修正 2018/01/08 Ver3.06           『通信』の『Roland-CAMM3』機能の追加            ⇒ CAMM3 PNC2500GとPNC3000への送信用           『値変換』の『R → I , J 変換(G17平面)』機能の追加            ⇒ R指定が使えない古いワイヤ放電加工機用           『メモ帳』機能の追加            ⇒ NCプログラミング用           『D→N』機能の修正            ⇒ 分岐点の左右選択の条件を修正 2017/07/24 Ver3.05           『NCx2』の外観修正            ⇒ 機能名と配置の見直し           『 G字→N(旧 getG文字→NC)』機能の修正・追加            ⇒ バグ修正:極小移動の取り扱いの誤りを訂正(2回目)            ⇒ OSP系に対応            ⇒ 送信機能追加           『描画(OpenGL)』機能を修正            ⇒ INCの取り扱い、サブプロの表示を修正            ⇒ OSP系のサブプロ対応(サブプロ名は数字のみ対応)           『板Cut(旧 薄板Cut)』機能を改善            ⇒ OSP系に対応、INC指令時のZ方向のみのABS対応           『通信』機能を追加            ⇒ RS232Cシリアル通信を使ったNCプログラムの送受信に対応           『切削条件』機能の入力を改善           『穴Cut』機能を追加            ⇒ 円弧アプローチを考慮した穴加工用のNCプログラム作成用機能 2017/03/08 Ver3.04           『描画(OpenGL)』機能を改良           ⇒ /(オプショナルブロックスキップ)の処理           ⇒ 固定サイクル表示 (ファナックのマシニング系G73-89のみ対応)           ⇒ サブプログラム読出し (ファナックのマシニング系M98のみ対応)           ⇒ 軌跡範囲の機能(工具移動の方向確認用)           ⇒ 軌跡のアニメーション(工具移動の方向確認用)           ⇒ ファイル追加機能(サブプロ追加用)           ⇒ OSP系ターニングセンタの円筒補間、極座標(創成加工)の表示            (M110:C軸連結を指定した場合のみ考慮します。)  『薄板Cut』機能を追加           ⇒ 繋ぎ目を残して薄板をくりぬくことを考慮したNCプログラム作成用機能  『NC→NC』のOSP系極座標(創成加工用)を訂正           ⇒ IJをモーダル情報として円弧計算していたミスを訂正 2016/11/01 Ver3.03           『NC→DXF』の修正           ⇒ 1つの要素みのポリラインを考慮(線や円弧1つのみポリラインに対応)  『ぐるぐる描画(OpenGL)』機能を改良           ⇒ G17,G18,G19平面の円、円弧、スパイラルの表示の追加           ⇒ 旋盤系(UVWは増分値指令,XUは直径指令)の表示の追加           ⇒ 色々な機能(カッコの取り扱い、数値の単位など)の修正          『DXF→NC(汎用データよるCAM機能)』の修正           ⇒ 原点情報(ORIGIN)が最初に無い場合、反映されない間違いを訂正 2016/10/22 Ver3.02           『NC→DXF』の修正           ⇒ 中心円(ORIGIN)のDXFの画像名のミスを修正          『DXF→NC(汎用データよるCAM機能)』の修正           ⇒ プログレスバーの表示反映(待機中のイベントを処理修正)          『ぐるぐる描画(OpenGL)』機能を追加           ⇒最低限の機能を有したので公開    ※C#用のOpenGLラッパーライブラリ(OpenTK)を利用していますので、      OpenTK.dll と OpenTK.GLControl.dll が無いと動作しません。             実行ファイル(*.exe)とDLLを同一フォルダにおいて利用して下さい。      (OpenTKについて https://opentk.github.io/) 2016/09/24 Ver3.01           『「BcadGetGlyphOutline」から得られたDXFデータを切削加工用に変換する機能』の修正・追加           ⇒ バグ修正:極小移動の取り扱いを修正           ⇒ 「彫刻加工領域の調整」機能を追加            『DXF→NC(汎用データよるCAM機能)』のアルゴリズムの再検討・改良           ⇒ 再検討:ポリライン(POLYLINE、LWPOLYLINE)データに対応、円弧処理のミスなどを修正           ⇒ 改良:穴位置(サブプログラム用)変換を穴の大きさごとのサブプロに分ける           『描画機能』に指定枠表示を追加 2015/06/26 Ver3.00           DXF出力と「BcadGetGlyphOutline」から得られたDXFデータを切削加工用に変換する機能を追加            その他の見直し(OSP系ターニングセンタ)            ※「BcadGetGlyphOutline」とは、            作者のサイト http://izawa-web.com/ に掲載されている            Windowsフォントの輪郭を取得し、BricsCAD に描画、            またはDXFファイルを作成する秀作なツールです。<(_ _)> 2010/05/05  Ver2.03           解析表示をモードレス表示に変更            シフト変換の修正(0から移動させた場合、カンマをつける)            小数点変換の修正(アドレスHの場合わけをつける) はめあい公差を追加(切削条件計算 を 加工条件計算に変更)            全角→半角変換を追加           (描画機能は全角文字があると落ちる(?)。。。。未対応) 2009/12/19  Ver2.02           切削条件計算の多重起動を修正、シーケンス番号付け直し変換       ABS変換 、モーダル情報の省略変換、少数点変換            GMコード2桁変換、G00Zアプローチ回避変換 まとめて置換機能、G00降下確認機能を追加 アイコン変更(ButtonMaker Ver.4.01を使用<(_ _)>) 2009/10/09  Ver2.01           穴位置(サブプログラム用)変換を追加            極小値を指数標記してしまう問題を改善            円が多数個ある場合の処理の問題を改善            モーダル情報の省略の仕方の誤りを改善 2009/09/27  Ver2.00           簡易CAM機能を追加            改行の省略機能を追加、描画機能のバグ改善            アイコン変更 2009/06/11  Ver1.05           NCプログラムの直接入力可能に改善           (簡易NCエディタとして使用可能) 2009/05/23  Ver1.04           解析表示を改善(描画中のイベントを受け入れる、 拡大表示のタブ追加) 2009/05/10  Ver1.03           保存時の改行表記を改善、切削条件の計算を追加            2009/04/18  Ver1.02           解析表示(Rの大きさと始点終点の距離判定)の機能を追加、            オーバーライド変換の追加、ドロップダウンリストに変更 2009/04/01  Ver1.01           変換後の少数点以下と解析表示のNC旋盤(G02G03)の改良 2009/03/19  Ver1.0 公開