(57)【特許請求の範囲】
【請求項１】
加工対象物の形状データに基づいて、ミル加工を含む数値制御加工プログラムを作成する数値制御加工プログラム作成装置において、
前記形状データに基づいてワーク原点の候補となる複数の形状特徴点を抽出して表示し、前記複数の形状特徴点の中から作業者によって指定された形状特徴点に基づいてワーク原点及び該ワーク原点を原点とするワーク座標系を設定するワーク原点設定部と、
前記形状データ、前記ワーク原点及び前記ワーク座標系からミル加工プログラミングを支援してミル加工プログラムを作成するミル加工プログラミング支援部と、
前記ミル加工プログラムから数値制御加工プログラムを作成する数値制御加工プログラム作成部と、
を備えることを特徴とする数値制御加工プログラム作成装置。
【請求項２】
前記形状特徴点は、加工対象物の形状データのエッジの両端点、円弧エッジの円弧中心点、加工対象物の形状データを包含する直方体の４頂点を含むことを特徴とする請求項１に記載の数値制御加工プログラム作成装置。
【請求項３】
前記ミル加工プログラミング支援部は、
前記形状データから選択した穴加工形状と、同一の穴加工形状を有する１〜複数の穴を前記形状データから抽出して表示する抽出部と、
前記抽出して表示された１〜複数の穴から選択された穴を同一のグループとしてグループ化するグループ化部と、
前記グループ化された穴をグループ化した穴加工プログラムを作成する作成部と、
を備えることを特徴とする請求項１又は２に記載の数値制御加工プログラム作成装置。
【請求項４】
前記ミル加工プログラミング支援部は、
穴加工種類を設定する穴加工種類設定部を有し、
前記グループ化部は、設定された穴加工種類毎に前記グループ化を実行することを特徴とする請求項３に記載の数値制御加工プログラム作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、工作機械を数値制御するための数値制御加工プログラムを作成する数値制御加工プログラム作成装置に関するものである。
【背景技術】
【０００２】
近年、プログラム作成装置のＮＣプログラム作成支援機能の充実化が進み、オペレータが製作図面を見ながらプログラム作成装置に加工対象物の座標値を設定していくことで容易にＮＣ加工プログラムを作成できるようになっている。また、設計者がＣＡＤシステムを用いてモデリングしたＣＡＤデータを、プログラム作成装置に直接読み込んでＮＣ加工プログラムの作成が行なえるプログラム作成装置も提案されている。【０００３】
ところで、製品形状のみのＣＡＤデータを扱う場合、製作図面に記述されている加工指示や寸法表示データがＣＡＤデータに反映されていないことがあり、加工不良を生じさせないように、製作図面に記述されている加工指示データや寸法表示データをＮＣ加工プログラムに反映させておく必要がある。【０００４】
このため、特許文献１では、製品の形状を示し、加工部位を含む原製品形状体の３次元ＣＡＤデータを表示しながら入力装置を介して加工種類および加工部位を選択し、選択した加工部位の３次元空間における絶対形状及び絶対加工位置を、選択した加工部位から抽出し、加工指示及びパラメータに基づいて加工形状体を各加工部位とは別にＣＡＤデータとして生成表示している。【０００５】
また、特許文献２では、色別の穴情報を盛り込んだ３次元製品モデルの表示画面から、加工面毎に穴データを自動的に収集し、データの登録済の穴と未登録の穴とが識別できるようにして、全加工面の穴データを各々属性名を付けてファイルに登録している。また登録データベースより、必要な穴の加工条件を穴データに自動的及びマニュアルにより付加し、同一形状の穴をファイルから探し出しリンクさせると共に穴の円弧データもファイルに書き込むようにしている。【０００６】
また、特許文献３では、加工形状のソリッドモデルから旋削加工形状のソリッドモデルと穴加工形状のソリッドモデルを除去して面加工形状のソリッドモデルを生成し、生成した面加工形状のソリッドモデルと面加工方法からなる面加工データを生成し、旋削加工データと穴加工データと面加工データとから加工プログラムを生成するようにしている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第４２７６６５６号公報
【特許文献２】特開２００３−２８０７１１号公報
【特許文献３】特許第３７４９１８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１の技術では、各機械固有の座標系である機械座標系における仮の基準点を表すワーク原点およびワーク座標系の概念がない。ワーク原点は、加工図面から作業者が判断して、図面寸法が読み取りやすい位置に決めるが、特許文献１には、ワーク原点を設定する技術思想がないため、最適な位置にワーク原点を設定できなかった場合、作業者が図面寸法を読み取りにくく、ＮＣ加工プログラムを容易に効率よく作成できないという問題がある。【０００９】
また、特許文献２の技術では、加工面ごとに穴データをファイル登録する必要があり、多方向から加工を行う多面加工の場合には、加工面が複数有り、作業工数が多くなる問題がある。【００１０】
また、特許文献３の技術では、部品形状や素材形状のソリッドモデルから、旋削加工データと穴加工データと面加工データを自動生成し、自動的に加工プログラムを生成するので、作業者の持っている加工ノウハウを加工プログラムに反映することができないという問題があった。【００１１】
この発明は上記に鑑みてなされたもので、ミル加工を含むＮＣ加工プログラムを容易に効率よく作成可能な数値制御加工プログラム作成装置を得ることを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、この発明にかかる数値制御加工プログラム作成装置は、加工対象物の形状データに基づいて、ミル加工を含む数値制御加工プログラムを作成する数値制御加工プログラム作成装置において、前記形状データからワーク原点を設定するワーク原点設定部と、前記形状データと前記ワーク原点からミル加工プログラミングを支援してミル加工プログラムを作成するミル加工プログラミング支援部と、前記ミル加工プログラムから数値制御加工プログラムを作成する数値制御加工プログラム作成部とを備えることを特徴とする。
【発明の効果】
【００１３】
この発明によれば、ミル加工プログラムを作成する前に、ＣＡＤデータ中にワーク原点を原点とした座標系を表示するようにしているので、ミル加工プログラミング時に作業者に見やすい寸法で加工プログラムの座標を表示することができ、ＮＣ加工プログラムを効率よく作成することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の実施の形態１に係るＮＣ加工プログラム作成装置を示すブロック図である。
【図２】図２は、本発明の実施の形態１に係るＮＣ加工プログラム作成装置の旋削加工プログラミング支援部の動作を示すフローチャートである。
【図３】図３は、図２の動作を補足説明するための図である。
【図４】図４は、図２の動作を補足説明するための図である。
【図５】図５は、本発明の実施の形態１に係るＮＣ加工プログラム作成装置の旋削加工プログラミング支援部の動作を示すフローチャートである。
【図６】図６は、図５の動作を補足説明するための図である。
【図７】図７は、本発明の実施の形態１に係るＮＣ加工プログラム作成装置の旋削加工プログラミング支援部の動作を示すフローチャートである。
【図８】図８は、旋削工具の主切れ刃角、刃先角、副切れ刃角を補足説明するための図である。
【図９】図９は、図７の動作を補足説明するための図である。
【図１０】図１０は、本発明の実施の形態１に係るＮＣ加工プログラム作成装置の旋削加工プログラミング支援部の加工時間算出の動作を示すフローチャートである。
【図１１】図１１は、図１０の動作を補足説明するための図である。
【図１２】図１２は、本発明の実施の形態１に係るＮＣ加工プログラム作成装置のワーク原点設定部の動作を示すフローチャートである。
【図１３】図１３は、図１２の動作を補足説明するための図である。
【図１４】図１４は、図１２の動作を補足説明するための図である。
【図１５】図１５は、図１２の動作を補足説明するための図である。
【図１６】図１６は、図１２の動作を補足説明するための図である。
【図１７】図１７は、この発明の実施の形態１に係るＮＣ加工プログラム作成装置の穴加工プログラミング支援部の動作を示すフローチャートである。
【図１８】図１８は、図１７の動作を補足説明するための図である。
【図１９】図１９は、図１７の動作を補足説明するための図である。
【発明を実施するための形態】
【００１５】
以下に添付図面を参照して、この発明にかかる数値制御加工プログラム作成装置の好適な実施の形態を詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１６】
実施の形態１．
図１は本発明の実施の形態１に係る数値制御加工プログラム作成装置（ＮＣ加工プログラミング装置）の構成を示すブロック図である。ＮＣ加工プログミング装置１０１は、対話操作処理部３、表示部４、指示入力部５、ＮＣプログラミング支援装置１０２、ＮＣ加工プログラム生成処理部９を備えている。ＮＣプログラミング支援装置１０２は、ＣＡＤデータ入力部１、形状データ保存部２、旋削加工プログラミング支援部６、ワーク原点設定部７、穴加工プログラミング支援部８を有している。
【００１７】
なお、このＮＣ加工プログラミング装置１０１は、ＮＣ加工プログラムを作成する専用装置として構築されてもよいし、パーソナルコンピュータ内や、ＮＣ装置内に構築されてもよい。また、ＮＣ加工プログラミング装置１０１のハードウェア構成は、ＣＰＵ、メモリなどを有する一般のパーソナルコンピュータと実質的に同一であり、対話操作処理部３、旋削加工プログラミング支援部６、ワーク原点設定部７、穴加工プログラミング支援部８などは、ソフトウェアにより構成される。
【００１８】
ＣＡＤデータ入力部１は、ＣＡＤシステムやＣＡＤデータ記憶装置などの外部装置からＣＡＤデータ２０を入力し、形状データ保存部２へ送る。ＣＡＤデータ２０は、ＣＡＤシステム等を用いて作成された加工対象物（被加工物）の形状データ（加工対象物の基準寸法）や、ＣＡＤシステム上で設定した面粗さ情報である寸法公差（または公差等級）に関するデータや、ねじやはめあいなどの加工指示に関するデータなどを含んで構成されている。形状データ保存部２は、ＣＡＤデータ入力部１からのＣＡＤデータ２０を記憶する。
【００１９】
表示部４は、液晶モニタなどの表示端末であり、ＣＡＤデータ２０、作業者によって指定された形状データの図形要素や、加工に関するデータ等を表示する。指示入力部５は、マウスやキーボードを備えて構成され、作業者からの指示情報（後述する図形要素や加工に関するデータなど）を入力する。入力された指示情報は、対話操作処理部３へ送られる。
【００２０】
旋削加工プログラミング支援部６は、ワークを回転させ丸く削る旋削加工に関する加工プログラム作成を支援する。旋削加工プログラミング支援部６は、形状データ保存部２に保存されているＣＡＤデータ２０から、旋削加工により仕上げなければならない３次元形状である旋削形状、および前記旋削形状をＸＺ平面のうち＋Ｘのみに限定した＋ＸＺ平面に投影して得られる旋削１／２断面形状を生成し、生成した旋削形状、旋削１／２断面形状および旋削加工データの入力欄などを表示部４に表示させる。この表示の際に、作業者が指示入力部５から指示情報を入力する。入力された指示情報は、対話操作処理部３へ送られ、旋削加工プログラミング支援部６に入力される。旋削加工プログラミング支援部６は、作業者によって指示された旋削形状、旋削１／２断面形状および旋削加工データを基に、工具形状を原因として削り残しとなる部位や溝形状部位を除いた、旋削加工により除去する旋削加工形状を生成し、生成した旋削加工形状と旋削加工データを旋削加工プログラムとして形状データ保存部２へ送る。
【００２１】
ワーク原点設定部７は、形状データ保存部２に保存されているＣＡＤデータ２０から、機械座標系の中の仮の基準点であるワーク原点の候補となる複数の形状要素を形状特徴点として表示部４に表示させる。この表示の際に、作業者が指示入力部５から指示情報を入力する。入力された指示情報は、対話操作処理部３へ送られ、ワーク原点設定部７に入力される。ワーク原点設定部７は、指示された情報から、ワーク原点を示す形状要素、およびワーク原点を基準とした座標系であるワーク座標系を設定する。設定されたワーク原点を示す形状要素およびワーク座標系は、形状データ保存部２に保存される。
【００２２】
穴加工プログラミング支援部８は、ワークを固定し刃物を回転させて削るミル加工に関する加工プログラム作成を支援する。穴加工プログラミング支援部８は、形状データ保存部２に保存されているＣＡＤデータ２０、ワーク原点および座標系を表示部４に表示させると共に、穴加工データの入力欄などを表示部４に表示させる。この表示の際に、作業者が指示入力部５から指示情報を入力する。入力された指示情報は、対話操作処理部３へ送られ、穴加工プログラミング支援部８に入力される。穴加工プログラミング支援部８は、作業者に指示された穴加工を行う対象となる穴形状から穴加工の除去形状である穴加工形状および穴加工データを形状データ保存部２へ送る。穴加工プログラミング支援部８は、形状データ保存部２へ送られた穴形状と同一の穴形状を、形状データ保存部２に保存されているＣＡＤデータ２０から抽出し、表示部４に表示させる。この表示の際に、作業者が指示入力部５から指示情報を入力する。入力された指示情報は、対話操作処理部３へ送られ、穴加工プログラミング支援部８に入力される。穴加工プログラミング支援部８は、形状データ保存部２に送った穴形状と同一の穴形状のうち、作業者が指示した穴形状を、穴加工を行う対象となる穴形状としてグループ化し、グループ化した穴形状（ミル加工形状）と穴加工データ（ミル加工データ）を穴加工プログラムとして形状データ保存部２へ送る。
【００２３】
ＮＣ加工プログラム生成処理部９は、形状データ保存部２に保存されている旋削加工形状および旋削加工に関するデータを含む旋削加工プログラムと、ミル加工形状及びミル加工に関するデータを含むミル加工プログラムと、ワーク原点及びワーク座標系に基づいて、旋削加工プログラムおよびミル加工プログラムを含むＮＣ加工プログラム３０を生成し外部に出力する。
【００２４】
旋削加工プログラミング支援部６についてより詳細に説明する。図２は、旋削加工プログラミング支援部６の動作例を示すフローチャートである。旋削加工プログラミング支援部６では、まず、ＸＹＺ軸のうち、Ｚ軸を、旋削加工を行う際の中心軸である旋削軸ＳＧとする。旋削加工プログラミング支援部６は、製品形状を示すＣＡＤデータ２０から旋削軸ＳＧと回転中心軸を同一とする円柱面、円錐面を旋削面として抽出する（ステップＳ１０１）。ＣＡＤデータ２０がソリッドモデルの境界面表現で定義されている場合は、各境界面の幾何情報を参照することにより、円柱面、円錐面であるか否かを解析できると同時に、円柱面の回転中心軸と円錐面の回転中心軸を解析することができる。図３（ａ）はＣＡＤデータを示す一例であり、図３（ｂ）はＣＡＤデータから抽出された旋削面を示す一例である。
【００２５】
次に、旋削加工プログラミング支援部６は、ステップＳ１０１で抽出された面以外の面をＣＡＤデータ２０から非旋削面として抽出する（ステップＳ１０２）。図３（ｃ）はＣＡＤデータから抽出された非旋削面を示す一例である。次に、旋削加工プログラミング支援部６は、非旋削面を旋削軸ＳＧを中心として回転投影し、＋ＸＺ平面に投影形状を取得する。さらに、旋削加工プログラミング支援部６は、得られた投影形状を包含する長方形の面を、旋削軸中心で３６０度回転することにより、非旋削面の回転形状を生成する（ステップＳ１０３）。図３（ｄ）は非旋削面の回転形状を表す一例である。次に、旋削加工プログラミング支援部６は、旋削面の開いている面（周面に直交する面）をＸＹ平面で補間することにより、旋削面による回転形状を生成する（ステップＳ１０４）。図３（ｅ）は旋削面の回転形状を表す一例である。旋削加工プログラミング支援部６は、旋削面の回転形状と、非旋削面の回転形状を足し合わせることにより、旋削形状を生成する（ステップＳ１０５）。図３（ｆ）は旋削形状を示す一例である。
【００２６】
次に、旋削加工プログラミング支援部６は、生成した３次元の旋削形状を基に、＋ＸＺ平面で、１／２旋削断面形状Ｋ０を生成する（ステップＳ１０６）。旋削形状がソリッドモデルの境界面表現の場合は、＋ＸＺ平面と旋削形状との交差を求めることにより、１／２旋削断面形状を生成することができる。旋削加工プログラミング支援部６は、生成した１／２旋削断面形状Ｋ０を表示部４に表示する（ステップＳ１０７）。図４（ａ）は、１／２旋削断面形状Ｋ０を示す一例である。次に、指示入力部５から作業者が、使用する旋削工具および切削条件からなる旋削加工データ、および＋ＸＺ平面上に旋削加工により除去する形状を入力する。旋削加工により除去する形状として、ワーク素材の形状を入力するようにしてもよい。旋削加工プログラミング支援部６は、作業者によって入力された形状を基に、＋ＸＺ平面上に、旋削加工で除去する部位を示す旋削加工平面形状（旋削加工除去形状）Ｋ１を生成する（ステップＳ１０８）。図４（ａ）に旋削加工平面形状Ｋ１の一例を示している。
【００２７】
次に、旋削加工プログラミング支援部６は、指示入力部５から入力された旋削加工データを基に、旋削溝工具で加工を行う旋削溝形状Ｋ２を旋削加工平面形状Ｋ１から抽出する（ステップＳ１０９）。図４（ｂ）は抽出された旋削溝形状Ｋ２を表す一例である。次に、旋削加工プログラミング支援部６は、指示入力部５から入力された旋削加工データを基に、使用する旋削工具による旋削削り残し形状Ｋ３を旋削加工平面形状Ｋ１から抽出する（ステップＳ１１０）。図４（ｃ）は副切れ刃角による削り残し形状Ｋ３を表す一例である。次に、旋削加工プログラミング支援部６は、旋削加工平面形状Ｋ１から旋削溝形状Ｋ２および旋削削り残し形状Ｋ３を分離する（ステップＳ１１１）。図４（ｄ）は旋削溝形状と副切れ刃角による削り残し形状を分割したあとの旋削加工形状Ｋ４を表す一例である。図４（ｅ）は旋削溝形状Ｋ２と副切れ刃角による削り残し形状Ｋ３を表す一例である。
【００２８】
次に、旋削加工プログラミング支援部６は、旋削加工平面形状Ｋ１から旋削溝形状Ｋ２と旋削削り残し形状Ｋ３を分離した旋削加工形状Ｋ４と、旋削溝形状Ｋ２と、旋削削り残し形状Ｋ３を表示部４に表示する（ステップＳ１１２）。次に、旋削加工プログラミング支援部６は、使用する旋削工具および切削条件からなる旋削加工データと前記旋削加工形状から旋削加工時間を算出し、表示部４に表示する（ステップＳ１１３）。
【００２９】
図５は、図２のステップＳ１０９で行われる旋削溝形状Ｋ２を抽出する動作の詳細を示すフローチャートである。旋削加工プログラミング支援部６は、ステップＳ１０８で得られた旋削加工平面形状Ｋ１から、凸形状を抽出する（ステップＳ２０１）。具体的には、図４に示すような旋削外径形状の場合、１／２旋削断面形状Ｋ０と接する部位の形状要素を順にエッジごとにたどり、エッジとエッジの接続点である頂点ごとに、エッジの接線ベクトルを求め、接線ベクトルのＸ方向の値が負となる箇所を抽出する。次に、旋削加工プログラミング支援部６は、抽出した部位が旋削溝形状Ｋ２の大きさに該当するか否かを判定する（ステップＳ２０２）。旋削加工プログラミング支援部６は、抽出した部位のＸ軸寸法とＺ軸寸法が、作業者が設定した所定の溝幅以下、溝深さ以下であれば、旋削溝形状Ｋ２とする。次に、旋削加工プログラミング支援部６は、抽出した凸形状を分割して旋削溝形状Ｋ２を抽出する（ステップＳ２０３）。
【００３０】
図６（ａ）は、ステップＳ２０１で抽出された凸形状部位Ｊ１、Ｊ２、Ｊ３を表す一例であり、図６（ｂ）は、抽出された旋削溝形状Ｋ２を表す一例である。凸形状部位Ｊ１は、そのＸ軸寸法とＺ軸寸法が作業者が設定した所定の溝幅以下、溝深さ以下ではないので、旋削溝形状Ｋ２からは除外されている。
【００３１】
図７は、図２のステップＳ１１０で行われる旋削削り残し形状Ｋ３を抽出する動作を示すフローチャートである。旋削加工プログラミング支援部６は、図２のステップＳ１０９で旋削加工平面形状Ｋ１から旋削溝形状Ｋ２を抽出した後、作業者が設定した旋削加工データに基づいて使用する旋削工具の刃先角度、主切れ刃角および副切れ刃角を求める（ステップＳ３０１）。主切れ刃角とは工具のすくい角であり、副切れ刃角とは、１８０度から主切れ刃角と刃先角を引いた角度である。図８のＡが切れ刃角、Ｂが刃先角、Ｃが副切れ刃角を表す一例を示している。図８において、４１が主切れ刃、４２が副切れ刃である。旋削加工を行う場合には、副切れ刃角Ｃ以上に切込むことができないため、副切れ刃４２より下側（Ｚ軸側）の形状部位は、旋削工具が加工不可能となり削り残る。
【００３２】
次に、旋削加工プログラミング支援部６は、旋削加工平面形状Ｋ１のうち、１／２旋削断面形状Ｋ０と接する部位の形状要素を順にエッジごとにたどり、エッジとエッジの接続点である頂点ごとに、エッジの接線ベクトルを求め、接線ベクトルのＸ方向の値が負となる箇所を抽出する（ステップＳ３０２）。次に、旋削加工プログラミング支援部６は、旋削加工形状Ｋ４から副切れ刃４２より下側（Ｚ軸側）の部位を抽出する。エッジ端点において、次のエッジの接線ベクトルのＺ軸方向に対する角度が、副切れ刃角以上になる場合、副切れ刃角Ｃで旋削削り残し形状Ｋ３を分離する（ステップＳ３０３）。図９（ａ）は旋削削り残しエッジＱを表す一例であり、図９（ｂ）は抽出された旋削削り残し形状Ｋ３を表す一例である。図９の場合、エッジ端点Ｐ１において、次のエッジＱの接線ベクトルと、Ｚ軸とのなす角度は９０度になるので、削り残しが発生すると判断し、副切れ刃角Ｃで旋削削り残し形状Ｋ３を分離する。
【００３３】
図１０は、図２のステップＳ１１３に示した旋削加工形状の加工時間を算出する動作の詳細を示すフローチャートである。まず、旋削加工プログラミング支援部６は、図２のステップＳ１１１で、旋削溝形状Ｋ２と、使用工具による旋削削り残し形状Ｋ３を分離した旋削加工形状Ｋ４に対して、加工部位に合せて加工開始点を求める（ステップＳ４０１）。本例の場合、旋削加工形状Ｋ４の＋Ｘ側、−Ｚ側端点から、加工余裕量分−Ｚ方向に移動し、切削条件により設定された切込み量分−Ｘ方向に移動した位置が加工開始点Ｓ１となる。図１１（ａ）は、加工開始点Ｓ１を表す一例である。
【００３４】
次に、旋削加工プログラミング支援部６は、加工部位に合せて切削送りで移動する工具経路を生成する（ステップＳ４０２）。例えば、工具経路は、加工開始点Ｓ１からＺ軸と平行に、＋Ｚ方向に移動し、旋削加工形状の＋Ｚ軸方向の端点まで、移動する工具経路となる。次に、旋削加工プログラミング支援部６は、残加工部の有無を判定する（ステップＳ４０３）。残加工部がある場合は、旋削加工プログラミング支援部６は、次の加工開始点まで早送りで移動する工具経路を生成する（ステップＳ４０４）。例えば、前回加工開始点Ｓ１から、−Ｘ方向に移動した位置が次の加工開始点Ｓ２となる。図１１（ｂ）は、切削送りの工具経路と早送りの工具経路を表す一例である。
【００３５】
旋削加工プログラミング支援部６は、残加工部が無い場合は、加工時間を算出する（ステップＳ４０５）。切削送りの全工具経路と、切削条件に設定されている切削送り速度から切削送り時間を算出し、早送りの全工具経路と、切削条件に設定されている早送り速度から早送り時間を算出し、切削送り時間と早送り時間を合計した時間が加工時間となる。旋削加工プログラミング支援部６は、算出した加工時間を表示部４に表示する（ステップＳ４０６）。図１１（ｃ）は、旋削加工形状に対して切削送りの全工具経路と早送りの全工具経路を表す一例である。
【００３６】
つぎに、ワーク原点設定部７について詳しく説明する。図１２は、ワーク原点設定部７の動作を示すフローチャートである。ワーク原点設定部７では、まず、ＣＡＤデータ入力部１から入力されたＣＡＤデータ２０を構成している全エッジからエッジの両端点ＥＧ、全エッジのうち円弧エッジの円弧中心点ＥＫ、ＣＡＤデータ２０を包含する直方体の４頂点ＴＨを形状特徴点として抽出する（ステップＳ５０１）。ＣＡＤデータから抽出される形状特徴点は、ＸＹＺ座標で表される座標系に配置されている。ＣＡＤデータ２０がソリッドモデルの境界面表現の場合は、３次元形状を構成するエッジやエッジの幾何情報をＣＡＤデータ２０から得ることができ、エッジの両端点ＥＧ、円弧エッジの円弧中心点ＴＨおよび包含する直方体を解析することができる。次に、ワーク原点設定部７は、表示部４に形状特徴点ＥＧ、ＥＫ、ＴＨを表示する（ステップＳ５０２）。次に、ワーク原点設定部７は、指示入力部５を介して作業者が指定した形状特徴点に基づいてワーク原点Ｗ０およびワーク座標系を設定する（ステップＳ５０３）。作業者は、形状特徴点ＥＧ、ＥＫ、ＴＨからワーク原点Ｗ０を選択しても良いし、形状特徴点ＥＧ、ＥＫ、ＴＨ以外にワーク原点Ｗ０を設定しても良い。
【００３７】
図１３は、ＸＹＺ座標軸上に配置したＣＡＤデータの一例を示し、図１４は、抽出されたＣＡＤデータの形状特徴点ＥＧ、ＥＫ、ＴＨを表す一例を示している。形状特徴点は、図１４に示すように、例えば、「＊」で表示される。円弧エッジの円弧中心点ＥＫは、この場合、上面に一致するように設定している。図１５は、配置したＣＡＤデータを包含する直方体のＸ軸方向最小値、Ｙ軸方向最小値、Ｚ軸方向最大値の位置に配置したワーク原点Ｗ０及び座標軸の一例を示す。図１６（ａ）は、ワーク原点Ｗ０とワーク座標系を形状の隅に設定した場合を示し、図１６（ｂ）は、形状の中心にワーク原点Ｗ０とワーク座標系を設定した場合の例を示している。
【００３８】
つぎに、穴加工（ミル加工）プログラム支援部８について説明する。図１７は、穴加工プログラミング支援部８の動作を示すフローチャートである。まず、穴加工プログラミング支援部８は、加工種類のうち、登録されている穴加工種類を表示部４に表示する。穴加工種類としては、例えば「ドリル」、「タップ」、「座ぐり穴」、「リーマ」などである。表示部４に表示されている穴加工種類のうち、作業者が任意の穴加工種類を選択する（ステップＳ６０１）。次に、穴加工プログラミング支援部８は、ＣＡＤデータ２０を表示部４に表示する。この表示によって、ＣＡＤデータ２０に含まれる１〜複数の穴のなかから、ステップＳ６０１で選択した穴加工種類によって穴加工を行うべき穴の淵の円弧エッジを一つ指定する（ステップＳ６０２）。
【００３９】
次に、穴加工プログラミング支援部８は、作業者が指定した穴の淵の円弧エッジに連なる円柱面を解析し、穴径、穴深さ等、穴加工パラメータに関する値を、円柱面から解析して、穴加工のパラメータとして設定表示する（ステップＳ６０３）。ＣＡＤデータ２０がソリッドモデルの境界面表現で定義されている場合は、各境界面の幾何情報を参照することにより、円柱面、円錐面であるかを解析できると同時に、穴径となる円柱面の直径や、穴深さとなる円柱面の高さや、穴の面取り部となる頂点を持たない円錐面の上面と底面の直径や頂角や高さや穴底部となる頂点を持つ円錐面の底面の直径や頂角や高さを解析することができる。
【００４０】
次に、図面に指示されている穴のはめあいや、穴の寸法公差により、自動決定された穴加工パラメータを作業者が修正する（ステップＳ６０４）。次に、穴加工プログラミング支援部８は、当該穴形状と同一の穴形状を、ＣＡＤデータ２０から探して表示部４に表示する（ステップＳ６０５）。同一の穴形状とは、穴を構成する円錐面からなる面取り部の寸法、円柱面からなる穴部の寸法、頂点を持つ円錐面からなる穴底部の直径、高さ、頂角が一致する形状を同一穴形状とする。次に、表示部４に表示されている穴形状のうち、作業者が必要な穴形状を選択する（ステップＳ６０６）。次に、穴加工プログラミング支援部８は、選択された穴形状を、穴加工種類および穴加工形状が同一のものとしてグループ化し、グループ化した穴に関する穴加工種類、穴加工形状と穴加工データ（穴位置など）などの情報を含む穴加工プログラムを生成する（ステップＳ６０７）。このような処理を、穴加工種類毎に繰り返す。
【００４１】
図１８（ａ）は、穴加工種類としてタップＭ６とリーマ仕上げが指定されているＣＡＤデータを表す一例を示している。タップＭ６の穴は、符号ＴＰＭ６で示し、リーマ仕上げ加工の穴は、符号ＲＭで示す。例えば、ステップＳ６０１で作業者が穴加工種類として「タップ」を選択し、図１８（ａ）に示す４つのタップＭ６（ＴＰＭ６）のうち１つを選択指示すると（ステップＳ６０２）、選択指示された穴加工パラメータが表示部４に表示され（ステップＳ６０３）、この表示された加工パラメータが作業者によって修正される（ステップＳ６０４）。
【００４２】
穴加工プログラミング支援部８は、ステップＳ６０２で選択指示された１つの穴形状と同一の穴形状を、ＣＡＤデータ２０から探して表示部４に表示する（ステップＳ６０５）。この場合、４つのタップＭ６（ＴＰＭ６）と６つのリーマ仕上げ穴ＲＭは、穴形状が同一なので、図１８（ｂ）に示すように、４つのタップＭ６（ＴＰＭ６）と６つのリーマ仕上げ穴ＲＭが表示部４に例えば、色を変えるなどして強調表示される。作業者は、強調表示された１０個の穴のなかからタップＭ６（ＴＰＭ６）加工を行う穴を選択指示する（ステップＳ６０６）。穴加工プログラミング支援部８は、選択された穴形状を、穴加工種類および穴加工形状が同一のものとしてグループ化し、グループ化した穴に関する穴加工種類、穴加工形状と穴加工データ（穴位置など）などの情報を穴加工プログラムとして生成する（ステップＳ６０７）。穴加工種類がリーマ仕上げ加工の穴に関しても同様の処理を実行する。
【００４３】
図１９は、図１８に示した穴形状が同一の１０個の穴に関する穴加工プログラムを示すものである。穴加工プログラムは、加工種類がタップ加工である４つの穴に関するグループＴＰと、加工種類がリーマ仕上げ加工である６つの穴に関するグループＲＭに分類されている。
【００４４】
このようにこの実施形態では、ミル加工プログラムを作成する前に、ＣＡＤデータ中にワーク原点を原点とした座標系を表示するようにしているので、ミル加工プログラミング時に作業者に見やすい寸法で加工プログラムの座標を表示することができ、ＮＣ加工プログラムを効率よく作成することが可能となる。
【００４５】
また、ワーク原点を設定する際には、ＣＡＤデータから機械座標系の中の仮の基準点であるワーク原点の候補となる複数の形状要素を形状特徴点として表示部に表示させることとしているので、作業者は寸法の見易いワーク原点を効率よく設定することが可能となる。
【００４６】
また、穴加工プログラムを作成する際、穴形状が同一の複数の穴を表示することとしたので、穴加工種類、穴形状が同じ穴をグループ化して穴加工プログラムを作成することができ、プログラム作成の作業工数が少なくなり、ＮＣ加工プログラムを効率よく作成することが可能となる。また、グループ化の際、グループ化すべき穴を作業者が逐次選択することができ、作業者のノウハウを反映できる。
【００４７】
なお、本実施形態では、旋削加工プログラミング支援部６を設けるようにしているが、穴加工専用のプログラム作成装置の場合は、旋削加工プログラミング支援部６の構成を無くすようにしてもよい。
【産業上の利用可能性】
【００４８】
以上のように、この発明にかかる数値制御加工プログラム作成装置は、ワーク原点を指定するミル加工のＮＣプログラムの作成に用いられるのに適している。
【符号の説明】
【００４９】
１  データ入力部、２  形状データ保存部、３  対話操作処理部、４  表示部、５  指示入力部、６  旋削加工プログラミング支援部、７  ワーク原点設定部、８  穴加工プログラミング支援部、９  ＮＣ加工プログラム生成処理部、２０  ＣＡＤデータ、３０  ＮＣ加工プログラム、１０１  ＮＣ加工プログラム作成装置、１０２  ＮＣプログラミング支援装置。
【要約】
加工対象物の形状データからワーク原点を設定するワーク原点設定部と、前記形状データと前記ワーク原点からミル加工プログラミングを支援してミル加工プログラムを作成するミル加工プログラミング支援部と、前記ミル加工プログラムから数値制御加工プログラムを作成する数値制御加工プログラム作成部とを備え、ミル加工プログラミング時に作業者に見やすい寸法で加工プログラムの座標を表示する。【図１】
0005436731.tif 000002
【図２】
0005436731.tif 000003
【図３】
0005436731.tif 000004
【図４】
0005436731.tif 000005
【図５】
0005436731.tif 000006
【図６】
0005436731.tif 000007
【図７】
0005436731.tif 000008
【図８】
0005436731.tif 000009
【図９】
0005436731.tif 000010
【図１０】
0005436731.tif 000011
【図１１】
0005436731.tif 000012
【図１２】
0005436731.tif 000013
【図１３】
0005436731.tif 000014
【図１４】
0005436731.tif 000015
【図１５】
0005436731.tif 000016
【図１６】
0005436731.tif 000017
【図１７】
0005436731.tif 000018
【図１８】
0005436731.tif 000019
【図１９】
0005436731.tif 000020