ファナック

Fusion360 ポストプロセッサ危険な設定

このサイトでも、下記記事から連載でFusion360 CAM のポストプロセッサの編集方法を紹介してきました。筆者も自作したポストを実際の加工にも使用していますが、先日製品に食い込んでしまうパスを発見しました。シミュレーションレベルで発見できたので大事にはいたりませんでしたが、その事例を紹介します。 あっ!食い込んでる。 Fusion360 CAMは、全ての加工ではないですが実際の加工にも自作のポ […]

Fusin360 CAMポストプロセッサ徹底解説・onSectionEnd( ) & onClose( )

いよいよ最後の締めくくりです。今回検討している、NCデータ仕様では、各セクション(工程)の終了と、NCプログラム全体の終了処理を担当します。 加工後の終了処理 セクション(工程)の終了 ①M09 (クーラント停止)②M05 (主軸回転停止)③G91G28Z0. (リファレンス点へ退避)④G49 (工具長補正キャンセル)⑤G90G00G17 (モーダル情報リセット)⑥M01 (単工程再加工考慮、オプ […]

Fusin360 CAMポストプロセッサ徹底解説・onSection( )の編集 No2

onSection( )改造の第二弾です。前回は、シーケンス番号、工具情報、リファレンス点へ退避、工具長補正キャンセル、モーダル初期化、まで行いました。今回は、⑥~⑪ 工具交換、工具長補正、主軸回転、クーラント、ドゥウェルのコードの出力を行います。 onSection( )編集 第二弾 セクション(工程)の始まり ①N0001 (工程番号と同じシーケンス番号)②(工具情報)③G91G28Z0. ( […]

Fusin360 CAMポストプロセッサ徹底解説・onSection( )の編集 No1

前回は、NCプログラムの始まりを担当する、onOpen( )関数を編集しました。今回は、各セクション(工程)ごとの始まりを担当する、onSection( )を編集していきます。 オリジナルポストの確認 前回、オリジナル(fanuc.cps)のonOpen部分を改造し「fanuc_new.cps」として保存しました。onSection( )はオリジナルのままなので、このファイルでポスト処理させてみま […]

Fusion360 CAM ポストプロセッサ徹底解説・onOpen()の編集

前回で作成したいNCプログラムの構成は決定できました。また、参考にしている「fanuc.cps」のエントリー関数の影響範囲も把握できました。今回からは、希望のプログラム構成にするために、オリジナル「fanuc.cps」を改造していきます。 オリジナルと希望NCプログラム構成を比較 NCスタート時のプログラム構成は、このようにしようと思います。 %O番号(コメント)(全工具情報)G90G00G17G […]

Fusion360 CAM ポストプロセッサ徹底解説・NCプログラム仕様検討

ポストプロセッサファイルの編集前にNCデータ仕様を検討します。対象は、Fanuc系マシニングセンター用のNCプログラムで工具の自動交換に対応したデータをターゲットにしようと思っています。今回もFusion360に標準でインストールされている「fanuc.cps」を参考に説明していきます。まずは、適当な名前でコピーしておきましょう。ここでは、「fanuc_new.cps」としました。 ポストプロセッ […]

Fusion360 CAM ポストプロセッサ徹底解説・関数

Fusion360 ポストファイルの構成は、グローバルセクションやグローバル変数定義の後は、関数の集まりになっています。関数とはなんでしょう? 関数とは? 決まった処理をさせるプログラミング指令のかたまりですが、場合によっては引数から情報を受け取り、結果を返したりします。NC言語で例えると、サブプログラムやマクロ呼び出しのような機能です。関数は、言語に標準で付属している定義もありますし、自分で作成 […]

Fusion360 CAM ポストプロセッサ徹底解説・グローバルセクション

ポストプロセッサが最初の初期化に使用する、変数やテーブルをグローバルセクションと呼ぶようです。これには、ポストカーネルからの情報であるカーネル設定変数、ポスト処理のダイアログに表示されるプロパティテーブル、NCデータの出力形式を制御するフォーマット定義、さらに、全ての関数がアクセスできるグローバル変数などが定義されています。今回の記事を書くにあたっては、標準でインストールされている「fanuc.c […]

Fusion360 CAM ポストプロセッサ徹底解説・変数

さぁ、いよいよ前回説明した、エントリ関数を編集して、希望のNCデータ構成にしてみようか・・・と思っていましたが、トレーニングガイドを眺めて見るとポストプロセッサとのやりとりや、NCデータの出力書式などを定義している、グローバルセクションは少し理解しておいた方がよさそうです。その前に、JavaScript言語の変数についても、少し詳しく調べてみました。偶然、変数宣言で、Fusion360ポストと一般 […]

Fusion360 CAM ポストプロセッサ徹底解説・構成編

このサイトのNCプログラム構成の記事でも、触れていますが、NCデータの構成は4つに整理する事ができます。 ・全工程の始まり・加工工程の前・・・ 実際の加工経路 ・・・・加工工程の後・全工程の終わり 同様の視点でしょうか、前回の記事、ポストプロセッサの構成も同様になっていますね~ onOpen( )onSection( )・・・・・・・・onSectionEnd( )onClose( ) したがって […]

Fusion360 CAM ポストプロセッサ徹底解説・概要編

数回にわたって、Fusion360 CAM のポストプロセッサの説明をしようと思います。しかし、筆者自身も独学なので、わかっている範囲での説明になりますし、もしかすると間違いもあるかもしれませんので、ご了承ください。ただ、ポストプロセッサはNCデータを出力する機能であり、それ自身が機械を動かすわけではありません。最終的にはポストプロセッサによって出力されたNCデータを確認する事が重要になります。 […]

カスタムマクロで段取り支援

オプション扱いの場合もありますが、CNC制御にはNCデータを操作したり、制御機のデータを読み書きしたりできる、マクロと呼ばれているプログラム機能があります。マクロは、簡易的ですがプログラミング的な言語構造と変数を使用できるため、NCプログラムをパラメータ化して汎用的なプログラムを作成する事ができます。ただし、制御機によってプログラム構文は違うため、違う制御機での互換性はありません。今回はマクロの使 […]

DXFから、穴情報を取出す

外出自粛のなか、DXFデータの円要素を読み込み、穴情報を取り出すソフトを作成してみました。CADなどで描いた「円要素」を穴と捉え、位置や直径などを取り出します。取り出した情報ファイルはテキストやエクセルの他に、簡易的なNCデータも自動作成する仕様としました。 DXFファイル 「DXF」は「Autodesk社」が開発した、CAD間でやり取りできる、データ構造の一種ですが、事実上の標準フォーマットにな […]

NCプログラム/工具長補正

前回は「工具径補正」について説明しました。これは、定義されている輪郭(工具経路)を制御機に再定義(オフセット)させる指令です。この機能により、使用工具径や加工状況に合わせて「輪郭」を再定義し直す処理が省略できます。ただし、あくまでも定義輪郭に対して「オフセット」させる機能なので、横縦の比率など「輪郭形状自体 」 を変形させる事はできません。今回は、工具軸方向(ここではZ軸) 縦型マシニングセンター […]

NCプログラム/工具径補正

前回、図形を定義する基本的なGコードの説明をしました。これで、工具経路の輪郭の定義はできるようになると思います。ただ、これは工具中心経路の定義なので、実際の加工を想定すると工具径も考慮する必要があります。また、マシニングセンターのような工具を自動で交換する機械の場合には、使用工具の長さも考慮しなければいけません。前回までのGコードで、工具径や工具長まで考慮してNCプログラムする事は可能ですが、使用 […]

NCプログラム/Gコード 工具経路指令

前回は、NCプログラムの概要を説明しました。今回は工具経路の図形を定義する指令に使用されるGコードについて説明します。ここまで理解できれば、二次元の図形をGコードで定義できるようになります。 絶対座標系と相対座標系 経路指令なので、「どこへ行け!」が基本になりますが「どこへ」の指令に2種類の指令方法があります。 「絶対座標系:G90」と「相対座標系:G91」です。ちょっと面倒くさそうな言葉ですが、 […]