以下、この発明をその実施の形態を示す図面に基づいて具体的に説明する。なお、図中において同じ符号は、対応するまたは実質的に同一の構成を示している。
図1は、本発明の実施形態に係るシステム10の概略構成を示す。システム10は、工作機械100、コンピュータ200、及び、工作機械100とコンピュータ200とを接続するネットワーク290とを含む。ネットワーク290は、例えば、工場内に設置されるLAN(ローカルエリアネットワーク)である。図示されているネットワーク290は有線ネットワークであるが、ネットワーク290は無線ネットワークであってもよい。なお、図1に示すX軸は、工作機械100の高さ方向に沿い、Y軸は、工作機械100の奥行方向に沿い、Z軸は、工作機械100の幅方向に沿っている。本実施形態では、JIS規格に基づいて、ワークを保持する第1主軸122の回転軸線A3に平行な軸をZ軸としている。本実施形態では、この座標系をワーク座標系と呼ぶ。
工作機械100は、ワークW1に対する切削加工(machining)を行う。切削加工は、旋削加工(turning)、ミル加工(milling)、削孔加工(drilling)、ネジ加工(threading)、リーマ加工(reaming)、及び、ボーリング加工(boring)の少なくとも1つを含む。図1に示すように、工作機械100は、コラム110と、第1主軸台120と、第2主軸台121と、を備えている。コラム110、第1主軸台120、及び、第2主軸台121は、基台140の上に配置されている。
コラム110は、基台140上において、Y軸方向およびZ軸方向に移動可能である。コラム110には、工具主軸台112が取り付けられている。工具主軸台112は、コラム110に対して、X軸方向に移動可能である。工具主軸台112は、コラム110に対して、Y軸方向に沿う旋回軸線A1周りに旋回可能である。工具主軸台112には、工具主軸114が取り付けられている。工具主軸114は、工具主軸台112に対して回転軸線A2回りに回転可能である。回転軸線A2は、旋回軸線A1に直交する。工具主軸114には、切削工具(machining tool)である工具Taが保持されている。切削工具とは、旋削工具、ミル工具、削孔工具(drilling tool)、ネジ加工工具(threading tool)、リーマ工具(reaming tool)、及び、ボーリング工具(boring tool)を包含する概念である。工作機械100は、工具Taを他の工具に交換するための、図示しない工具交換装置をさらに備える。工具Taは、ワークW1の加工内容に合わせて必要に応じて交換される。
本実施形態では、軸線A1と軸線A2との交点を機械原点Omと呼び、回転軸線A2をZm軸とし、旋回軸線A1をYm軸とし、Zm軸とYm軸との夫々に対して垂直な軸をXm軸とする座標系を機械座標系と呼ぶ。機械原点Omから第1工具T1の先端に向かう方向をZm軸の正方向とする。ワーク座標系のZ軸の正方向を機械座標系のZm軸の正方向と同じ方向に向かうように、ワーク座標系のX軸をY軸回りに回転させたときのワーク座標系のX軸の正方向を、機械座標系のXm軸の正方向とする。ワーク座標系のY軸の正方向を機械座標系のYm軸の正方向とする。
第1主軸台120は、基台140上に固定されている。第1主軸台120は、第1主軸122を備える。第1主軸122は、回転軸線A3周りに回転可能である。回転軸線A3は、Z軸方向に沿っている。第1主軸122には、第1チャック124を備える。第1チャック124は、ワークW1の第1端を掴持する。第2主軸台121は、基台140上でZ軸方向と平行な方向に移動可能に設けられている。第2主軸台121は、第2主軸123を備える。第2主軸123は、回転軸線A3周りに回転可能である。第2主軸123には、第2チャック125を備える。第2チャック125は、ワークW1の第1端とZ軸方向反対のワークW1の第2端を掴持する。工作機械100は、ワークW1の第2端を加工するときは、ワークW1を第1チャック124に掴持させる。工作機械100は、ワークW1の第1端を加工するときは、ワークW1を第2チャック125に掴持させる。
工作機械100は、各回転軸線回りの回転、各旋回軸線回りの旋回及び各軸方向における移動を制御するために、制御装置150を備えている。制御装置150は、基台140に接続されている。ここで、制御装置150は、工作機械100の他の箇所に接続されてもよく、制御信号の送信や検出結果の受信ができれば、基台140とは別に設置されてもよい。
図2は、制御装置150のハードウェアブロック図である。図2に示すように、制御装置150は、プロセッサ151と、メモリ152と、通信回路153と、タッチパネル付きディスプレイ154と、を備えている。プロセッサ151と、メモリ152と、通信回路153と、タッチパネル付きディスプレイ154は、バス155を介して互いに接続されている。メモリ152は、加工に必要なプログラム、負荷表示に必要なプログラム、及び、それらに必要なデータを記憶している。プロセッサ151は、メモリ152に記憶されたプログラムを読み出して、読みだしたプログラムを実行する。これにより、制御装置150の各機能は、実現される。制御装置150が実現する各機能には、切削加工の実行の制御が含まれる。具体的には、メモリ152は、加工プログラム157を記憶している。加工プログラム157は、切削加工を実行するための制御指令を含んでいる。通常、加工プログラム157は、コンピュータ200において編集され、ネットワーク290を介して制御装置150に送信され、メモリ152に記憶される。通信回路153は、ネットワーク290を介してコンピュータ200と通信するための、通信パケットからデータへの変換機能とデータから通信パケットへの変換機能と通信パケット送受信機能とを有している。
本実施形態では、メモリ152は、工作機械100に装着可能な工具Taの工具情報158を記憶する。工具情報158とは、工具Taに対応するT番号(T number)、工具Taの名称、工具Taの材質、工具Taの刃の特性(characteristics)、及び工具Taの使用状態(摩耗状態)を含む。工具Taの刃の特性とは、工具Taの呼び径、工具長(tool length)、工具径(tool diameter)、軸方向オフセット(axial offset)、径方向オフセット(radial offset)、刃数、刃先幅、刃先形状を規定する円弧の曲率半径(刃先の曲率半径)R、刃の割出角度(indexing angle)、有効な主軸回転方向、及び、刃の向きを含む。
工具長とは、摩耗のない(新品の)工具Taが工具主軸114に取り付けられた状態での回転軸線A2に沿う向き(以下、軸方向と呼ぶ)の工具Taの長さである。別の言い方をすれば、工具長とは、機械座標系での工具TaのZm軸方向の長さである。工具径とは、摩耗のない(新品の)工具Taが工具主軸114に取り付けられた状態での回転軸線A2に対して垂直な向き(以下、径方向と呼ぶ)の工具Taの直径である。軸方向オフセットとは、摩耗のない(新品の)工具Taが工具主軸114に取り付けられた状態での、工具Taの基端点から工具Taの切刃先端部(tool tip)までの軸方向の距離である。工具Taの基端点とは、工具Taが工具主軸114に取り付けられた状態での工具Taの軸方向に沿う2つの端点のうち、工具主軸114に把持される工具Taの部分に属する端点である。別の言い方をすれば、軸方向オフセットとは、機械座標系での工具Taの基端点から切刃先端部までのZm軸方向の距離である。径方向オフセットとは、摩耗のない(新品の)工具Taが工具主軸114に取り付けられた状態での、工具Taの基端点から工具Taの刃先(cutting edge)までの径方向の座標値である。この座標値は、工具主軸台112が図1に示される姿勢であるときに、工具Taが工具主軸114に取り付けられた状態での工具Taの刃先のXm座標の値である。
刃の割出角度とは、旋削工具の刃先が第1主軸122に向けられるか第2主軸123に向けられるかを示している。割出角度が0度である場合、旋削工具の刃先が第1主軸122に向けられる。割出角度が180度である場合、旋削工具の刃先が第2主軸123に向けられる。有効な主軸回転方向とは、旋削工具が向けられた主軸を旋削工具からみたときの当該主軸の有効な回転方向(時計回り、または、反時計回り)を示す。刃の向きとは、旋削工具が左勝手(left-handed)か右勝手(right-handed)かを示す。
メモリ152は、さらに、素材情報161と機械定数(machine constant)データ162とを含む。素材情報161とは、加工するワークW1(被加工物(workpiece) W1)となる素材の参照情報(名称、IDなど)、形状(外径、内径(孔が空いている場合)、長さ)、及び、特性(比切削抵抗x(kg/mm2)を含む。機械定数データ162は、切削条件の計算において使用される工作機械100固有のパラメータである。機械定数データ162は、例えば、機械効率η、機械馬力HP(HP)、加工制限(仕上げ代)である。工具情報158は、通信回路153によって、ネットワーク290を介してコンピュータ200に送信される。また、工具情報158及び素材情報161は、後述する加工プログラム生成プログラム156の実行時に、メモリ152から読み出される。メモリ152は、加工プログラム157を生成するための加工プログラム生成プログラム156を記憶してもよい。加工プログラム生成プログラム156の機能は後述する。
タッチパネル付きディスプレイ154は1つのディスプレイ154でなくてもよく、複数のディスプレイの集まりであってもよい。なお、タッチパネル付きディスプレイ154のディスプレイは、ディスプレイの一例であり、タッチパネルは、インタフェースの一例である。なお、タッチパネル付きディスプレイ154は、タッチパネルのないディスプレイと、ディスプレイ周辺に設けられたボタン・スイッチ・レバー・ポインティングデバイス等の入力機器との組み合わせによって代替されてもよい。その場合、当該入力機器は、インタフェースの一例である。
図3は、コンピュータ200のハードウェアブロック図である。図3に示すように、コンピュータ200は、プロセッサ210と、メモリ220と、通信回路230と、ディスプレイ240と、入力インタフェース250と、を備えている。プロセッサ210と、メモリ220と、通信回路230と、ディスプレイ240と、入力インタフェース250は、バス260を介して互いに接続されている。入力インタフェース250は、インタフェースの一例であって、例えば、キーボード、マウスなどのポインティングデバイスを指す。なお、コンピュータ200は、タッチパネル付きディスプレイを有するタブレットコンピュータのように、ディスプレイ240と入力インタフェース250とが一体化されたものであってもよい。
メモリ220は、上述する加工プログラム157、工具情報158、素材情報161、加工プログラム生成プログラム221と、オペレーティングシステムなどのプログラムと、を記憶している。加工プログラム生成プログラム221は、加工プログラム生成プログラム156と実質的に同じ機能を有する。ただし、加工プログラム生成プログラム221の画面表示方法が加工プログラム生成プログラム156の画面表示方法と部分的に相違してもよい。プロセッサ210は、メモリ220に記憶されたプログラムを読み出して、読みだしたプログラムを実行する。通信回路230は、ネットワーク290を介して制御装置150と通信するための、通信パケットからデータへの変換機能とデータから通信パケットへの変換機能と通信パケット送受信機能とを有している。
コンピュータ200は、通信回路230を利用して、加工プログラム生成プログラム221を利用して生成された加工プログラム157を制御装置150に送信することができる。さらに、コンピュータ200は、加工プログラム生成プログラム221が実行されると、通信回路230を利用して、最新の工具情報158を、制御装置150から受信し、メモリ220内の工具情報158を更新することができる。
次に、加工プログラム157の内容について説明する。本実施形態において、加工プログラム157は、工作機械100を数値制御するためのプログラムコードによって記述されている。加工プログラム157では、少なくとも以下の内容が定義される。
(1)共通ユニット:被加工物W1の材質及び形状
(2)基本座標ユニット:ワーク座標系と機械座標系の設定方法
(3)加工ユニット:最終加工形状のうちの各部位(part)の加工法や加工形状
共通ユニット、基本座標ユニット、加工ユニットは、それぞれ、ユニット番号(unit number)を有している。加工ユニットは、加工内容を特定する情報を含むユニットデータと、工具Ta及び工具Taの切削条件(cutting condition)を設定する工具シーケンスと、当該加工ユニット内で加工される加工形状を規定する形状シーケンスとを含む。工具シーケンスとは、当該加工ユニットで規定される部位の加工形状(例えば、1つの棒材、1つのネジ山)を形成する上で必要となる一連の加工段階(machining stages)(1つの形状を形成する上で、工具を入れ替えながら荒加工(rough processing)、仕上げ加工(finishing processing)を行う一連の段階(例えば、穴加工(hole machining)の場合、スポット加工、徐々に工具径の大きいドリルを使った穴あけの荒加工、リーマ加工などの仕上げ加工のような一連の段階);ネジ加工の場合、スポット加工(spotting)、下穴加工(prepared hole processing)、タップ加工(tapping)の一連の段階)をいう。形状シーケンスとは、加工形状を決定するためのワーク座標での工具の刃先の開始点、終了点、開始点と終了点との間の接続関係(直線、円弧など)によって定義されたセグメント(segment)の集合をいう。ただし、ネジ加工(タップ加工)におけるネジのピッチは、加工ユニットのユニットデータの中に含まれる。本実施形態では、工具シーケンスのうちの1つの工具が行う加工段階のことを加工プロセス(machining process)と呼び、以下説明する。
加工プログラム157は、加工作業において使用される少なくとも1つの工具Ta、及び、少なくとも1つの工具Taの各工具による加工作業中の少なくとも1つの加工プロセスを規定する。加工プロセスには、当該加工段階における工程(process)を実現するための、工具Ta及び工具Taの切削条件が定義される。工具Taの切削条件は、切削速度Vc、工具TaのワークW1に対する切込量、及び、ワークW1の送り速度(feed speed)を含む。切削速度Vc(m/min)は、主軸回転速度をnw(min-1)とし、ワーク直径をD(mm)とするとき、Vc=π×D×nw/1000という式から求められる。本実施形態では、送り速度とは、主軸1回転あたりの送り量(feed per revolution)f (mm/rev)を意味する。加工プロセスを定義するパラメータは、当該加工プロセスの段階を特定する情報(例.荒加工、仕上げ加工、スポット加工、下穴加工、タップ加工など)と、当該加工プロセスが属する加工ユニットの中での実行順を示す番号とをさらに含む。したがって、例えば、加工プログラム157の中で、工具シーケンスの中での荒加工の加工プロセスを番号1、仕上げ加工の加工プロセスを番号2として定義されているとすると、荒加工の加工プロセスが先に実行され、その後、仕上げ加工の加工プロセスが実行される。また、加工プロセスで定義される工具Ta及び工具Taの切削条件は、同じ加工ユニット内の形状シーケンス全体に適用される。
<全体の表示画面>
図4は、実施形態に係る加工プログラム生成プログラム221の表示画面(display screen)30の一例である。当該表示画面30は、ディスプレイ240(154)に表示される。表示画面30は、ステップ状態表示画面(step status display window)40、設定ステップ状態表示画面(setting step status display window)50、3D(dimension)モデル表示画面(3D model display window)60、ドキュメント保存インタフェース88、ステップ移行インタフェース(step transition interface)89、及び呼出インタフェース(call interface)90を表示する。
ステップ状態表示画面40は、被加工物W1を目標物に加工するために工作機械100を制御するための設定情報を設定するための複数のステップを表示する。当該複数のステップは、目標物の形状を設定する第1ステップ(初期設定ステップ411)と、被加工物W1の形状および材質を設定する第2ステップ(素材設定ステップ412)と、被加工物W1中の目標物が占める部分を特定する情報を設定する第3ステップ(モデル配置ステップ413)と、被加工物W1中の工作機械が掴持する部分と、被加工物W1に対する切削方向とを設定する第4ステップ(加工設定ステップ414)と、を含む。この目標物とは、製品、もしくは製品中の部品である。複数のステップは、生成される加工プログラムの内容を確認し、必要に応じて追加編集する第5ステップ(プログラム生成ステップ415)を含んでもよい。但し、プログラム生成ステップ415は省略可能である。したがって、複数のステップは、第1ステップ、第2ステップ、第3ステップ、及び、第4ステップのみから成ってもよい。なお、設定情報の詳細については後述する。
複数のステップは、ボタン41によって表示され、複数のステップのうち設定情報を設定するべき設定ステップを選択することが可能である。ただし、設定ステップは、あらかじめ定められた順序に基づき、自動的に選択されるため、すでに設定されたステップについてはボタン41の操作によって遷移することが可能である。しかし、設定ステップに対応する設定情報が全て設定されていないと判定される場合、次のステップに進むことができない。図4は、モデル配置ステップ413まで完了しており、加工設定ステップ414の途中の段階を示している。つまり、図4では、設定ステップが加工設定ステップ414である。この場合、初期設定ステップ411、素材設定ステップ412、モデル配置ステップ413に関するボタン41を操作(タッチパネル付きディスプレイ154を介したタップ操作や入力インタフェース250を介したマウスクリックなど)することによって、操作されたステップに戻ることはできるが、プログラム生成ステップ415に関するボタン41は非活性(inactive)となっており、ユーザはプログラム生成ステップ415に関するボタン41を操作することができない。
ボタン41の左端には、設定ステップに対応する設定情報が全て設定されたと判定された場合、設定ステップについて設定が完了したことを示す情報36であるチェックマーク(checkmark)が表示されている。図4の例では、初期設定ステップ411、素材設定ステップ412、及びモデル配置ステップ413に係るボタン41の左端に当該情報36が表示されている。しかし、当該情報36は、他の絵記号(pictorial symbol)またはテキストであってもよく、設定完了のステップに係るボタン41の内部の色、テキスト表示、視覚的効果(点滅など)であってもよい。また、当該情報36の表示位置は、設定完了のステップに係るボタン41の左端でなくてもよい。ただし、当該情報36の表示位置は、設定完了のステップに係るボタン41に近接されている、もしくは設定完了のステップに係るボタン41内部にあることが望ましい。
図4において設定途中のステップである加工設定ステップ414のボタン41の左端には、設定ステップについて設定途中であることを示す情報37である注意マーク(caution mark)が表示されている。しかし、当該情報37は、他の絵記号(pictorial symbol)またはテキストであってもよく、設定途中のステップに係るボタン41の内部の色、テキスト表示、視覚的効果(点滅など)であってもよい。また、当該情報37の表示位置は、設定途中のステップに係るボタン41の左端でなくてもよい。ただし、当該情報37の表示位置は、設定途中のステップに係るボタン41に近接されている、もしくは設定途中のステップに係るボタン41内部にあることが望ましい。
設定ステップ状態表示画面50は、設定ステップに関する設定情報の設定状態を表示する。図4は、設定ステップ状態表示画面50が加工設定ステップ414に関する設定情報の設定状態を表示する例を示している。加工設定ステップ414は、工程分割サブステップ451と加工属性設定サブステップ452との2つのサブステップから成る。このため、設定ステップ状態表示画面50は、工程分割サブステップ451に係る設定状態54と、加工属性設定サブステップ452に係る設定状態55と表示している。設定状態54、55の内容の詳細は後述する。
3Dモデル表示画面60は、設定ステップに対応する、被加工物W1の形状と、目標物(target)の形状とのうちの少なくとも1つを示すコンピュータグラフィックス(CG)画像を表示する。図4では、3Dモデル表示画面60は、目標物の3Dモデル(目標物モデル(target model))61と被加工物W1の3Dモデル(被加工物モデル62)とを表示している。図4では、説明の便宜上、目標物モデル61が実線で被加工物モデル62は二点鎖線で表示されているが、表示方法は図4に示したものに限られない。目標物モデル61、被加工物モデル62はワイヤーフレームであってもソリッドモデルであってもよい。また、被加工物モデル62は半透明表示のソリッドモデルであってもよい。さらに、図4では、3Dモデル表示画面60は、設定ステップ(工程分割サブステップ)に対応する設定情報を設定するための設定インタフェース300を兼用している。いずれのステップにおいても、設定ステップに対応する設定情報が設定されていないとき、設定インタフェース300は自動的に表示される。設定インタフェース300の詳細は後述する。
3Dモデル表示画面60は、少なくとも1つのビュー制御アイコン(view control icon)70を表示している。少なくとも1つのビュー制御アイコン70は、展開アイコン(unfold icon)71を含む。展開アイコン71がOFFのときは、3Dモデル表示画面60には、少なくとも1つのビュー制御アイコン70のうち、展開アイコン71のみが表示される。展開アイコン71がONのときは、アイコン72〜79、または、図5に示されるアイコン72、73、80〜85が表示される。
少なくとも1つのビュー制御アイコン70は、ビューポート制御アイコン(viewport control icon)72と表示アイテム制御アイコン73(display item control icon)とを含む。ビューポート制御アイコン72と表示アイテム制御アイコン73とのうちのいずれか一方が選択的に活性化される。図4は、ビューポート制御アイコン72が活性化された例を示し、図5は、表示アイテム制御アイコン73が活性化された例を示す。図4を参照すると、ビューポート制御アイコン72が活性化されると、フィッティングボタン74、正面視表示ボタン(front view representation button)75、平面視表示ボタン(plan view representation button)76、左側面視表示ボタン(left side view representation button)77、反対図表示ボタン(opposite view representation button)78、及び二等角投影表示ボタン(dimetric perspective representation button)79が表示される。つまり、少なくとも1つのビュー制御アイコン70は、フィッティングボタン74、正面視表示ボタン75、平面視表示ボタン76、左側面視表示ボタン77、反対図表示ボタン78、及び二等角投影表示ボタン79を含む。
フィッティングボタン74が操作されると、表示中の目標物モデル61、または、表示中の被加工物モデル62が3Dモデル表示画面60に収まるように拡大または縮小される。正面視表示ボタン75が操作されると、目標物モデル61、及び/または、被加工物モデル62の正面図(ワーク座標系のZ軸負方向に3Dモデルを見た図)が3Dモデル表示画面60に表示される。平面視表示ボタン76が操作されると、目標物モデル61、及び/または、被加工物モデル62の平面図(ワーク座標系のX軸負方向に3Dモデルを見た図)が3Dモデル表示画面60に表示される。左側面視表示ボタン77が操作されると、目標物モデル61、及び/または、被加工物モデル62の左側面図(ワーク座標系のY軸負方向に3Dモデルを見た図)が3Dモデル表示画面60に表示される。反対図表示ボタン78が操作されると、表示中の目標物モデル61、または、表示中の被加工物モデル62を、反対の視線方向から見た図が3Dモデル表示画面60に表示される。二等角投影表示ボタン79が操作されると、目標物モデル61、及び/または、被加工物モデル62の二等角投影図が3Dモデル表示画面60に表示される。この二等角投影図では、ワーク座標系のX軸方向及びY軸方向が同じ縮尺となる。
図5を参照すると、表示アイテム制御アイコン73が活性化されると、座標系表示ボタン(coordinate system display button)80、寸法表示ボタン(measurement display button)81、断面表示ボタン(cross section display button)82、目標物モデル表示ボタン(target model display button)83、被加工物モデル表示ボタン(workpiece model display button)84、及び、モデル適用不可曲面表示ボタン(model inapplicable curved surface display button)85が表示される。つまり、少なくとも1つのビュー制御アイコン70は、座標系表示ボタン80、寸法表示ボタン81、断面表示ボタン82、目標物モデル表示ボタン83、被加工物モデル表示ボタン84、及び、モデル適用不可曲面表示ボタン85を含む。座標系表示ボタン80が操作されると、ワーク座標系の座標軸が3Dモデル表示画面60に表示される。寸法表示ボタン81が操作されると、目標物モデル61のワーク座標系のX軸方向、Y軸方向、及びZ軸方向の各長さ、または、目標物モデル61の回転軸線A3に沿う軸方向、及び回転軸線A3に対する径方向の各長さが3Dモデル表示画面60に表示される。断面表示ボタン82が操作されると、表示中の目標物モデル61をワーク座標系のZ軸を通る平面で切断した断面図が3Dモデル表示画面60に表示される。目標物モデル表示ボタン83がONになると、目標物モデル61が3Dモデル表示画面60に表示される。目標物モデル表示ボタン83がOFFになると、目標物モデル61が3Dモデル表示画面60に表示されない。被加工物モデル表示ボタン84がONになると、被加工物モデル62が3Dモデル表示画面60に表示される。被加工物モデル表示ボタン84がOFFになると、被加工物モデル62が3Dモデル表示画面60に表示されない。目標物モデル表示ボタン83と被加工物モデル表示ボタン84とがともにONになるとき、目標物モデル61を視認できるように、被加工物モデル62が半透明で表示される。
モデル適用不可曲面表示ボタン85が操作されると、目標物モデル61の表面のうち、あらかじめ定められた旋削加工面(turning processed surface)のモデルと、穴加工面(hole machining processed surface)のモデルと、面加工面(surface machining processed surface)のモデルとのうちのいずれにも当てはめられないモデル適用不可曲面が強調表示される。旋削加工面のモデルとは、例えば、回転軸線A3と同じ中心軸を持つ円柱面、回転軸線A3と同じ中心軸を持つ円錐面(円錐台面)、及び、回転軸線A3と同じ中心軸を持つトーラス面である。穴加工面のモデルとは、一周した円柱面、及び、一周した円錐面である。面加工面のモデルとは、例えば、平坦面(flat surface)である。したがって、例えば、回転軸線A3からずれた中心軸を持つ円柱面、円錐面(円錐台面)、及び、トーラス面から成る旋削加工面や、平坦面と、円柱面と、円錐面(円錐台面)と、トーラス面とのいずれにも該当しない自由曲面(sculptured surface)はモデル適用不可曲面に該当する。モデル配置ステップ413が完了した時点で、モデル適用不可曲面を自動で抽出することができるが、その抽出方法は図21にて後述する。モデル適用不可曲面は、加工プログラム生成プログラム156によって工具シーケンスを自動で求めることができないため、加工プログラム157が加工プログラム生成プログラム156によって自動で生成される場合、その加工プログラム157では、モデル適用不可曲面の加工は行われない。3Dモデル表示画面60が、コンピュータグラフィックス画像において、自動で生成される前記加工プログラムによって加工できない被加工物W1の表面を表示するため、ユーザは、加工プログラム生成プログラム156によって自動で生成される加工プログラム157が目標物の全ての加工に対応しているか確認することができる。
なお、3Dモデル表示画面60は、少なくとも1つのビュー制御アイコン70の操作以外に、周知のタッチパネルやマウスの操作によって拡大縮小、平行移動、モデルの回転を行うことができる。
ドキュメント保存インタフェース88は、加工プログラム157の生成途中で作業した内容を上述の作業ファイルに保存するためのインタフェースである。ステップ移行インタフェース89は、設定ステップの次のステップに移行するためのインタフェースである。図4では、ステップ移行インタフェース89は、ボタンにて表示されているが、他のユーザインタフェースであってもよい。ステップ移行インタフェース89がタップやマウスクリック等で操作されたときに、設定ステップに対応する設定情報が全て設定されていると判定された場合、次のステップに移行する。ステップ移行インタフェース89が操作されるときに、設定ステップに対応する設定情報が全て設定されていないと判定される場合、次のステップに移行しない。なお、次のステップに係るボタン41が、設定ステップに対応する設定情報が全て設定されていると判定された場合、活性(active)となるのであれば、当該ボタン41もステップ移行インタフェース89の1つとみなすことができる。不活性のボタン41が操作されても次のステップに移行することはなく、活性のボタン41が操作されると次のステップに移行することになるからである。
呼出インタフェース90は、設定インタフェース300を呼び出すためのインタフェースである。図4では、設定ステップが加工設定ステップ414であるため、加工設定ステップ414に対応する設定情報である、工程分割サブステップ451と加工属性設定サブステップ452とに係る設定情報を設定するための工程分割設定インタフェース541と加工属性設定インタフェース551とをそれぞれ呼び出す工程分割設定呼出インタフェース95と加工属性設定呼出インタフェース96が表示されている。表示画面30では、設定ステップ以外のステップに対応する設定情報を設定するためのインタフェースを呼び出すためのインタフェースが表示されない。つまり、図4では、加工設定ステップ414以外の初期設定ステップ411、素材設定ステップ412、モデル配置ステップ413、及び、プログラム生成ステップ415に対応する設定情報を設定するためのインタフェースを呼び出すためのインタフェースが表示されない。これにより、ユーザが誤操作によって誤った設定を行うことを抑止できるばかりでなく、正しい設定インタフェース300を発見することが容易となる。
<加工プログラム生成プログラム221を利用した加工プログラム157の生成方法>
つぎに、加工プログラム生成プログラム221を利用した入力支援方法及び加工プログラム157の生成方法を表示画面30とフローチャートを併用しながら説明する。図5は、初期設定ステップ411に係る表示画面の表示例を示し、図19及び図20は、加工プログラム生成プログラム221を利用した入力支援方法及び加工プログラム157の生成方法の流れを示すフローチャートである。
図19のステップS1において、プロセッサ210(151)は、被加工物W1を目標物に加工するために工作機械100を制御するための設定情報を設定するための複数のステップ(411〜414)を表示する処理を実行する。ディスプレイ240(154)は、被加工物W1を加工して目標物を生成するために工作機械100を制御するための設定情報を設定する複数のステップ(411〜414)を表示する。ステップS2において、プロセッサ210(151)は、複数のステップのうち設定情報を設定するべき設定ステップを選択する。まず、プロセッサ210(151)は、初期設定ステップ411を設定ステップとして選択する。
ステップS3において、プロセッサ210(151)は、設定インタフェース300を呼び出すための呼出インタフェース90をさらに表示する処理を実行する。ディスプレイ240(154)は、設定インタフェース300を呼び出すための呼出インタフェース90をさらに表示する。具体的には、初期設定ステップ411において、プロセッサ210(151)は、ドキュメント選択インタフェースを呼び出すためのドキュメント選択呼出インタフェース91と、目標物選択インタフェースを呼び出すための目標物選択呼出インタフェース92とをさらに表示する処理を実行する。図5では、ドキュメント選択呼出インタフェース91と目標物選択呼出インタフェース92とはボタンで表示されているが、他のグラフィックユーザインタフェース(GUI)であってもよい。
ドキュメント選択インタフェースとは、コンピュータ200や制御装置150において、ドキュメントファイルを検索し、選択し、新規作成するためのインタフェースである。ドキュメントファイルは、加工プログラム157の生成にあたり作業用として使用する作業ファイル(work file)である。ドキュメント選択インタフェースは、一般的なファイルマネージャと同等のユーザインタフェースであるため図面による説明を省略する。目標物選択インタフェースとは、目標物の3DCAD(Computer Aided Design)ファイルを検索し、選択するためのインタフェースである。目標物選択インタフェースは、一般的なファイルマネージャと同等の機能であるため図面による説明を省略する。
ステップS4において、プロセッサ210(151)は、設定ステップ(初期設定ステップ411)に対応する設定情報を設定するための設定インタフェース300を表示する処理を実行する。ディスプレイ240(154)は、複数のステップの中から選択された設定情報を設定するべき設定ステップ(初期設定ステップ411)に対応する設定情報を設定するための設定インタフェース300を表示する。プロセッサ210(151)は、設定ステップに関する設定情報が設定されていないとき、設定インタフェース300を自動的に表示する処理を実行する。ディスプレイ240(154)は、設定ステップに関する設定情報が設定されていないとき、設定インタフェース300を自動的に表示する。このため、ステップS4において、ドキュメントファイルが未設定である場合、プロセッサ210(151)は、ドキュメント選択インタフェースを自動的に表示する処理を実行する。ドキュメントファイルが未設定である場合、ディスプレイ240(154)は、ドキュメント選択インタフェースを自動的に表示する。ドキュメントファイルが設定されている場合、ドキュメント選択呼出インタフェース91によってドキュメント選択インタフェースが呼び出されてもよい。ステップS5において、プロセッサ210(151)は、ドキュメント選択インタフェースを介してドキュメントファイルの設定を受け付ける。ドキュメントファイルの設定を受け付けると、プロセッサ210(151)は、ドキュメントファイルのファイル名31を表示画面30に表示する処理を実行する。ディスプレイ240(154)は、ドキュメントファイルのファイル名31を表示する。
ステップS6において、プロセッサ210(151)は、設定ステップ(初期設定ステップ411)に対応する設定情報を設定するための設定インタフェース300をさらに表示する処理を実行する。ディスプレイ240(154)は、複数のステップの中から選択された設定情報を設定するべき設定ステップ(初期設定ステップ411)に対応する設定情報を設定するための設定インタフェース300をさらに表示する。具体的には、プロセッサ210(151)は、目標物選択呼出インタフェース92を介して目標物選択インタフェースを表示する処理を実行する。ディスプレイ240(154)は、目標物選択呼出インタフェース92を介して目標物インタフェースを表示する。ただし、目標物が未選択のときは、プロセッサ210(151)は、目標物選択インタフェースを自動で表示する処理を実行することが好ましい。目標物が未選択のときは、ディスプレイ240(154)は、目標物選択呼出インタフェース92を介して目標物選択インタフェースを表示することが好ましい。
ステップS7において、プロセッサ210(151)は、目標物選択インタフェースを介して目標物の3DCADファイルの3Dデータを読み込む。この3Dデータは、形状情報と色情報(表示色)を有しており、目標物の表面形状を3Dデータから抽出することが可能である。例えば、3DCADファイルフォーマットの1つであるSTEPフォーマットでは、境界表現(boundary representation)によって目標物の表面が定義される。STEPフォーマットでは、ISO10303−42、ISO10303−511仕様等に基づき、面形状も平面、円筒面、円錐面、円環面(toroidal surface)などが定義される。このため、STEPフォーマットのパーサーによってSTEPファイルから面形状の抽出は可能である。他に、Parasolidフォーマットでも表面形状を抽出することは可能である。図5に示すように、プロセッサ210(151)は、設定ステップ(初期設定ステップ411)に対応する、目標物の形状(目標物モデル61)を示すコンピュータグラフィックス画像(3Dモデル表示画面60)を表示する処理を実行する。ディスプレイ240(154)は、設定ステップに対応する、目標物の形状(目標物モデル61)を示すコンピュータグラフィックス画像(3Dモデル表示画面60)を表示する。プロセッサ210(151)は、設定ステップに関する設定情報の設定状態(設定ステップ状態表示画面50)をさらに表示する処理を実行する。ディスプレイ240(154)は、設定ステップに関する設定情報の設定状態(設定ステップ状態表示画面50)をさらに表示する。図5では、設定ステップ状態表示画面50は、初期設定ステップ411の設定状態51を表示している。具体的には、設定ステップ状態表示画面50は、ドキュメントファイルに定義されているドキュメント名511、製品モデル名512、製品モデルのファイルの種類513、設定されたプログラム方式514を表示する。さらに、ドキュメントファイルにドキュメント名511、製品モデル名512、製品モデルのファイルの種類513、設定されたプログラム方式514が定義されている場合、設定ステップ状態表示画面50は、ドキュメントファイルの設定が完了したことを示す情報36を表示する。
ステップS8において、プロセッサ210(151)は、設定ステップ(初期設定ステップ411)の次のステップ(素材設定ステップ412)に移行するためのステップ移行インタフェース89をさらに表示する処理を実行する。ディスプレイ240(154)は、設定ステップ(初期設定ステップ411)の次のステップ(素材設定ステップ412)に移行するためのステップ移行インタフェース89をさらに表示する。ステップ移行インタフェース89が操作されると、プロセッサ210(151)は、設定インタフェースを介して設定ステップ(初期設定ステップ411)に対応する設定情報が全て設定されたか否かを判定する。ステップ移行インタフェース89が操作されるときに、設定ステップ(初期設定ステップ411)に対応する設定情報が全て設定されていないと判定される場合(ステップS8でNo)、次のステップ(素材設定ステップ412)に移行しないように構成される。具体的には、ディスプレイ240(154)には、エラー表示がされ、ドキュメントファイルの再設定や目標物の3DCADファイルの再設定が促される(ステップS9)。ステップS9の終了後、ステップS8に戻る。初期設定ステップ411に対応する設定情報が全て設定されているとき(ステップS8でYes)、ステップS10に進む。
ステップS10において、プロセッサ210(151)は、設定ステップ(初期設定ステップ411)に対応する設定情報が全て設定されたと判定される場合、設定ステップについて設定が完了したことを示す情報36を表示する処理を実行する。ディスプレイ240(154)は、設定ステップ(初期設定ステップ411)に対応する設定情報が全て設定されたと判定される場合、設定ステップについて設定が完了したことを示す情報36を表示する。具体的には、図6に示すように、素材設定ステップ412に係る表示画面において、ステップ状態表示画面40の初期設定ステップ411に係るボタン41に、当該情報36が表示される。つぎに、ステップS11において、プロセッサ210(151)は、複数のステップのうち設定情報を設定するべき設定ステップを選択する。ステップS11では、プロセッサ210(151)は、素材設定ステップ412を設定ステップとして選択する。
ステップS12において、プロセッサ210(151)は、設定インタフェース300を呼び出すための呼出インタフェース90をさらに表示する処理を実行する。ディスプレイ240(154)は、設定インタフェース300を呼び出すための呼出インタフェース90をさらに表示する。具体的には、素材設定ステップ412において、プロセッサ210(151)は、素材設定インタフェースを呼び出すための素材設定呼出インタフェース93をさらに表示する処理を実行する。図6では、素材設定呼出インタフェース93はボタンで表示されているが、他のGUIであってもよい。
素材設定インタフェースは、素材情報161から、被加工物の素材・形状を検索し、選択し、または、素材情報161に新規の素材・形状を登録するためのインタフェースである。素材設定インタフェースは、項目の選択・追加が可能な一般的なリストボックスと同等のユーザインタフェースであるため図面による説明を省略する。素材設定インタフェースでは、少なくとも素材名521、外径522、内径523、素材長さ524が選択可能な態様で表示されており、素材名521、外径522、内径523、素材長さ524、及び、端面取り代525を新規登録可能なインタフェースである。
ステップS13において、プロセッサ210(151)は、設定ステップ(素材設定ステップ412)に対応する設定情報を設定するための設定インタフェース300を表示する処理を実行する。ディスプレイ240(154)は、複数のステップの中から選択された設定情報を設定するべき設定ステップ(素材設定ステップ412)に対応する設定情報を設定するための設定インタフェース300を表示する。プロセッサ210(151)は、設定ステップに関する設定情報が設定されていないとき、設定インタフェース300を自動的に表示する処理を実行する。ディスプレイ240(154)は、設定ステップに関する設定情報が設定されていないとき、設定インタフェース300を自動的に表示する。このため、ステップS13において、被加工物の素材・形状が未設定である場合、プロセッサ210(151)は、素材設定インタフェースを自動的に表示する処理を実行する。被加工物の素材・形状が未設定である場合、ディスプレイ240(154)は、素材設定インタフェースを自動的に表示する。被加工物の素材・形状が設定されている場合、素材設定呼出インタフェース93によって素材設定インタフェースが呼び出されてもよい。ステップS14において、プロセッサ210(151)は、素材設定インタフェースを介して被加工物の素材・形状の設定を受け付ける。
ステップS14において、プロセッサ210(151)は、素材設定インタフェースを介して被加工物の3Dデータを設定する。図6に示すように、プロセッサ210(151)は、設定ステップ(素材設定ステップ412)に対応する、被加工物の形状(被加工物モデル62)と目標物の形状(目標物モデル61)とを示すコンピュータグラフィックス画像(3Dモデル表示画面60)を表示する処理を実行する。ディスプレイ240(154)は、設定ステップに対応する、被加工物の形状(被加工物モデル62)と目標物の形状(目標物モデル61)とを示すコンピュータグラフィックス画像(3Dモデル表示画面60)を表示する。なお、図6では、目標物モデル61が実線で被加工物モデル62は点線で表示されているが、表示方法は図6に示したものに限られない。目標物モデル61、被加工物モデル62はワイヤーフレームであってもソリッドモデルであってもよい。また、被加工物モデル62は半透明表示のソリッドモデルであってもよい。プロセッサ210(151)は、設定ステップに関する設定情報の設定状態(設定ステップ状態表示画面50)をさらに表示する処理を実行する。ディスプレイ240(154)は、設定ステップに関する設定情報の設定状態(設定ステップ状態表示画面50)をさらに表示する。図6では、設定ステップ状態表示画面50は、素材設定ステップ412の設定状態52を表示している。具体的には、設定ステップ状態表示画面50は、素材名521、外径522、内径523、素材長さ524、及び、端面取り代525を表示する。さらに、設定ステップ状態表示画面50は、被加工物の素材・形状の設定が完了したことを示す情報36を表示する。
ステップS15において、プロセッサ210(151)は、設定ステップ(素材設定ステップ412)の次のステップ(モデル配置ステップ413)に移行するためのステップ移行インタフェース89をさらに表示する処理を実行する。ディスプレイ240(154)は、設定ステップ(素材設定ステップ412)の次のステップ(モデル配置ステップ413)に移行するためのステップ移行インタフェース89をさらに表示する。ステップ移行インタフェース89が操作されると、プロセッサ210(151)は、設定インタフェースを介して設定ステップ(素材設定ステップ412)に対応する設定情報が全て設定されたか否かを判定する。ステップ移行インタフェース89が操作されるときに、設定ステップ(素材設定ステップ412)に対応する設定情報が全て設定されていないと判定される場合(ステップS15でNo)、次のステップ(モデル配置ステップ413)に移行しないように構成される。具体的には、ディスプレイ240(154)には、エラー表示がされ、ステップS12に戻る。素材設定ステップ412に対応する設定情報が全て設定されているとき(ステップS15でYes)、ステップS16に進む。
ステップS16において、プロセッサ210(151)は、設定ステップ(素材設定ステップ412)に対応する設定情報が全て設定されたと判定される場合、設定ステップについて設定が完了したことを示す情報36を表示する処理を実行する。ディスプレイ240(154)は、設定ステップ(素材設定ステップ412)に対応する設定情報が全て設定されたと判定される場合、設定ステップについて設定が完了したことを示す情報36を表示する。具体的には、図7及び図8に示すように、モデル配置ステップ413に係る表示画面において、ステップ状態表示画面40の素材設定ステップ412に係るボタン41に、当該情報36が表示される。つぎに、ステップS17において、プロセッサ210(151)は、複数のステップのうち設定情報を設定するべき設定ステップを選択する。ステップS17では、プロセッサ210(151)は、モデル配置ステップ413を設定ステップとして選択する。
ステップS18において、プロセッサ210(151)は、設定インタフェース300を呼び出すための呼出インタフェース90をさらに表示する処理を実行する。ディスプレイ240(154)は、設定インタフェース300を呼び出すための呼出インタフェース90をさらに表示する。具体的には、モデル配置ステップ413において、プロセッサ210(151)は、モデル配置インタフェース531を呼び出すためのモデル配置呼出インタフェース94をさらに表示する処理を実行する。モデル配置インタフェース531は、被加工物中の目標物が占める部分を特定する情報を設定するためのインタフェースである。図7及び図8では、モデル配置呼出インタフェース94はボタンで表示されているが、他のGUIであってもよい。
ステップS19において、プロセッサ210(151)は、設定ステップ(モデル配置ステップ413)に対応する設定情報を設定するための設定インタフェース300を表示する処理を実行する。ディスプレイ240(154)は、複数のステップの中から選択された設定情報を設定するべき設定ステップ(モデル配置ステップ413)に対応する設定情報を設定するための設定インタフェース300を表示する。プロセッサ210(151)は、設定ステップに関する設定情報が設定されていないとき、設定インタフェース300を自動的に表示する処理を実行する。ディスプレイ240(154)は、設定ステップに関する設定情報が設定されていないとき、設定インタフェース300を自動的に表示する。このため、ステップS19において、被加工物中の目標物が占める部分を特定する情報が未設定である場合、プロセッサ210(151)は、モデル配置インタフェース531を自動的に表示する処理を実行する。被加工物中の目標物が占める部分を特定する情報が未設定である場合、ディスプレイ240(154)は、モデル配置インタフェース531を自動的に表示する。被加工物中の目標物が占める部分を特定する情報が設定されている場合、モデル配置呼出インタフェース94によってモデル配置インタフェース531が呼び出されてもよい。
図7は、モデル配置インタフェース531が表示された表示画面30の表示例である。図7に示すように、モデル配置インタフェース531は、自動配置設定インタフェース533、Z軸方向反転設定インタフェース534、及び、旋削面指定インタフェース535を含む。図7では、自動配置設定インタフェース533、Z軸方向反転設定インタフェース534、及び、旋削面指定インタフェース535は、ボタンで示されているが、ドロップダウンリストのように他のGUIであってもよい。
自動配置設定インタフェース533がタップ、マウスクリック等で操作されると、目標物モデル61が被加工物モデル62の概ね中央に位置するように配置される。例えば、プロセッサ210(151)は、目標物モデル61の3Dデータから目標物モデル61の最大径の円柱面もしくは円錐面を抽出する。そして、プロセッサ210(151)は、当該円柱面もしくは当該円錐面の中心軸線と円柱形である被加工物モデル62の中心軸線とがワーク座標系のZ軸と一致するように、目標物モデル61と被加工物モデル62とを配置する。図7の3Dモデル表示画面60は、目標物モデル61と被加工物モデル62とが上述のように配置された例を示している。図7では、被加工物モデル62が実線で目標物モデル61が点線で表示されているが、表示方法は図7に示したものに限られない。目標物モデル61、被加工物モデル62はワイヤーフレームであってもソリッドモデルであってもよい。また、被加工物モデル62は半透明表示のソリッドモデルであってもよい。Z軸方向反転設定インタフェース534がタップ、マウスクリック等で操作されると、目標物モデル61が3Dモデル表示画面60内でワーク座標系のZ軸に沿う方向で反転される。
旋削面指定インタフェース535がタップ、マウスクリック等で操作されると、図8に示される旋削面入力インタフェース532が表示される。旋削面入力インタフェース532が表示されるときは、被加工物モデル62が3Dモデル表示画面60に表示されない。自動配置設定インタフェース533では目標物モデル61の最大径の円柱面もしくは円錐面を基準に配置されるが、別の円柱面もしくは円錐面の中心軸を基準に旋削加工をしたい場合に旋削面入力インタフェース532が用いられる。また、Z軸方向反転設定インタフェース534と旋削面指定インタフェース535とが組み合わされて用いられてもよい。図8において、3Dモデル表示画面60に表示されている目標物モデル61の表面がタップ、マウスクリック等で選択されると、選択された面が円柱面もしくは円錐面である場合、プロセッサ210(151)は、選択された面を強調表示する処理を実行する。図8では、加工面63Aが選択され、強調表示されている。この状態で、旋削面入力インタフェース532のOKボタン538がタップ、マウスクリック等で操作されると、選択された加工面63Aの中心軸がワーク座標系のZ軸と一致するように目標物モデル61が配置される。同時に、円柱形である被加工物モデル62の中心軸線がワーク座標系のZ軸と一致するように、被加工物モデル62が配置される。そして、旋削面入力インタフェース532がモデル配置インタフェース531に変更される。
矢印ボタン536がタップ、マウスクリック等で操作されると、操作前に選択されている面から3Dモデル表示画面60の手前方向に向かって目標物モデル61の円柱形もしくは円錐形の表面が順に選択される。矢印ボタン537がタップ、マウスクリック等で操作されると、操作前に選択されている面から3Dモデル表示画面60の奥方向に向かって目標物モデル61の円柱形もしくは円錐形の表面が順に選択される。3Dモデル表示画面60は、コンピュータグラフィックスで定義される3次元仮想空間に位置する3次元の目標物モデル61を所定の視点位置から見たときの2次元画像を表示したものであるが、その視点位置に向かう方向が3Dモデル表示画面60の手前方向であり、その視点位置から遠ざかる方向が3Dモデル表示画面60の奥方向である。旋削面入力インタフェース532が表示されている状態で、旋削面指定インタフェース535がタップ、マウスクリック等で操作されると、目標物モデル61のいずれの面も選択されずに、旋削面入力インタフェース532がモデル配置インタフェース531に変更される。
ステップS20において、プロセッサ210(151)は、被加工物中の目標物が占める部分を特定する情報を設定する。図7及び図8に示すように、プロセッサ210(151)は、設定ステップ(モデル配置ステップ413)に対応する、被加工物の形状(被加工物モデル62)と目標物の形状(目標物モデル61)とのうちの少なくとも1つを示すコンピュータグラフィックス画像(3Dモデル表示画面60)を表示する処理を実行する。ディスプレイ240(154)は、設定ステップに対応する、被加工物の形状(被加工物モデル62)と目標物の形状(目標物モデル61)とのうちの少なくとも1つを示すコンピュータグラフィックス画像(3Dモデル表示画面60)を表示する。プロセッサ210(151)は、設定ステップに関する設定情報の設定状態(設定ステップ状態表示画面50)をさらに表示する処理を実行する。ディスプレイ240(154)は、設定ステップに関する設定情報の設定状態(設定ステップ状態表示画面50)をさらに表示する。図7及び図8は、設定ステップ状態表示画面50は、モデル配置ステップ413の設定状態53を表示している。図7及び図8では、自動配置設定インタフェース533の操作による設定がされた状態であるため、その内容が設定状態53として表示されている。さらに、図7及び図8では、設定ステップ状態表示画面50は、モデル配置の設定が完了したことを示す情報36を表示する。
ステップS21において、プロセッサ210(151)は、設定ステップ(モデル配置ステップ413)の次のステップ(加工設定ステップ414)に移行するためのステップ移行インタフェース89をさらに表示する処理を実行する。ディスプレイ240(154)は、設定ステップ(モデル配置ステップ413)の次のステップ(加工設定ステップ414)に移行するためのステップ移行インタフェース89をさらに表示する。ステップ移行インタフェース89が操作されると、プロセッサ210(151)は、設定インタフェースを介して設定ステップ(モデル配置ステップ413)に対応する設定情報が全て設定されたか否かを判定する。ステップ移行インタフェース89が操作されるときに、設定ステップ(モデル配置ステップ413)に対応する設定情報が全て設定されていないと判定される場合(ステップS21でNo)、次のステップ(加工設定ステップ414)に移行しないように構成される。具体的には、ディスプレイ240(154)には、エラー表示がされ、ステップS18に戻る。モデル配置ステップ413に対応する設定情報が全て設定されているとき(ステップS21でYes)、図20のステップS22に進む。
図20のステップS22において、プロセッサ210(151)は、設定ステップ(モデル配置ステップ413)に対応する設定情報が全て設定されたと判定される場合、設定ステップについて設定が完了したことを示す情報36を表示する処理を実行する。ディスプレイ240(154)は、設定ステップ(モデル配置ステップ413)に対応する設定情報が全て設定されたと判定される場合、設定ステップについて設定が完了したことを示す情報36を表示する。具体的には、図4に示すように、ステップ状態表示画面40のモデル配置ステップ413に係るボタン41に、当該情報36が表示される。つぎに、ステップS23において、プロセッサ210(151)は、複数のステップのうち設定情報を設定するべき設定ステップを選択する。ステップS23では、プロセッサ210(151)は、加工設定ステップ414を設定ステップとして選択する。
ステップS24において、プロセッサ210(151)は、設定インタフェース300を呼び出すための呼出インタフェース90をさらに表示する処理を実行する。ディスプレイ240(154)は、設定インタフェース300を呼び出すための呼出インタフェース90をさらに表示する。具体的には、加工設定ステップ414において、プロセッサ210(151)は、工程分割設定インタフェース541を呼び出すための工程分割設定呼出インタフェース95と、加工属性設定インタフェース551を呼び出すための加工属性設定呼出インタフェース96とをさらに表示する処理を実行する。図4では、工程分割設定呼出インタフェース95と加工属性設定呼出インタフェース96とはボタンで表示されているが、他のGUIであってもよい。
工程分割設定インタフェース541とは、被加工物W1の切削工程を、被加工物W1を第1主軸122に把持させて第1主軸122に旋削工具の刃を向けて加工する第1工程と、被加工物W2を第2主軸123に把持させて第2主軸123に旋削工具の刃を向けて加工する第2工程とに分割する、工程分割(process segmentation)を設定するためのインタフェースである。加工属性設定インタフェース551とは、目標物の表面の面粗さや表面の加工方法などの加工属性を規定するためのインタフェースである。
ステップS25において、プロセッサ210(151)は、設定ステップ(加工設定ステップ414の工程分割サブステップ451)に対応する設定情報を設定するための設定インタフェース300を表示する処理を実行する。ディスプレイ240(154)は、複数のステップの中から選択された設定情報を設定するべき設定ステップ(加工設定ステップ414の工程分割サブステップ451)に対応する設定情報を設定するための設定インタフェース300を表示する。プロセッサ210(151)は、設定ステップに関する設定情報が設定されていないとき、設定インタフェース300を自動的に表示する処理を実行する。ディスプレイ240(154)は、設定ステップに関する設定情報が設定されていないとき、設定インタフェース300を自動的に表示する。このため、ステップS25において、上述の第1工程及び第2工程が未設定である場合、プロセッサ210(151)は、工程分割設定インタフェース541を自動的に表示する処理を実行する。上述の第1工程及び第2工程が未設定である場合、ディスプレイ240(154)は、工程分割設定インタフェース541を自動的に表示する。第1工程及び第2工程が設定されている場合、工程分割設定呼出インタフェース95によって工程分割設定インタフェース541が呼び出されてもよい。
図4では、工程分割設定インタフェース541が3Dモデル表示画面60内にGUIで表示された例を示している。図4では、工程分割設定インタフェース541が表示された直後の工程分割の初期設定状態を示している。3Dモデル表示画面60には、外側基準分割位置(exterior reference segmentation position)64、第1外側加工端(first exterior machining end)65、第2外側加工端(second exterior machining end)66、内側基準分割位置(interior reference segmentation position)67、第1内側加工端(first interior machining end)68、及び、第2内側加工端(second interior machining end)69が表示されている。被加工物がワーク座標系Z軸を中心軸とする貫通穴を有していないときは、内側基準分割位置67、第1内側加工端68、及び、第2内側加工端69の表示は、省略される。
外側基準分割位置64は、被加工物の外側表面(exterior surface)のうち、第1工程で旋削する第1外側切削領域(first exterior machining region)Re1と、第2工程で旋削する第2外側切削領域(second exterior machining region) Re2との基準分割位置を示す。ただし、旋削工具の刃先は丸みを有しているため、外側基準分割位置64を基準に第1外側切削領域Re1と第2外側切削領域Re2とに分けてしまうと、外側基準分割位置64の付近で削り残しを生じてしまう。そこで、削り残しが生じないように第1外側切削領域Re1と第2外側切削領域Re2とが互いに部分的に重畳するように定められる。第1外側加工端65は、外側基準分割位置64からワーク座標系のZ軸負方向へ第1外側マージンMe1だけシフトした位置に設けられる、第1外側切削領域Re1の第1主軸122寄りの端である。第1外側切削領域Re1は、第1外側加工端65から、被加工物の第2端E2(第2主軸123の第2チャック125に掴持される部分)までの間の領域である。第2外側加工端66は、外側基準分割位置64からワーク座標系のZ軸正方向へ第2外側マージンMe2だけシフトした位置に設けられる、第2外側切削領域Re2の第2主軸123寄りの端である。第2外側切削領域Re2は、第2外側加工端66から、被加工物の第1端E1(第1主軸122の第1チャック124に掴持される部分)までの間の領域である。
内側基準分割位置67は、被加工物の内側表面(interior surface)のうち、第1工程で旋削する第1内側切削領域(first interior machining region)Ri1と、第2工程で旋削する第2内側切削領域(second interior machining region) Ri2との基準分割位置を示す。ただし、旋削工具の刃先は丸みを有しているため、内側基準分割位置67を基準に第1内側切削領域Ri1と第2内側切削領域Ri2とに分けてしまうと、内側基準分割位置67の付近で削り残しを生じてしまう。したがって、削り残しが生じないように、第1内側切削領域Ri1と第2内側切削領域Ri2とが互いに部分的に重畳するように定められる。第1内側加工端68は、内側基準分割位置67からワーク座標系のZ軸負方向へ第1内側マージンMi1だけシフトした位置に設けられる、第1内側切削領域Ri1の第1主軸122寄りの端である。第1内側切削領域Ri1は、第1内側加工端68から、被加工物の第2端E2までの間の領域である。第2内側加工端69は、内側基準分割位置67からワーク座標系のZ軸正方向へ第2内側マージンMi2だけシフトした位置に設けられる、第2内側切削領域Ri2の第2主軸123寄りの端である。第2内側切削領域Ri2は、第2内側加工端69から、被加工物の第1端E1までの間の領域である。
なお、図4の3Dモデル表示画面60内に表示されている符号及びその引き出し線、座標軸、並びに、寸法線は、説明の便宜のために付されたものであり、実際の3Dモデル表示画面60において表示されなくてもよい。また、外側基準分割位置64、第1外側加工端65、第2外側加工端66、内側基準分割位置67、第1内側加工端68、及び、第2内側加工端69が点線や一点鎖線の表示でなくてもよく、色違いの線の表示であってもよい。第1外側マージンMe1、第2外側マージンMe2、第1内側マージンMi1、及び、第2内側マージンMi2は縞として表示されてもよい。目標物モデル61はワーク座標系のZ軸を含む平面で切断された断面で表示されることが好ましく、被加工物モデル62は半透明表示されるか、外形のみがワイヤーフレームで表示されることが好ましい。
工程分割の初期設定状態では、外側基準分割位置64は、第1外側切削領域Re1の切削量と第2外側切削領域Re2の切削量が均等となる位置に自動的に決定される。内側基準分割位置67は、第1内側切削領域Ri1の切削量と第2内側切削領域Ri2の切削量が均等となる位置に自動的に決定される。第1外側マージンMe1、第2外側マージンMe2、第1内側マージンMi1、及び、第2内側マージンMi2は、あらかじめユーザが定めたデフォルト値で決定される。ユーザは、3Dモデル表示画面60上で、外側基準分割位置64、第1外側加工端65、第2外側加工端66、内側基準分割位置67、第1内側加工端68、及び、第2内側加工端69を表す線をダブルタップやマウスクリックなどの操作によって選択し、ドラッグによって所望の位置に移動させることが可能である。なお、第1外側マージンMe1及び第2外側マージンMe2は同じ値で設定できるように、第1外側加工端65と第2外側加工端66とのうちの一方が移動されると、他方もそれに応じて移動されてもよい。同様に、第1内側加工端68と第2内側加工端69とのうちの一方が移動されると、他方もそれに応じて移動されてもよい。
また、3Dモデル表示画面60上で、外側基準分割位置64、第1外側加工端65、第2外側加工端66、内側基準分割位置67、第1内側加工端68、及び、第2内側加工端69を表す線を選択した後に、目標物の表面をタップやマウスクリックなどの操作によって指定することによって、選択された線を指定された表面の位置まで移動させてもよい。また、工程分割設定インタフェース541は上記以外に様々な形態が考えられる。例えば、工程分割設定インタフェース541は、外側基準分割位置64、第1外側加工端65、第2外側加工端66、内側基準分割位置67、第1内側加工端68、及び、第2内側加工端69の少なくとも1つの移動を操作するための矢印キーと、当該移動の移動量を入力するエディットボックスと、外側基準分割位置64及び内側基準分割位置67のワーク座標系でのZ座標の値を入力可能なフォームと、第1外側マージンMe1及び第2外側マージンMe2の少なくとも1つの値を入力可能なフォームと、第1内側マージンMi1及び第2内側マージンMi2の少なくとも1つの値を入力可能なフォームとの少なくとも1つを含むウィンドウをさらに備えてもよい。したがって、工程分割設定インタフェース541は、外側基準分割位置64、第1外側加工端65、第2外側加工端66、内側基準分割位置67、第1内側加工端68、及び、第2内側加工端69が定められるインタフェースであればどのようなインタフェースであってもよい。
ステップS26において、プロセッサ210(151)は、工程分割設定インタフェース541において上述のように設定された工程分割を特定する情報を設定する。図4に示すように、プロセッサ210(151)は、設定ステップ(加工設定ステップ414の工程分割サブステップ451)に対応する、被加工物の形状(被加工物モデル62)と目標物の形状(目標物モデル61)とを示すコンピュータグラフィックス画像(3Dモデル表示画面60)を表示する処理を実行する。ディスプレイ240(154)は、設定ステップに対応する、被加工物の形状(被加工物モデル62)と目標物の形状(目標物モデル61)とのうちの少なくとも1つを示すコンピュータグラフィックス画像(3Dモデル表示画面60)を表示する。プロセッサ210(151)は、設定ステップに関する設定情報の設定状態(設定ステップ状態表示画面50)をさらに表示する処理を実行する。ディスプレイ240(154)は、設定ステップに関する設定情報の設定状態(設定ステップ状態表示画面50)をさらに表示する。図4は、設定ステップ状態表示画面50は、工程分割サブステップ451の設定状態54を表示している。設定ステップ状態表示画面50では、外側基準分割位置64及び内側基準分割位置67が自動で設定され、第1外側マージンMe1、第2外側マージンMe2、第1内側マージンMi1、及び、第2内側マージンMi2が自動で設定されたことが表示されている。
さらに、図4では、設定ステップ状態表示画面50は、工程分割サブステップ451が完了したことを示す情報36を表示する。ただし、工程分割サブステップ終了後に、初期設定ステップ411、素材設定ステップ412、モデル配置ステップ413に係るボタン41が操作されたうえで、初期設定ステップ411、素材設定ステップ412、モデル配置ステップ413において新たな設定がされた場合には、設定ステップ状態表示画面50は、設定途中であることを示す情報37である注意マークを表示してもよい。また、工程分割の初期設定状態から不適切な手動設定がされた場合(例えば、外側基準分割位置64が第1外側加工端65と第2外側加工端66との間に位置しない、内側基準分割位置67が第1内側加工端68と第2内側加工端69との間に位置しない)にも、設定途中であることを示す情報37である注意マークを表示してもよい。
工程分割サブステップ451の終了は、加工属性設定呼出インタフェース96がタップ、マウスクリック等で操作されることにより判定される。あるいは、工程分割設定インタフェース541が別途のウィンドウを有するとき、そのウィンドウのOKボタンが押下されたことが検出されることによって、工程分割サブステップ451の終了が判定されてもよい。工程分割サブステップ451の終了が判定されると、その時点での外側基準分割位置64、第1外側加工端65、第2外側加工端66、内側基準分割位置67、第1内側加工端68、及び、第2内側加工端69の位置が、最終的に工程分割を特定する情報として確定される。つぎに、図20のステップS27において、目標物モデル61の3Dデータから抽出した目標物モデル61の各加工面の分類を行う。ステップS27は、ステップS26の後でなくても、ステップS20以降でステップS28よりも前のいずれのタイミングでもよい。図21は、目標物モデル61の各加工面の分類方法の流れを示すフローチャートである。
ステップS101において、プロセッサ210(151)は、目標物モデル61の表面から、その中心軸が回転軸(回転軸線A3)となる円柱面、円錐面、トーラス面を旋削加工面として分類する。ステップS102において、プロセッサ210(151)は、目標物モデル61の残りの表面から、一周する円柱面、円錐面を、穴加工面として分類する。ステップS102では、プロセッサ210(151)は、円柱面によって形成される円柱の内部、円錐面によって形成される円錐の内部は空であるかを目標物モデル61のソリッドモデルから判定した上で、空である場合に、一周する円柱面、円錐面を、穴加工面として分類する。ステップS103において、プロセッサ210(151)は、穴加工面として分類された表面のうち、同一の中心軸をもつ円柱面、円錐面をグルーピングする。ステップS104において、プロセッサ210(151)は、目標物モデル61の残りの表面から平坦面を面加工面として分類する。ステップS105において、最後に、プロセッサ210(151)は、目標物の残りの表面を、モデル適用不可曲面として分類する。
図20に戻り、ステップS28において、プロセッサ210(151)は、設定ステップ(加工設定ステップ414の加工属性設定サブステップ452)に対応する設定情報を設定するための設定インタフェース300をさらに表示する処理を実行する。ディスプレイ240(154)は、複数のステップの中から選択された設定情報を設定するべき設定ステップ(加工設定ステップ414の加工属性設定サブステップ452)に対応する設定情報を設定するための設定インタフェース300をさらに表示する。具体的には、プロセッサ210(151)は、加工属性設定呼出インタフェース96を介して加工属性設定インタフェース551を表示する処理を実行する。ディスプレイ240(154)は、加工属性設定呼出インタフェース96を介して加工属性設定インタフェース551を表示する。
図9〜15は、加工属性設定サブステップ452に係る表示画面30の表示例である。加工属性設定インタフェース551は、穴加工設定ボタン601と面粗さ設定ボタン(plane roughness setting button)602とを含むウィンドウである。穴加工設定ボタン601と面粗さ設定ボタン602とのうちのいずれか一方が選択的に活性化される。穴加工設定ボタン601は、目標物の穴加工面にネジ加工か仕上げ加工を施す場合にその穴の特性を設定するために選択される。面粗さ設定ボタン602は、目標物の旋削加工面、面加工面、または、穴加工面に面粗さを設定するために選択される。したがって、第4ステップ(加工設定ステップ414)は、目標物の表面の表面粗さを設定することをさらに含む。図9〜15では、穴加工設定ボタン601と面粗さ設定ボタン602とはボタンで表示されているが、ドロップダウンリストやラジオボタンなど他のGUIであってもよい。図9〜13は、穴加工設定ボタン601が活性化された例を示し、図14及び図15は、面粗さ設定ボタン602が活性化された例を示す。
図9〜13を参照すると、穴加工設定ボタン601が活性化されると、ネジ山設定ボタン(thread setting button)603及び穴仕上げ加工設定ボタン(hole finishing setting button)604が表示される。ネジ山設定ボタン603と穴仕上げ加工設定ボタン604とのうちのいずれか一方が選択的に活性化される。ネジ山設定ボタン603は、目標物の加工面にネジ加工を施す場合にネジ山の属性を設定するために選択される。穴仕上げ加工設定ボタン604は、目標物の加工面にリーマ加工やボーリング加工のような仕上げ加工を施す場合にその仕上げ加工によって生じる穴の特性を設定するために選択される。したがって、第4ステップ(加工設定ステップ414)は、穴加工によって生成する穴の特性とネジ加工によって生成するネジ山の特性との少なくとも1つを設定することをさらに含む。図9〜15では、ネジ山設定ボタン603と穴仕上げ加工設定ボタン604とはボタンで表示されているが、ドロップダウンリストやラジオボタンなど他のGUIであってもよい。
図9〜11を参照すると、穴仕上げ加工設定ボタン604が活性化されると、穴仕上げ加工工程リスト608と追加ボタン605とが表示される。つまり、加工属性設定インタフェース551は、穴仕上げ加工工程リスト608と追加ボタン605とを含む。穴仕上げ加工工程リスト608は、別途の穴加工設定ウィンドウ552(図9参照)もしくは穴加工設定ウィンドウ553(図10参照)にて設定される穴仕上げ加工工程のリストである。穴仕上げ加工設定ボタン604が活性化されている状態で追加ボタン605がタップ、マウスクリック等で操作されると、穴仕上げ加工工程リスト608に新規の穴仕上げ加工設定を追加するために、穴加工設定ウィンドウ552、553が起動される。
図9及び図10を参照すると、穴加工設定ウィンドウ552、553は、リーマ加工設定ボタン634とボーリング加工設定ボタン635とを含む。リーマ加工設定ボタン634とボーリング加工設定ボタン635とのうちのいずれか一方が選択的に活性化される。図9及び図10では、リーマ加工設定ボタン634とボーリング加工設定ボタン635とはボタンで表示されているが、ドロップダウンリストやラジオボタンなど他のGUIであってもよい。リーマ加工設定ボタン634が活性化された場合の穴加工設定ウィンドウ552と、ボーリング加工設定ボタン635が活性化された場合の穴加工設定ウィンドウ553とでは、一部の表示内容が相違する。図9は、リーマ加工設定ボタン634が活性化された例を示し、図10は、ボーリング加工設定ボタン635が活性化された例を示す。
新規に穴加工面の仕上げ加工を設定する際は、リーマ加工設定ボタン634またはボーリング加工設定ボタン635が活性化された後、3Dモデル表示画面60に表示されている目標物モデル61の穴加工面が、タップ、マウスクリック等で操作されることにより、選択される。この際、ステップS103においてグルーピングされた穴形状が選択可能である。また、複数の穴形状が同一である場合、その複数の穴形状が一度に選択可能である。図9及び図10は、3Dモデル表示画面60に同一形状を有する3つの穴加工面63Bが選択された例を示している。
図9を参照すると、リーマ加工設定ボタン634が活性化された場合の穴加工設定ウィンドウ552には、選択された穴の個数631、並びに、選択された穴の穴径632及び穴深さ633が表示される。選択された穴の穴径632及び穴深さ633は、ステップS102で求められた穴加工面のうち、円柱面の直径の値、円柱面の長さの値が表示される。また、ステップS103においてグルーピングされた穴形状の開口が円錐台面から成り、その円錐台面に円柱面が接続されている場合、面取りも算出することが可能である。穴加工設定ウィンドウ552には、このように算出された面取りがテキストボックス636で表示されている。なお、ステップS103においてグルーピングされた穴形状の開口が円柱面から成る場合、面取りが0.0に設定される。面取りの数値は、ユーザがテキストボックス636をタップ、マウスクリックなどの操作によって編集可能とすることができる。穴加工設定ウィンドウ552は、リーマ加工を行う前の前工程を、ドリル加工、ボーリング加工、エンドミル加工の中から指定するためのラジオボタン637を含む。この前工程は、デフォルトではドリル加工が指定されているが、ラジオボタン637の操作によって変更可能である。ラジオボタン637は、ドロップダウンリストやボタンなどの他のGUIであってもよい。
穴加工設定ウィンドウ552は、矢印ボタン621、622をさらに含む。矢印ボタン621がタップ、マウスクリック等で操作されると、3Dモデル表示画面60の最後に選択された面から3Dモデル表示画面60の手前方向に向かって目標物モデル61の加工面が順に選択される。ただし、加工面のうち、穴加工面だけが順に選択されてもよい。矢印ボタン622がタップ、マウスクリック等で操作されると、3Dモデル表示画面60の最後に選択された面から3Dモデル表示画面60の奥方向に向かって目標物モデル61の加工面が順に選択される。ただし、加工面のうち、穴加工面だけが順に選択されてもよい。3Dモデル表示画面60の手前方向、奥方向の定義は、ステップS19の定義と同じである。
穴加工設定ウィンドウ552は、OKボタン623をさらに含む。OKボタン623がタップ、マウスクリック等で操作されると、リーマ加工設定ボタン634とボーリング加工設定ボタン635とのうちの活性化されているボタンに対応する加工方法についての加工属性を保存する。リーマ加工設定ボタン634が活性化されているとき(リーマ加工)の加工属性は、穴加工面63Bを特定する情報、同一の穴形状の個数631、加工方法612(リーマ加工:図11参照)、穴径632、穴深さ633、テキストボックス636にて設定された面取り、リーマ加工を行う前の前工程である。なお、ユーザがタップ、マウスクリック、矢印ボタン621、622によって最終的に選択した面が穴加工面でないものが含まれている場合、穴加工設定ウィンドウ552及び後述する穴加工設定ウィンドウ553による設定は無視される。加工属性が保存されると、穴加工設定ウィンドウ552が閉じられ、図11に示されるように、保存された加工属性が属性管理番号611とともに穴仕上げ加工工程リスト608に表示される。
図10は、ボーリング加工設定ボタン635が活性化された場合の穴加工設定ウィンドウ553を示す。穴加工設定ウィンドウ553では、穴加工設定ウィンドウ552と同じ構成要素には同じ符号が付されており、詳細な説明が省略される。なお、ボーリング加工の場合、段付き穴の処理が可能である。したがって、ステップS103で求められた穴加工面が異なる径を有する複数の円柱面から成る場合、奥側の円柱面がボーリング加工される円柱面として自動的に選択される。そして、選択された円柱面の直径及び高さが、それぞれ、穴径632及び穴深さ633として表示される。穴加工設定ウィンドウ553は、ラジオボタン637の代わりに、穴の壁面粗さを定義するドロップダウンリスト638と、穴の底面粗さを定義するドロップダウンリスト639とを含む。壁面粗さ及び底面粗さが粗い順に1〜9までの値によって指定される。ドロップダウンリスト638、639では、デフォルト値が9に設定されているが、ドロップダウンリスト638、639の操作によって変更可能である。ドロップダウンリスト638、639は、ラジオボタンなどの他のGUIであってもよい。なお、穴加工設定ウィンドウ553のOKボタン623が操作されたときに保存される加工属性は、穴加工面63Bを特定する情報、同一の穴形状の個数631、加工方法612(ボーリング加工)、穴径632、穴深さ633、テキストボックス636にて設定された面取り、壁面粗さ、底面粗さである。
図11を参照すると、穴仕上げ加工工程リスト608の各行には、保存された加工属性のうちの、属性管理番号611、加工方法612、穴径632、穴深さ633、及び、個数631が表示される。穴仕上げ加工工程リスト608の各行は、タップやマウスクリック等により選択可能である。穴仕上げ加工工程リスト608の1つの行が選択されると、選択された加工属性の穴加工面63Bが3Dモデル表示画面60において強調表示される。強調表示は、色を変えて表示することや点滅表示を含む。図11は、リーマ加工に係る3つの穴形状63Bが強調表示された例を示している。加工属性設定インタフェース551は、変更ボタン606と消去ボタン607とをさらに含む。穴仕上げ加工工程リスト608の1つの行が選択された状態で、変更ボタン606がタップやマウスクリック等の操作がされると、選択された加工属性の加工方法612に対応する穴加工設定ウィンドウ552、553が表示され、加工属性の再編集が可能となる。加工属性の再編集においては、3Dモデル表示画面60において強調されている穴加工面63Bをタップ、マウスクリック等の操作により削除するようにしてもよく、別の穴加工面を操作することにより穴加工面63Bに追加するようにしてもよい。穴仕上げ加工工程リスト608の1つの行が選択された状態で、消去ボタン607がタップやマウスクリック等の操作がされると、選択された加工属性が穴仕上げ加工工程リスト608から削除される。
図12及び図13を参照すると、ネジ山設定ボタン603が活性化されると、穴仕上げ加工工程リスト608の代わりに、ネジ加工工程リスト609が表示される。つまり、加工属性設定インタフェース551は、ネジ加工工程リスト609を含む。ネジ加工工程リスト609は、別途のネジ山設定ウィンドウ554(図12参照)にて設定されるネジ加工工程のリストである。ネジ山設定ボタン603が活性化されている状態で追加ボタン605が操作されると、ネジ加工工程リスト609に新規のネジ山設定を追加するために、ネジ山設定ウィンドウ554が起動される。ネジ山設定ウィンドウ554は、タップ加工についての設定ウィンドウである。ネジ山設定ウィンドウ554では、穴加工設定ウィンドウ552と同じ構成要素には同じ符号が付されており、詳細な説明が省略される。
新規にネジ山を設定する際は、新規に穴加工面の仕上げ加工を設定する場合と同様に、ネジ山設定ウィンドウ554が起動された後、3Dモデル表示画面60に表示されている目標物モデル61の穴加工面が、タップ、マウスクリック等で操作されることにより、選択される。図12は、図9及び10と同様に、3Dモデル表示画面60に同一形状を有する3つの穴加工面63Bが選択された例を示している。
図12を参照すると、ネジ山設定ウィンドウ554には、選択された穴の個数631、並びに、選択された穴のうちネジ加工を行う穴の開口側径641、奥側径642、長さ643が表示される。タップ加工の場合、段付き穴の処理が可能であるため、ステップS103で求められた穴加工面が異なる径を有する複数の円柱面もしくは円錐台面から成る場合、もっとも奥に位置する円柱面もしくは円錐台面がタップ加工される円柱面もしくは円錐台面として自動的に選択され、選択された円柱面もしくは円錐台面のうち、開口側に位置する直径、奥側に位置する直径、円柱もしくは円錐台の高さが、それぞれ、開口側径641、奥側径642、長さ643として表示される。
ネジ山設定ウィンドウ554は、ネジの形状を、ネジ規格から設定するか、独自仕様から設定するかを指定するためのラジオボタン644を含む。ネジ形状は、デフォルトではネジ規格が指定されているが、ラジオボタン644の操作によって変更可能である。ラジオボタン644は、ドロップダウンリストやボタンなどの他のGUIであってもよい。ラジオボタン644でネジ規格が指定されている場合、ネジ山設定ウィンドウ554には、ネジ規格を指定するドロップダウンリスト645と、ネジの呼び(normal designation of thread)を指定するドロップダウンリスト646と、ネジ長(thread length)を指定するテキストボックス647と、面取りを指定するテキストボックス636と、左ネジ(left-handed screw)か右ネジ(right-handed screw)かを指定するチェックボックス648とが表示されている。すなわち、ネジ山設定ウィンドウ554は、ドロップダウンリスト645、646と、テキストボックス636、647と、チェックボックス648とを含む。ドロップダウンリスト645、646と、チェックボックス648は、ラジオボタンなどの他のGUIであってもよい。ラジオボタン644で独自仕様が指定されている場合、ドロップダウンリスト645、646に代えて、雄ネジの外径(雌ネジの谷の径)を設定するためのテキストボックスと、ピッチを設定するためのテキストボックスが表示される。その他の表示は、ラジオボタン644でネジ規格が指定されている場合の表示と同じである。
ドロップダウンリスト645は、メートル並目ねじ(metric coarse thread)、メートル細目ねじ(metric fine pitch thread)、ユニファイ並目ねじ(unified coarse thread)、ユニファイ細目ねじ(unified fine pitch thread)、管用平行ねじ(parallel pipe thread)、及び、管用テーパねじ(taper pipe thread)のうちのいずれか1つの規格を選択するためのインタフェースである。デフォルトでは、メートル並目ねじが指定される。ユーザは、ドロップダウンリスト645を操作して他の規格に変更することが可能である。ドロップダウンリスト646は、ドロップダウンリスト645で指定されたネジ規格において1つの呼びを選択するためのインタフェースである。デフォルトでは、あらかじめ定められた呼びが指定される。ただし、その雄ネジの外径(雌ネジの谷の径)が、開口側径641、奥側径642、及び、長さ643から定義されるネジ穴の外形を超えない呼びの中から、最も雄ネジの外径(雌ネジの谷の径)が大きい呼びがデフォルトで指定されてもよい。ユーザは、ドロップダウンリスト646を操作して、ドロップダウンリスト645で指定されたネジ規格に対応した他の呼びに変更することが可能である。ラジオボタン644で独自仕様が指定されている場合、雄ネジの外径(雌ネジの谷の径)として、メートル並目ねじで上述の方法で指定された呼びに対応する値が自動で指定される。ラジオボタン644で独自仕様が指定されている場合、ピッチとして、メートル並目ねじで上述の方法で指定された呼びに対応するピッチが自動で指定される。
テキストボックス647は、長さ643に対応する値がネジ長の初期値として表示される。ユーザは、テキストボックス647の値を変更することによって、ネジ長を変更することが可能である。テキストボックス647の値が長さ643の値よりも小さく設定された場合、ネジ加工は、奥側の部分において行われる。チェックボックス648においてtrueが指定されるとき左ネジ(left-handed screw)が指定され、falseが指定されるとき、右ネジ(right-handed screw)が指定される。チェックボックス648のデフォルト値は、falseである。
ネジ山設定ウィンドウ554は、矢印ボタン621、622、及びOKボタン623をさらに含む。これらについては、穴加工設定ウィンドウ552の矢印ボタン621、622、及びOKボタン623と同じ機能を有するため、説明を省略する。なお、ネジ山設定ウィンドウ554のOKボタン623が操作されたときに保存される加工属性は、加工面63Bを特定する情報、加工方法612(タップ加工)、同一の加工面形状の個数631、ドロップダウンリスト646で指定される呼び616(図13参照)、テキストボックス647で指定されるネジ長617(図13参照)、ドロップダウンリスト645で指定されるネジ規格と呼び616から算出される雄ネジの外径(雌ネジの谷の径)及びピッチ、並びに、テキストボックス636にて設定された面取りである。
ネジ山設定ウィンドウ554のOKボタン623が操作されると、ネジ山設定ウィンドウ554が閉じられ、図13に示されるように、保存された加工属性が属性管理番号611とともにネジ加工工程リスト609に表示される。
図13を参照すると、ネジ加工工程リスト609の各行には、保存された加工属性のうちの、属性管理番号611、加工方法612、呼び616、ネジ長617、及び、個数631が表示される。ネジ加工工程リスト609の各行は、タップやマウスクリック等により選択可能である。ネジ加工工程リスト609の1つの行が選択されると、選択された加工属性の穴加工面63Bが3Dモデル表示画面60において強調表示される。強調表示は、色を変えて表示することや点滅表示を含む。加工属性設定インタフェース551は、変更ボタン606と消去ボタン607とをさらに含む。ネジ加工工程リスト609の1つの行が選択された状態で、変更ボタン606が操作されると、ネジ山設定ウィンドウ554が表示され、加工属性の再編集が可能となる。加工属性の再編集においては、3Dモデル表示画面60において強調されている穴加工面63Bをタップ、マウスクリック等の操作により削除するようにしてもよく、別の穴加工面を操作することにより穴加工面63Bに追加するようにしてもよい。ネジ加工工程リスト609の1つの行が選択された状態で、消去ボタン607が操作されると、選択された加工属性がネジ加工工程リスト609から削除される。
図14及び図15は、面粗さ設定ボタン602が活性化された加工属性設定インタフェース551を示す。図14及び図15の加工属性設定インタフェース551において、図9〜13の加工属性設定インタフェース551と同じ構成要素には同じ符号が付されており、詳細な説明が省略される。図14及び図15を参照すると、面粗さ設定ボタン602が活性化されると、加工属性設定インタフェース551のウィンドウには、面粗さ設定リスト610が表示される。追加ボタン605が操作されると、表面粗さ設定リスト610に新規の面粗さ設定を追加するために、面粗さ設定ウィンドウ555が起動される。面粗さの設定は、ボーリング加工においては、穴加工設定ウィンドウ553でも設定できる。このため、先に、穴加工設定ウィンドウ553で面粗さが設定されている穴に対しては面粗さ設定ウィンドウ555によって面粗さを設定することができない。逆に、先に面粗さ設定ウィンドウ555によって面粗さを設定してしまうと、穴加工設定ウィンドウ553で面粗さを設定することができない。ただし、穴加工設定ウィンドウ553と面粗さ設定ウィンドウ555とのうち、後に設定したものを有効にするのでもよい。
新規に面粗さを設定する際は、面粗さ設定ウィンドウ555が起動された後、3Dモデル表示画面60に表示されている目標物モデル61の旋削加工面または面加工面が、タップ、マウスクリック等で操作されることにより、選択される。この際、ステップS101において分類された旋削加工面、または、ステップS104において分類された面加工面が選択可能である。図14は、3Dモデル表示画面60において2つの加工面63Cが選択された例を示している。
図14を参照すると、面粗さ設定ウィンドウ555には、選択された面の個数631が表示される。面粗さ設定ウィンドウ555は、デフォルトの面粗さを指定するドロップダウンリスト650と、選択された加工面63Cの面粗さを指定するラジオボタン651とを含む。ドロップダウンリスト650及びラジオボタン651では、面粗さは、粗い順に1〜9までの値によって指定される。ドロップダウンリスト650では、デフォルト値があらかじめユーザが指定した値に設定されているが、ドロップダウンリスト650の操作によって変更可能である。ラジオボタン651では、初期値が1に設定されているが、ドロップダウンリスト650と同じ値が設定されてもよく、ラジオボタン651の操作によって変更可能である。ドロップダウンリスト650はラジオボタンなどの他のGUIであってもよい。同様に、ラジオボタン651はドロップダウンリストやボタンなどの他のGUIであってもよい。
面粗さ設定ウィンドウ555は、矢印ボタン621、622、及びOKボタン623をさらに含む。これらについては、矢印ボタン621、622によって最終的に選択した面が穴加工面であるか否かに関わらず設定が有効になる点を除いて、穴加工設定ウィンドウ552の矢印ボタン621、622、及びOKボタン623と同じ機能を有するため、説明を省略する。なお、面粗さ設定ウィンドウ555のOKボタン623が操作されたときに保存される加工属性は、加工面63Cを特定する情報、同一の加工面形状の個数631、ラジオボタン651で指定された加工面63Cの面粗さ618(図15参照)、ドロップダウンリスト650で指定されるデフォルトの面粗さである。面粗さ設定ウィンドウ555のOKボタン623が操作されると、面粗さ設定ウィンドウ555が閉じられ、図15に示されるように、面粗さ設定リスト610に保存された加工属性が属性管理番号611とともに表示される。
図15を参照すると、面粗さ設定リスト610の各行には、保存された加工属性のうちの、属性管理番号611、面粗さ618、及び、個数631が表示される。面粗さ設定リスト610の各行は、タップやマウスクリック等により選択可能である。面粗さ設定リスト610の1つの行が選択されると、選択された加工属性の加工面63Cが3Dモデル表示画面60において強調表示される。強調表示は、色を変えて表示することや点滅表示を含む。加工属性設定インタフェース551は、変更ボタン606と消去ボタン607とをさらに含む。面粗さ設定リスト610の1つの行が選択された状態で、変更ボタン606が操作されると、面粗さ設定ウィンドウ555が表示され、加工属性の再編集が可能となる。加工属性の再編集においては、3Dモデル表示画面60において強調されている加工面63Cをタップ、マウスクリック等の操作により削除するようにしてもよく、別の加工面を操作することにより加工面63Cに追加するようにしてもよい。面粗さ設定リスト610の1つの行が選択された状態で、消去ボタン607が操作されると、選択された加工属性が面粗さ設定リスト610から削除される。
図20に戻り、ステップS29において、プロセッサ210(151)は、加工属性設定インタフェース551(穴加工設定ウィンドウ552、穴加工設定ウィンドウ553、ネジ山設定ウィンドウ554、面粗さ設定ウィンドウ555)を介して上述のように、被加工物の加工属性を設定する。図9〜15に示すように、プロセッサ210(151)は、設定ステップ(加工設定ステップ414の加工属性設定サブステップ452)に対応する目標物の形状(目標物モデル61)を示すコンピュータグラフィックス画像(3Dモデル表示画面60)を表示する処理を実行する。ディスプレイ240(154)は、設定ステップに対応する目標物の形状(目標物モデル61)を示すコンピュータグラフィックス画像(3Dモデル表示画面60)を表示する。なお、図9〜15では、被加工物モデル62は表示されていないが、面63A、63B、63Cとして選択されない態様で表示されてもよい。目標物モデル61は内部の穴形状を表示するときは、ワイヤーフレームの表示であってもよい。
プロセッサ210(151)は、設定ステップに関する設定情報の設定状態(設定ステップ状態表示画面50)をさらに表示する処理を実行する。ディスプレイ240(154)は、設定ステップに関する設定情報の設定状態(設定ステップ状態表示画面50)をさらに表示する。図4及び図15では、設定ステップ状態表示画面50は、工程分割サブステップ451の設定状態54と、加工属性設定サブステップ452に係る設定状態55とを表示している。
具体的には、設定ステップ状態表示画面50は、設定状態54として、外側基準分割位置64と内側基準分割位置67とが「自動」で設定されたか(デフォルトの初期設定の位置)、「手動」で設定されたか(初期設定の位置から工程分割設定インタフェース541よる設定変更がされたか)と、第1外側マージンMe1、第2外側マージンMe2、第1内側マージンMi1、及び、第2内側マージンMi2が「自動」で設定されたか(デフォルトの初期設定の長さ)、「手動」で設定されたか(初期設定の長さから工程分割設定インタフェース541よる設定変更がされたか)と、を表示している。
設定ステップ状態表示画面50は、設定状態55として、ネジ山設定がされたか否か、穴加工の設定がされたか否か、及び、面粗さの設定がされたか否か(面粗さのデフォルト値は何か)を表示している。さらに、図15において、設定ステップ状態表示画面50は、加工属性設定サブステップ452が完了したことを示す情報36を表示している。加工属性設定サブステップ452で設定する加工属性を設定する必要のない加工も存在しない訳ではないが、殆どの加工作業において、当該加工属性の設定は必要と考えられるため、プロセッサ210(151)は、1つの加工属性が設定された時点で加工属性設定サブステップ452が完了したと判定している。
ステップS30において、プロセッサ210(151)は、設定ステップ(加工設定ステップ414)の次のステップ(プログラム生成ステップ415)に移行するためのステップ移行インタフェース89をさらに表示する処理を実行する。ディスプレイ240(154)は、設定ステップ(加工設定ステップ414)の次のステップ(プログラム生成ステップ415)に移行するためのステップ移行インタフェース89をさらに表示する。ステップ移行インタフェース89が操作されると、プロセッサ210(151)は、設定インタフェースを介して設定ステップ(加工設定ステップ414)に対応する設定情報が全て設定されたか否かを判定する。ステップ移行インタフェース89が操作されるときに、設定ステップ(プログラム生成ステップ415)に対応する設定情報が全て設定されていないと判定される場合(ステップS30でNo)、次のステップ(プログラム生成ステップ415)に移行しないように構成される。具体的には、ディスプレイ240(154)には、エラー表示がされ、工程分割の再設定や加工属性の再設定が促される(ステップS31)。ステップS31の終了後、ステップS30に戻る。加工設定ステップ414に対応する設定情報が全て設定されているとき(ステップS30でYes)、ステップS32に進む。
ステップS32において、プロセッサ210(151)は、設定ステップ(加工設定ステップ414)に対応する設定情報が全て設定されたと判定される場合、設定ステップについて設定が完了したことを示す情報36を表示する処理を実行する。ディスプレイ240(154)は、設定ステップ(加工設定ステップ414)に対応する設定情報が全て設定されたと判定される場合、設定ステップについて設定が完了したことを示す情報36を表示する。具体的には、図16に示すように、ステップ状態表示画面40の加工設定ステップ414に係るボタン41に、当該情報36が表示される。つぎに、ステップS33において、プロセッサ210(151)は、複数のステップのうち設定情報を設定するべき設定ステップを選択する。ステップS33では、プロセッサ210(151)は、プログラム生成ステップ415を設定ステップとして選択する。
ステップS34において、プロセッサ210(151)は、設定インタフェース300を呼び出すための呼出インタフェース90をさらに表示する処理を実行する。ディスプレイ240(154)は、設定インタフェース300を呼び出すための呼出インタフェース90をさらに表示する。具体的には、プログラム生成ステップ415において、プロセッサ210(151)は、ユニット確認・編集インタフェース561を呼び出すためのユニット確認・編集呼出インタフェース97と、プログラム生成インタフェースを呼び出すためのプログラム生成呼出インタフェース98とをさらに表示する処理を実行する。図16では、ユニット確認・編集呼出インタフェース97とプログラム生成呼出インタフェース98とはボタンで表示されているが、他のGUIであってもよい。
ユニット確認・編集インタフェース561とは、加工プログラム157に出力される加工ユニットの内容を確認し、必要に応じて編集するためのインタフェースである。プログラム生成インタフェースとは、生成する加工プログラム157を特定するための番号(ワーク番号)を確認し、加工プログラム157を生成するためのインタフェースである。
<加工ユニットの予備データ生成>
つぎに、ステップS35において、加工ユニット予備データを生成する。ステップS35は、ステップS34の後でなくても、ステップS32以降でステップS36よりも前のいずれのタイミングでもよい。図22は、ステップS35に係る加工ユニット予備データ生成に係るフローチャートである。加工ユニット予備データは、加工ユニットのうち、工具シーケンス及び形状シーケンスよりも前に定義されるユニットデータを含む。加工ユニット予備データは、さらに、初期設定ステップ411、素材設定ステップ412、モデル配置ステップ413、及び加工設定ステップ414にて設定され、工具シーケンス及び形状シーケンス生成に利用されるがユニットデータに格納されない設定情報も含む。
ステップS201では、プロセッサ210(151)は、ステップS27で分類された各加工面が旋削加工面か否か判定する(ステップS201)。旋削加工面と判定される場合(ステップS201でYes)、プロセッサ210(151)は、当該加工面に対し、目標物の他表面から干渉されない工具のアプローチ方向を求める(ステップS202)。アプローチ方向がワーク座標系のZ軸負方向であるとき、プロセッサ210(151)は、当該加工面に係る加工ユニットのユニット名を端面ユニットとし、加工部名称を正面とする(ステップS203)。アプローチ方向がワーク座標系のZ軸正方向であるとき、プロセッサ210(151)は、当該加工面に係る加工ユニットのユニット名を端面ユニットとし、加工部名称を背面とする(ステップS204)。アプローチ方向がワーク座標系のX軸負方向であるとき、プロセッサ210(151)は、当該加工面に係る加工ユニットのユニット名を棒材ユニットとし、加工部名称を外径とする(ステップS205)。アプローチ方向がワーク座標系のX軸正方向であるとき、プロセッサ210(151)は、当該加工面に係る加工ユニットのユニット名を棒材ユニットとし、加工部名称を内径とする(ステップS206)。
ステップS201において加工面が旋削加工面と判定されなかったとき(ステップS201でNo)、プロセッサ210(151)は、加工面が穴加工面か否か判定する(ステップS211)。穴加工面と判定される場合(ステップS211でYes)、プロセッサ210(151)は、当該加工面がステップS103でグルーピングされた異なる径の2種類の円柱の組み合わせによるものか否か判定する(ステップS212)。プロセッサ210(151)は、さらに、当該加工面がステップS29で加工属性が設定されたか否か判定する(ステップS213、S214)。
異なる径の2種類の円柱の組み合わせでなく、加工属性が設定されていないと判定される場合(ステップS212、S213でNo)、プロセッサ210(151)は、当該加工面に係る加工ユニットのユニット名をドリルユニットとする(ステップS215)。異なる径の2種類の円柱の組み合わせでなく、加工属性が設定されていると判定される場合(ステップS212でNo、ステップS213でYes)、プロセッサ210(151)は、当該加工面に係る加工ユニットのユニット名は、加工属性指定に基づくユニット名とする(ステップS216)。プロセッサ210(151)は、保存されている加工属性の当該加工面に対応する加工方法612を参照することによりユニット名生成において必要な情報を取得することができる。例えば、加工方法612がタップ加工である場合、プロセッサ210(151)は、ユニット名をタップユニットとする。加工方法612がリーマ加工である場合、プロセッサ210(151)は、ユニット名をリーマユニットとする。加工方法612がボーリング加工である場合、プロセッサ210(151)は、ユニット名をボーリングユニットとする。面粗さが指定されているとき、プロセッサ210(151)は、ユニット名を真円ユニットとする。真円ユニットとは、穴加工の仕上げにエンドミルで穴の表面を成形する加工を行う加工ユニットである。
異なる径の2種類の円柱の組み合わせであり、加工属性が設定されていないと判定される場合(ステップS212でYes、ステップS214でNo)、プロセッサ210(151)は、当該加工面に係る加工ユニットのユニット名を座付き穴ユニットとする(ステップS217)。異なる径の2種類の円柱の組み合わせであり、加工属性が設定されていると判定される場合(ステップS212、S214でYes)、プロセッサ210(151)は、当該加工面に係る加工ユニットのユニット名は、加工属性指定に基づく段付きのユニット名とする(ステップS218)。例えば、加工方法612がタップ加工である場合、プロセッサ210(151)は、ユニット名を座付タップユニットとする。加工方法612がボーリング加工である場合、プロセッサ210(151)は、ユニット名を段付きボーリングユニットとする。面粗さが指定されているとき、プロセッサ210(151)は、ユニット名を真円ユニットとする。この真円ユニットでは段付き穴が設定される。
ステップS215またはステップS216が終了すると、プロセッサ210(151)は、ドリルユニットである場合、穴径、穴深さをステップS103でグルーピングされた円柱面の円柱形状から算出する。さらに、プロセッサ210(151)は、ステップS103においてグルーピングされた穴形状の開口が円錐台面から成り、その円錐台面に円柱面が接続されている場合、面取りも検出する。また、プロセッサ210(151)は、ドリルユニット及びステップS216でユニット名が設定される全てのユニットについて円柱の中心軸を求め、開口部の中心である開口中心の位置、穴の伸長方向(穴方向)を求める(ステップS219)。ステップS217またはステップS218が終了すると、プロセッサ210(151)は、ステップS219と同様に、面取り、開口中心の位置、穴方向を求め、さらに、異なる2種類の穴の穴径、穴深さをステップS103でグルーピングされた円柱面の円柱形状から算出する(ステップS220)。
ステップS211において加工面が穴加工面と判定されないとき(ステップS211でNo)、プロセッサ210(151)は、加工面が面加工面か否か判定する(ステップS221)。加工面が面加工面でないと判定されるとき(ステップS221でNo)、加工面がモデル適用不可曲面であるので、プロセッサ210(151)は、当該加工面に係る加工ユニットのユニット名を、モデル適用不可を表すユニット名(例えば、展開不可ユニット)とする(ステップS222)。ステップS211において加工面が面加工面であると判定されるとき(ステップS221でYes)、プロセッサ210(151)は、当該加工面と他の面との接続関係を検出する(ステップS223)。そして、プロセッサ210(151)は、当該加工面に関するユニット名を接続関係から導出される面加工のユニット名とする(ステップS224)。例えば、加工面が凹凸のない平坦な表面のとき、プロセッサ210(151)は、当該加工面に関するユニット名をフェイスミルユニットとする。加工面が他の面から凹んだ平坦な面のとき、プロセッサ210(151)は、当該加工面に関するユニット名をポケットミルユニットとする。
ステップS201からステップS224の処理を全ての加工面について行うと、プロセッサ210(151)は、上記のようにユニット名を割り当てた加工ユニットについて加工プログラム157中の順序を決定する(ステップS230)。順序は、以下のルールに基づき、決定される。
(1)旋削加工、面加工、穴加工の順とする。
(2)旋削加工は、旋削回転軸(回転軸線A3)から遠い順とする。
(3)面加工は、加工の浅さが浅い順とする。
なお、上記に追加して、工程分割サブステップ451において定義される第1外側切削領域Re1の加工と第1内側切削領域Ri1の加工とを連続して行えるように加工ユニットを割りあて、第2外側切削領域Re2の加工と第2内側切削領域Ri2の加工とを連続して行えるように割り当ててもよい。
ステップS230の終了後、プロセッサ210(151)は、加工ユニットのユニットデータを生成する(ステップS231)。まず、プロセッサ210(151)は、順序が決められた加工ユニットそれぞれについて、ステップS203〜S206、S215〜S218、S222、S224の名称及び加工部名称を定義する。そして、棒材ユニットについては、プロセッサ210(151)は、加工ユニットのユニット順に基づき、前の加工ユニットからアプローチしやすい箇所を切込開始位置とし、切込開始位置と、機械定数データ162として記憶されている被加工物の仕上げ代とを追加して、棒材ユニットのユニットデータを生成する。生成された棒材ユニットについて加工属性として面粗さが設定されている場合、プロセッサ210(151)は、生成された棒材ユニットのユニットデータに対応づけて面粗さを加工ユニット予備データとしてメモリ220(152)に記憶させる。生成された棒材ユニットについて加工属性として面粗さが設定されていない場合、プロセッサ210(151)は、生成された棒材ユニットのユニットデータに対応づけてデフォルト値の面粗さを加工ユニット予備データとしてメモリ220(152)に記憶させる。プロセッサ210(151)は、さらに、ステップS101にて抽出された旋削加工面の形状データを、生成された棒材ユニットのユニットデータに対応づけて加工ユニット予備データとしてメモリ220(152)に記憶させる。
端面ユニットについては、プロセッサ210(151)は、機械定数データ162として記憶されている被加工物の仕上げ代を追加して、端面ユニットのユニットデータを生成する。生成された端面ユニットについて加工属性として面粗さが設定されている場合、プロセッサ210(151)は、生成された端面ユニットのユニットデータに対応づけて面粗さを加工ユニット予備データとしてメモリ220(152)に記憶させる。生成された端面ユニットについて加工属性として面粗さが設定されていない場合、プロセッサ210(151)は、生成された端面ユニットのユニットデータに対応づけてデフォルト値の面粗さを加工ユニット予備データとしてメモリ220(152)に記憶させる。プロセッサ210(151)は、さらに、ステップS101にて抽出された旋削加工面の形状データを、生成された端面ユニットのユニットデータに対応づけて加工ユニット予備データとしてメモリ220(152)に記憶させる。
フェイスミルユニット/ポケットミルユニットについては、プロセッサ210(151)は、モデル配置ステップ413にて設定されたワーク座標系のZ軸と面加工面との距離を、ワーク座標系でのワーク原点から面加工面までの距離(深さ)としてフェイスミルユニット/ポケットミルユニットのユニットデータに追加する。プロセッサ210(151)は、旋削加工プロセスによって形成される加工面または被加工物モデル62の表面とのうちの内側に位置する面と目標物の面加工面との間の距離を、面加工面までの切削量(取り代)としてフェイスミルユニット/ポケットミルユニットのユニットデータに追加する。面加工面について加工属性として面粗さが設定されている場合、プロセッサ210(151)は、設定されている面粗さを面加工面の面粗さとしてフェイスミルユニット/ポケットミルユニットのユニットデータに追加する。面加工面について加工属性として面粗さが設定されていない場合、プロセッサ210(151)は、デフォルトの面粗さを面加工面の面粗さとしてフェイスミルユニット/ポケットミルユニットのユニットデータに追加する。プロセッサ210(151)は、機械定数データ162として記憶されている被加工物の仕上げ代をフェイスミルユニット/ポケットミルユニットのユニットデータに追加する。以上によって、プロセッサ210(151)は、フェイスミルユニット/ポケットミルユニットのユニットデータを生成する。さらに、プロセッサ210(151)は、ステップS104にて抽出された面加工面の形状データを、生成されたフェイスミルユニット/ポケットミルユニットのユニットデータに対応づけて加工ユニット予備データとしてメモリ220(152)に記憶させる。
ドリルユニットについては、プロセッサ210(151)は、ステップS215で求めたユニット名に、ステップS219で求めた穴径、穴深さ、面取りを追加してドリルユニットのユニットデータを生成する。プロセッサ210(151)は、生成されたドリルユニットのユニットデータに対応づけてステップS219で求めた開口中心、穴方向を加工ユニット予備データとしてメモリ220(152)に記憶させる。座付き穴ユニットについては、ステップS217で求めたユニット名に、ステップS220で求めた異なる2種類の穴の穴径、穴深さ、面取りを追加して座付き穴ユニットのユニットデータを生成する。プロセッサ210(151)は、生成された座付き穴ユニットのユニットデータに対応づけてステップS220で求めた開口中心、穴方向を加工ユニット予備データとしてメモリ220(152)に記憶させる。真円ユニットについては、プロセッサ210(151)は、ステップS216で求めたユニットに、ステップS219で求めた穴径、穴深さ、面取りを追加して真円ユニットのユニットデータを生成する。そして、プロセッサ210(151)は、加工属性として設定されている面粗さを、生成された真円ユニットのユニットデータに対応づけて加工ユニット予備データとしてメモリ220(152)に記憶させる。または、プロセッサ210(151)は、ステップS218で求めたユニット名に、ステップS220で求めた異なる2種類の穴の穴径、穴深さ、面取りを追加して真円ユニットのユニットデータを生成する。そして、プロセッサ210(151)は、加工属性として設定されている面粗さを、生成された真円ユニットのユニットデータに対応づけて加工ユニット予備データとしてメモリ220(152)に記憶させる。
ボーリングユニットについては、ステップS216で求めたユニット名に、加工属性として設定されている穴径、穴深さ、面取り、壁面粗さ、及び底面粗さとを追加して、ボーリングユニットのユニットデータを生成する。段付きボーリングユニットについては、ステップS218で求めたユニット名に、ステップS220で求めた大穴の穴径及び穴深さと、加工属性として設定されている穴径、穴深さ、面取り、壁面粗さ、及び底面粗さとを追加して段付きボーリングユニットのユニットデータを生成する。タップユニットについては、ステップS216で求めたユニット名に、加工属性として設定されている呼び、ネジ長、雄ネジの外径(雌ネジの谷の径)、ピッチ、及び面取りとを加えてタップユニットのユニットデータを生成する。座付きタップユニットについては、ステップS218で求めたユニット名に、ステップS220で求めた座穴の穴径及び穴深さと、加工属性として設定されている呼び、ネジ長、雄ネジの外径(雌ネジの谷の径)、ピッチ、及び面取りとを加えて座付きタップユニットのユニットデータを生成する。リーマユニットについては、ステップS216で求めたユニット名に、加工属性として設定されている穴径、穴深さ、面取り、及び、前加工の種類とを加えてリーマユニットのユニットデータを生成する。プロセッサ210(151)は、生成されたボーリングユニット、段付きボーリングユニット、タップユニット、座付きタップユニット、リーマユニットのそれぞれのユニットデータに対応づけてステップS220で求めた開口中心、穴方向と、加工属性として設定されている面粗さとを加工ユニット予備データとしてメモリ220(152)に記憶させる。
ステップS36において、プロセッサ210(151)は、設定ステップ(プログラム生成ステップ415)に対応する設定情報を設定するための設定インタフェース300を表示する処理を実行する。ディスプレイ240(154)は、複数のステップの中から選択された設定情報を設定するべき設定ステップ(プログラム生成ステップ415)に対応する設定情報を設定するための設定インタフェース300を表示する。プロセッサ210(151)は、設定ステップに関する設定情報が設定されていないとき、設定インタフェース300を自動的に表示する処理を実行する。ディスプレイ240(154)は、設定ステップに関する設定情報が設定されていないとき、設定インタフェース300を自動的に表示する。このため、ステップS36において、加工プログラム157に出力される加工ユニットの内容が未だ確認されていない場合、プロセッサ210(151)は、ユニット確認・編集インタフェース561を自動的に表示する処理を実行する。加工プログラム157に出力される加工ユニットの内容が未だ確認されていない場合、ディスプレイ240(154)は、ユニット確認・編集インタフェース561を自動的に表示する。加工プログラム157に出力される加工ユニットの内容がすでに確認されている場合、ユニット確認・編集呼出インタフェース97によってユニット確認・編集インタフェース561が呼び出されてもよい。
図16〜18は、プログラム生成ステップ415に係る表示画面30の表示例である。ユニット確認・編集インタフェース561は、ステップS35にてユニットデータが生成された加工ユニットについて加工順にユニット名と加工部とを表示している。加工ユニットは、ステップS230によって上述の第1工程によって加工される加工ユニットが連続して実行された後に、上述の第2工程によって加工される加工ユニットが連続して実行される。このため、ユニット確認・編集インタフェース561は、第1工程の加工ユニットの集合と第2工程の加工ユニットの集合とをそれぞれ矢印ボタン661、662の操作で開閉自在としたアコーディオンメニュー(accordion menu)660を含む。図16及び図17は、アコーディオンメニュー660が第1工程の加工ユニットのリストと第2工程の加工ユニットのリストとをともに表示している状態を示している。この状態において、矢印ボタン661、662がタップ、マウスクリック等で操作されると、それぞれ、第1工程の加工ユニットのリストと第2工程の加工ユニットのリストが閉じられ、矢印ボタン661、662の矢印の向きが反転される。なお、第1工程の加工ユニットのリスト及び第2工程の加工ユニットのリストはアコーディオンメニューによって表示されなくてもよい。
第1工程の加工ユニットのリストと第2工程の加工ユニットのリストの各行は、1つの加工ユニットに対応している。当該リストの各行には、ユニット番号663、ユニット名664、加工部665が表示される。編集ボタン670がタップ、マウスクリック等で操作されると、当該リストの各行をタップ、マウスクリック等で選択し、加工順の変更、加工形状の変更、ユニット名664の変更、加工部665の変更、加工ユニットの追加・削除・統合・分割、加工ユニットの無効化(加工プログラム157には無効状態の加工ユニットとして出力される)などを行うことができる。加工ユニットの編集については、詳細な説明を省略する。加工ユニットの編集終了後、ユニット再生成ボタン671がタップ、マウスクリック等で操作されると、編集された内容に基づいて、加工ユニットのユニットデータ、および、加工ユニット予備データが再生成される。
図16は全ての加工ユニットのユニットデータの自動生成が成功した例を示しているが、ステップS222が実行された結果、一部の加工ユニットのユニットデータの自動生成が失敗した例を図17に示す。図17は、ユニット番号10の加工ユニットにおいてユニットデータの生成に失敗した例を示している。図17を参照すると、ユニット番号10の加工ユニットにはユニットデータの自動生成に失敗したことを示す絵記号666が付されており、ユニット名664、加工部665には何も記載されていない。ユーザはこのような加工ユニットに対して、編集ボタン670を押下してその加工ユニットの編集を行うか、加工ユニットから別のGコードによる加工プログラムを呼びだして加工することが可能である。図17では、さらに、ユニット番号5の加工ユニットがユーザによって無効化されている。図17を参照すると、ユニット番号5の加工ユニットには無効化を示す絵記号667が付されている。無効化された加工ユニットは、加工プログラム157には出力されない。これによって目標物モデル61の部分的変更を行った加工プログラム157を出力することが容易となる。なお、図17における絵記号666、667は図17に示されたものに限られない。
図20に戻り、ステップS37において、プロセッサ210(151)は、ユニット確認・編集インタフェース561を介して上述のように、加工ユニットの確認・編集の入力を受け付ける。図16及び図17では詳細な図示を省略したが、加工ユニットの編集においてリストの各行が選択された際に、編集作業の支援のために、選択された行に対応する加工ユニットの切削部分が3Dモデル表示画面60に表示される。したがって、プロセッサ210(151)は、設定ステップ(プログラム生成ステップ415)に対応する、被加工物の形状(被加工物モデル62)と目標物の形状(目標物モデル61)とを示すコンピュータグラフィックス画像(3Dモデル表示画面60)を表示する処理を実行する。ディスプレイ240(154)は、設定ステップに対応する、被加工物の形状(被加工物モデル62)と目標物の形状(目標物モデル61)を示すコンピュータグラフィックス画像(3Dモデル表示画面60)を表示する。
ステップS38において、プロセッサ210(151)は、ユニット確認・設定が完了したイベントを受け付ける。図16及び図17に示すように、ユニット確認・編集インタフェース561は、さらにOKボタン673を含む。OKボタン673がタップ、マウスクリック等で操作されると、プロセッサ210(151)は、その操作のイベントユニットを、ユニット確認・設定が完了したイベントとして受け付ける。OKボタン673が操作されると、ユニット確認・編集インタフェース561に係るウィンドウは閉じられる。OKボタン673が操作されるまでの間(ステップS38でNo)、ユニット確認・編集インタフェース561は表示される(ステップS37)。
OKボタン673が操作されると(ステップS38でYes)、ステップS39において、プロセッサ210(151)は、設定ステップ(プログラム生成ステップ415)に対応する設定情報を設定するための設定インタフェース300をさらに表示する処理を実行する。ディスプレイ240(154)は、複数のステップの中から選択された設定情報を設定するべき設定ステップ(プログラム生成ステップ415)に対応する設定情報を設定するための設定インタフェース300をさらに表示する。具体的には、加工プログラム157が未生成であるときは、プロセッサ210(151)は、プログラム生成インタフェースを自動で表示する処理を実行する。加工プログラム157が未生成であるときは、ディスプレイ240(154)は、プログラム生成インタフェースを自動で表示する。加工プログラム157が既に生成済であるときは、プロセッサ210(151)は、プログラム生成呼出インタフェース98を介してプログラム生成インタフェースを表示する処理を実行する。加工プログラム157が既に生成済であるときは、ディスプレイ240(154)は、プログラム生成呼出インタフェース98を介してプログラム生成インタフェースを表示する。
ステップS40において、プログラム生成インタフェースを介して、生成する加工プログラム157を特定するための番号(ワーク番号)をユーザが選択もしくは生成することで、プログラムの出力先が指定される。プログラム生成インタフェースは、図面による説明を省略する。このようにプログラムの出力先が指定されると、ステップS41において、プロセッサ210(151)は、その出力先に対して加工プログラム157を出力する。
図23は、ステップS41に係る加工プログラム157を自動で生成する処理の流れを示すフローチャートである。まず、プロセッサ210(151)は、加工ユニットのユニットデータから加工ユニットのユニット名を読み込む(ステップS301)。このユニット名がモデル適用不可を表すユニット名である場合(ステップS302でYes)、当該加工ユニットは自動生成することができないので、ステップS309に進む。このユニット名がモデル適用不可を表すユニット名でない場合(ステップS302でNo)、プロセッサ210(151)は、ユニット名が穴加工を表すユニット名か否か判定する(ステップS303)。穴加工を表すユニット名は、例えば、ドリルユニット、座付き穴ユニット、真円ユニット、ボーリングユニット、段付きボーリングユニット、タップユニット、座付きタップユニット、リーマユニットである。
ユニット名が穴加工を表すユニット名と判定される場合(ステップS303でYes)、プロセッサ210(151)は、穴加工の加工ユニットのユニットデータから穴径、穴深さ、面取りのデータを読み取る(ステップS304)。加工ユニットが座付き穴ユニット、段付きボーリングユニット、座付きタップユニット、段付きの真円ユニットである場合、大径の穴、小径の穴それぞれについての穴径、穴深さのデータを読み取る。そして、プロセッサ210(151)は、ユニット名が真円ユニットか否か判定する(ステップS304A)。ユニット名が真円ユニットでない場合(ステップS304AでNo)、プロセッサ210(151)は、工具シーケンスの1番目のスポット加工プロセスを生成する(ステップS305)。その際、プロセッサ210(151)は、スポット工具に最適な呼び径を決定する。呼び径は、穴径に面取りの値を加えたものであることが好ましい。ただし、穴深さが穴径よりも短い穴である場合、穴深さ以下で且つ可能な限り大きな値を呼び径として決定する。プロセッサ210(151)は、決定した呼び径を有するスポット工具を工具情報158の中から選択する。加工プログラム生成プログラム221(156)は、工具情報158に格納されているスポット工具の材質、及び、素材情報161に格納されている被加工物の材質に対応づけられたスポット加工プロセスにおける切削速度、送り速度のテーブルを有している。プロセッサ210(151)は、そのテーブルを参照して、スポット加工プロセスにおいて、切削速度、送り速度を自動的に決定する。そして、プロセッサ210(151)は、選択されたスポット工具を識別する識別情報と、選択された呼び径と、決定した切削速度及び送り速度とが設定されたスポット加工プロセスを、工具シーケンスの1番目の加工プロセスとして生成する。
つぎに、プロセッサ210(151)は、穴径に基づいて、工具シーケンスの2番目以降に少なくとも1つのドリル加工プロセスを追加する(ステップS306)。具体的には、プロセッサ210(151)は、穴径があらかじめ定めた3つの範囲内のどこに属するかによってドリル加工プロセスの数を1〜3のいずれにするかを自動で決定する。ドリル加工プロセスの数が決定されれば、プロセッサ210(151)は、切削量が概ね均等になるように各ドリル加工プロセスにおいてドリルの呼び径を決定する。プロセッサ210(151)は、決定された呼び径を有するドリルを工具情報158から選択する。また、加工プログラム生成プログラム221(156)は、工具情報158に格納されているドリルの材質、及び、素材情報161に格納されている被加工物の材質に対応づけられたドリル加工プロセスにおける切削速度、送り速度のテーブルを有している。プロセッサ210(151)は、そのテーブルを参照して、各ドリル加工プロセスにおいて、切削速度、送り速度を自動的に決定する。そして、プロセッサ210(151)は、選択されたドリルの識別情報と、決定された呼び径、切削速度、及び送り速度とを含む、少なくとも1つのドリル加工プロセスを生成し、工具シーケンスに追加する。
つぎに、プロセッサ210(151)は、加工ユニットのユニットデータに基づいて、少なくとも1つのドリル加工プロセス以降に加工プロセスを追加する(ステップS307)。具体的には、穴深さが穴径よりも短い穴である場合のようにスポット工具で面取りができない場合、プロセッサ210(151)は、工具情報158の中から他の加工面と干渉しない面取り工具を選択する。加工プログラム生成プログラム221(156)は、工具情報158に格納されている面取り工具の材質、及び、素材情報161に格納されている被加工物の材質に対応づけられた、面取り加工プロセスにおける切削速度、送り速度のテーブルを有している。プロセッサ210(151)は、そのテーブルを参照して、面取り加工プロセスにおいて、切削速度、送り速度を自動的に決定する。プロセッサ210(151)は、選択された面取り工具の工具識別情報と、当該面取り工具の呼び径と、加工ユニットのユニットデータの面取り量に対応した切込量と、決定した切削速度及び送り速度とが設定された面取り加工プロセスを生成し、工具シーケンスに追加する。
加工ユニットのユニット名が座付き穴ユニット、座付きタップユニット、段付きボーリングユニットである場合、プロセッサ210(151)は、径の異なる2つの穴のうち、径の大きな穴の径を加工するためのエンドミルを工具情報158の中から選択する。加工プログラム生成プログラム221(156)は、工具情報158に格納されているエンドミルの材質、及び、素材情報161に格納されている被加工物の材質に対応づけられた、エンドミル加工プロセスにおける切削速度、送り速度のテーブルを有している。プロセッサ210(151)は、そのテーブルを参照して、エンドミル加工プロセスにおいて、切削速度、送り速度を自動的に決定する。さらに、プロセッサ210(151)は、選択されたエンドミルの呼び径に応じた1回の切削当たりの切込量をあらかじめ定めた数式により算出する。プロセッサ210(151)は、選択されたエンドミルの工具識別情報と、当該エンドミルの呼び径と、算出された1回の切削あたりの切込量と、決定した切削速度及び送り速度と、加工ユニット予備データとして記憶されている面粗さとが設定されたエンドミル加工プロセスを生成し、工具シーケンスに追加する。
加工ユニットのユニット名がボーリングユニット及び段付きボーリングユニットである場合、ボーリングユニットのユニットヘッダで定義されている壁面粗さに応じた数の少なくとも1つのボーリング工具を工具情報158の中から選択する。加工プログラム生成プログラム221(156)は、工具情報158に格納されているボーリング工具の材質、及び、素材情報161に格納されている被加工物の材質に対応づけられた、ボーリング加工プロセスにおける切削速度、送り速度のテーブルを有している。プロセッサ210(151)は、そのテーブルを参照して、少なくとも1つのボーリング工具各々のボーリング加工プロセスにおいて、切削速度、送り速度を自動的に決定する。プロセッサ210(151)は、少なくとも1つのボーリング工具の各々についてあらかじめ定められた1回の切削あたりの切込量を工具情報158から取得する。プロセッサ210(151)は、選択された少なくとも1本のボーリング工具の識別情報と、選択された少なくとも1本のボーリング工具の呼び径と、取得された1回の切削あたりの切込量と、決定した切削速度及び送り速度と、加工ユニット予備データとして記憶されている面粗さとが設定された少なくとも1つのボーリング加工プロセスを生成し、工具シーケンスに追加する。なお、ボーリング加工プロセスの前にエンドミル加工プロセスを追加してもよい。
加工ユニットのユニット名がリーマユニットである場合、プロセッサ210(151)は、リーマユニットのユニットヘッダで定義されている前工程に合わせて、加工プロセスを追加する。前工程がドリルと指定されていた場合、プロセッサ210(151)は、上述のようにドリル加工プロセスを追加した後、穴径よりも小さい呼び径を有するリーマ工具を工具情報158の中から選択する。加工プログラム生成プログラム221(156)は、工具情報158に格納されているリーマ工具の材質、及び、素材情報161に格納されている被加工物の材質に対応づけられた、リーマ加工プロセスにおける切削速度、送り速度のテーブルを有している。プロセッサ210(151)は、そのテーブルを参照して、リーマ加工プロセスにおいて、切削速度、送り速度を自動的に決定する。プロセッサ210(151)は、リーマ工具についてあらかじめ定められた1回の切削あたりの切込量を工具情報158から取得する。プロセッサ210(151)は、選択されたリーマ工具の識別情報と、選択されたリーマ工具の呼び径と、取得された1回の切削あたりの切込量と、決定した切削速度及び送り速度と、加工ユニット予備データとして記憶されている面粗さとが設定されたリーマ加工プロセスを生成し、工具シーケンスに追加する。前工程がボーリング、エンドミルと指定されていた場合、前工程がドリルと指定されていた場合と比べて、少なくとも1つのドリル加工プロセスとリーマ加工プロセスとの間に、それぞれ、ボーリング加工プロセス、エンドミル加工プロセスを上述した方法で追加する。
加工ユニットのユニット名がタップユニットである場合、タップユニットのユニットデータに定義されている雄ネジの外径(雌ネジの谷の径)、ピッチ、ネジ深さと合致するタップ工具を工具情報158の中から選択する。加工プログラム生成プログラム221(156)は、工具情報158に格納されているタップ工具の材質、及び、素材情報161に格納されている被加工物の材質に対応づけられた、タップ加工プロセスにおける切削速度、送り速度のテーブルを有している。プロセッサ210(151)は、そのテーブルを参照して、タップ加工プロセスにおいて、切削速度、送り速度を自動的に決定する。プロセッサ210(151)は、選択されたタップ工具の識別情報と、選択したタップ工具の呼び径と、ユニットデータに定義されているピッチ(=1回の切削あたりの切込量)と、決定した切削速度及び送り速度と、加工ユニット予備データとして記憶されている面粗さとが設定されたタップ加工プロセスを生成し、工具シーケンスに追加する。
ユニット名が真円ユニットである場合(ステップS304AでYes)、プロセッサ210(151)は、工具シーケンスの1番目のエンドミル加工プロセスを生成する(ステップS305A)。その際、プロセッサ210(151)は、穴径に基づいて、エンドミルに最適な呼び径を決定する。エンドミルを工具情報158の中から選択する。加工プログラム生成プログラム221(156)は、工具情報158に格納されているエンドミルの材質、及び、素材情報161に格納されている被加工物の材質に対応づけられた、エンドミル加工プロセスにおける切削速度、送り速度のテーブルを有している。プロセッサ210(151)は、そのテーブルを参照して、エンドミル加工プロセスにおいて、切削速度、送り速度を自動的に決定する。さらに、プロセッサ210(151)は、選択されたエンドミルの呼び径に応じた1回の切削当たりの切込量をあらかじめ定めた数式により算出する。プロセッサ210(151)は、選択されたエンドミルの工具識別情報と、当該エンドミルの呼び径と、算出された1回の切削あたりの切込量と、決定した切削速度及び送り速度と、加工ユニット予備データとして記憶されている面粗さとが設定されたエンドミル加工プロセスを生成し、工具シーケンスに追加する。
つぎに、加工ユニットのユニットデータに面取りが設定されている場合、ステップS307Aにおいて、プロセッサ210(151)は、工具情報158の中から他の加工面と干渉しない面取り工具を選択する。加工プログラム生成プログラム221(156)は、工具情報158に格納されている面取り工具の材質、及び、素材情報161に格納されている被加工物の材質に対応づけられた、面取り加工プロセスにおける切削速度、送り速度のテーブルを有している。プロセッサ210(151)は、そのテーブルを参照して、面取り加工プロセスにおいて、切削速度、送り速度を自動的に決定する。プロセッサ210(151)は、選択された面取り工具の工具識別情報と、当該面取り工具の呼び径と、加工ユニットのユニットデータの面取り量に対応した切込量と、決定した切削速度及び送り速度とが設定された面取り加工プロセスを生成し、工具シーケンスに追加する。
ステップS307またはステップS307Aの後、プロセッサ210(151)は、ステップS219またはステップS220にて抽出され、加工ユニット予備データとして記憶されている穴開口中心の位置、穴方向に基づいて形状シーケンスを生成する(ステップS308)。
ステップS303において、ユニット名が穴加工を表すユニット名と異なると判定される場合(ステップS303でNo)、図24のステップS311において、プロセッサ210(151)は、ユニット名が旋削加工を表すユニット名か否か判定する(ステップS311)。旋削加工を表すユニット名は、例えば、棒材ユニット、端面ユニットである。ユニット名が旋削加工を表すユニット名と判定される場合(ステップS311でYes)、プロセッサ210(151)は、ユニットデータの加工部の名称を読み込む。そして、プロセッサ210(151)は、旋削加工の加工ユニットのユニットデータからワーク座標系での切込開始位置、ワーク座標系のX軸方向、Z軸方向の仕上げ代の大きさを読み取る(ステップS312)。
つぎに、プロセッサ210(151)は、切込開始位置、加工部に応じた荒加工工具を工具情報158の中から選択する(ステップS313)。例えば、加工部が内径である場合、ワークW1(被加工物)と干渉しない、軸方向オフセット、径方向オフセット、及び刃先幅が切削開始位置の座標から求められ、求められた軸方向オフセット、径方向オフセット、及び刃先幅を有している荒加工工具が選択される。また、加工ユニットが第1工程に属する場合、割出角度が0度である荒加工工具が選択される。逆に、加工ユニットが第2工程に属する場合、割出角度が180度である荒加工工具が選択される。さらに、あらかじめ定められた第1主軸122及び第2主軸123の回転方向において有効な主軸回転方向と、刃の向きとが決定されるので、決定された有効な主軸回転方向の特性と刃の向きの特性とを有する荒加工工具が選択される。
それから、プロセッサ210(151)は、被加工物(ワークW1)の素材、工具の素材、機械定数データ162として記憶されている機械定数パラメータから荒加工の送り速度、切削速度、切込量を求める(ステップS314)。具体的には、加工プログラム生成プログラム221(156)は、工具情報158に格納されている工具材質、及び、素材情報161に格納されている被加工物の材質に対応づけられた、荒加工における切削速度、送り速度のテーブルを有している。プロセッサ210(151)は、そのテーブルを参照して、被加工物の素材及び工具の素材から、切削速度Vc及び送り速度fを自動的に求めることができる。そして、切削速度Vc及び送り速度f、素材情報161として記憶されている被加工物の比切削抵抗x、機械定数データ162として記憶されている工作機械100の機械効率η、機械馬力HPから荒加工時の切込量aはa=(4500×η×HP)/(x×f×Vc)から算出することができる。ステップS314に関する処理の詳細は、本件特許出願人による特開平1−246042号公報に開示されている。
ステップS314終了後、プロセッサ210(151)は、ステップS313で選択された荒加工工具の識別情報と、選択された荒加工工具の呼びと、ステップS314で求められた切削速度、送り速度、及び切込量とが設定された荒加工プロセスを、工具シーケンスの1番目の加工プロセスとして生成する(ステップS315)。つぎに、プロセッサ210(151)は、ステップS313と同様の方法で、切込開始位置、加工部に応じた仕上げ加工工具を工具情報158の中から選択する(ステップS316)。
つぎに、プロセッサ210(151)は、加工ユニット予備データとして記憶されている面粗さを参照して、仕上げ加工の送り速度を求める(ステップS317)。加工ユニット予備データとして記憶されている面粗さ、すなわち、表面粗さ設定インタフェースで設定される1から9までの表面粗さは、実際の面粗さの大きさμ(μm)と対応しており、加工プログラム生成プログラム221(156)は、上記1から9までの表面粗さとμとの対応関係をテーブルに格納している。プロセッサ210(151)は、旋削加工面において表面粗さが設定されている場合、その値を参照し、実際の面粗さの大きさμを求め、設定されていない場合、デフォルト値を参照し、実際の面粗さの大きさμを求める。そして、プロセッサ210(151)は、選択された仕上げ加工工具の刃先の曲率半径Rを工具情報158から取得し、取得した曲率半径Rと求めた面粗さμからあらかじめ定めた数式により仕上げ加工の送り速度fを算出する。
つぎに、プロセッサ210(151)は、求められた送り速度、被加工物の素材、工具の素材、機械定数パラメータから仕上げ加工の切削速度、切込量を求める(ステップS318)。具体的には、加工プログラム生成プログラム221(156)は、工具情報158に格納されている工具材質、及び、素材情報161に格納されている被加工物の材質、及び仕上げ加工の送り速度fに対応づけられた、仕上げ加工における切削速度のテーブルを有している。プロセッサ210(151)は、そのテーブルを参照して、仕上げ加工の送り速度f、被加工物の素材、及び、工具の素材から、切削速度Vcを自動的に求めることができる。そして、切削速度Vc、送り速度f、比切削抵抗x、機械効率η、機械馬力HPから荒加工時の切込量aはa=(4500×η×HP)/(x×f×Vc)から算出することができる。ステップS318に関する処理の詳細は、本件特許出願人による特開平1−246042号公報に開示されている。
ステップS318終了後、プロセッサ210(151)は、ステップS316で選択された仕上げ加工工具の識別情報と、選択された荒加工工具の呼びと、ステップS317で求められた送り速度と、ステップS318で求められた切削速度及び切込量とが設定された仕上げ加工プロセスを生成し、工具シーケンスに追加する(ステップS319)。ステップS319の後、プロセッサ210(151)は、ステップS101にて抽出され、加工ユニット予備データとして記憶されている旋削加工面を、旋削回転軸(回転軸線A3)を含む断面で切断した旋削加工面の形状に基づいて形状シーケンスを生成する(ステップS320)。
ステップS311において、ユニット名が旋削加工を表すユニット名と異なると判定される場合(ステップS311でNo)、加工ユニットは面加工ユニットとみなされる。図25においてプロセッサ210(151)は、面加工の加工ユニットのユニットデータからワーク座標系でのワーク原点から面加工面までの距離(深さ)、面加工面までの切削量(取り代)、仕上げ代、面加工面の面粗さを読み取る(ステップS321)。つぎに、プロセッサ210(151)は、取り代が仕上げ代より大きいか否か判定する(ステップS322)。取り代が仕上げ代以下であるとき(ステップS322でNo)、ステップ326に進む。取り代が仕上げ代より大きいとき(ステップS322でYes)、ステップ323に進む。
ステップS323において、プロセッサ210(151)は、加工形状に応じた荒加工工具を選択する。なお、プロセッサ210(151)は、他の加工面と干渉しない荒加工工具を選択するようにしてもよい。加工プログラム生成プログラム221(156)は、工具情報158に格納されている荒加工工具の材質、及び、素材情報161に格納されている被加工物の材質に対応づけられた荒加工プロセスにおける切削速度、送り速度のテーブルを有している。プロセッサ210(151)は、そのテーブルを参照して、荒加工プロセスにおいて、切削速度、送り速度を自動的に決定する(ステップS324)。プロセッサ210(151)は、取り代から仕上げ代を引いた値、または荒加工工具であらかじめ定められた最大切込量をもとに切込量を決定する。そして、プロセッサ210(151)は、あらかじめ定められた加工パタンから加工形状を効率的に加工できるアプローチ位置を算出し、選択された荒加工工具の識別情報と、当該荒加工工具の呼び径と、加工パタンと、アプローチ位置と、決定された切込量、切削速度及び送り速度とを含む、荒加工プロセスを生成し、工具シーケンスに追加する(ステップS325)。
ステップS326において、プロセッサ210(151)は、ステップS323と同様の方法で、加工形状に応じた仕上げ加工工具を選択する。つぎに、プロセッサ210(151)は、加工ユニットのユニットデータとして記憶されている面粗さを参照して、仕上げ加工の送り速度を求める(ステップS327)。加工プログラム生成プログラム221(156)は、ユニットデータとして記憶されている面粗さ、すなわち、表面粗さ設定インタフェースで設定される1から9までの表面粗さに対応する送り係数Kfをテーブルに格納している。プロセッサ210(151)は、加工ユニットのユニットデータとして記憶されている面粗さから送り係数Kfを求める。仕上げ加工工具の工具径Dが所定の閾値よりも小さい場合、プロセッサ210(151)は、送り係数Kfと工具径Dと仕上工具の刃数Zとに基づき、所定の式から径方向の仕上送り速度Ff1を算出する。仕上げ加工工具の工具径Dが所定の閾値以上である場合、送り係数Kfと仕上工具の刃数Zに基づき、所定の式から径方向の仕上送り速度Ff1を算出する。軸方向の仕上送り速度Ff2は、径方向の仕上送り速度Ff1に所定の比例係数を乗ずることによって算出される。
つぎに、プロセッサ210(151)は、求められた送り速度、被加工物の素材、工具の素材、機械定数パラメータから仕上げ加工の切削速度を求める(ステップS328)。具体的には、加工プログラム生成プログラム221(156)は、工具情報158に格納されている工具材質、及び、素材情報161に格納されている被加工物の材質、及び仕上げ加工の送り速度Ff1またはFf2に対応づけられた、仕上げ加工における切削速度のテーブルを有している。プロセッサ210(151)は、そのテーブルを参照して、仕上げ加工の送り速度Ff1またはFf2、被加工物の素材、及び、工具の素材から、切削速度Vcを自動的に求めることができる。プロセッサ210(151)は、仕上げ代をもとに切込量を決定する。そして、プロセッサ210(151)は、ステップS325と同様の方法でアプローチ位置を算出し、選択された仕上げ加工工具の識別情報と、当該仕上げ加工工具の呼び径と、あらかじめ定められた加工パタンと、アプローチ位置と、決定された切込量、切削速度及び送り速度とを含む、仕上げ加工プロセスを生成し、工具シーケンスに追加する(ステップS329)。ステップS329の後、プロセッサ210(151)は、ステップS104にて抽出され、加工ユニット予備データとして記憶されている面加工面を、面加工面の法線に沿う方向から見た面加工面の形状に基づいて形状シーケンスを生成する(ステップS330)。
図23に戻り、ステップS308、ステップS320、ステップS330の終了後、もしくは、ユニット名がモデル適用不可を表すユニット名である場合(ステップS302でYes)、プロセッサ210(151)は、全ての加工ユニットの作成を終了したか判定する(ステップS309)。全ての加工ユニットの作成が終了していないと判定される場合(ステップS309でNo)、ステップS301に戻る。全ての加工ユニットの作成が終了していると判定される場合(ステップS309でYes)、共通ユニットおよび基本座標ユニットを含む他のユニットを作成し、ステップS40にて指定された出力先に加工プログラム157を出力する(ステップS310)。
<工具データ画面の変形例>
基本的な表示画面30の説明は以上である。なお、上述する加工ユニットの名称は、一例であって、同一の加工内容を有する加工ユニットが異なる名称であってもよい。また、上述の加工プログラム生成方法は、目標形状が一般的な形状から成る場合を例示したものであって、複雑な形状に対応するにあたり、追加の形状認識、追加の加工ユニットの設定がなされてもよい。その一例として、例えば、旋削によるネジ加工(ネジ旋削加工(thread grinding))や複雑形状の端面を棒材加工によって行う方法が含まれてもよい。さらに、上述の実施形態では穴加工において面属性が設定されたときは、真円ユニットが選択される場合を説明したが、ボーリング加工、タップ加工の穴加工属性の設定がされてなく、面粗さの属性がされている場合、面粗さの属性を無視してもよい。さらに、加工プログラム生成プログラム221(156)が加工プログラム157生成前に終了したとき、作業中の内容を保存して終了し、再度、加工プログラム生成プログラム221(156)が起動されると、当該作業中の設定画面を再表示してもよい。また、全設定のうち、作業が終了した設定の割合を別途表示してもよい。
図19〜25におけるフローチャートにおける各ステップの実行順序は、処理結果が変わらない範囲で変更可能である。また、図20において、ステップS33〜34、S36〜40は省略されてもよい。その場合、加工設定ステップ414が完了された時点でその時点で設定されているデータに基づき、加工プログラム157は出力される。
<実施形態の作用及び効果>
本実施形態に係る工作機械の工具負荷表示方法、工作機械100、加工プログラム生成プログラム221(156)は、被加工物を目標物に加工するために工作機械100を制御するための設定情報を設定するための複数のステップ(411〜415)を表示し、複数のステップ(411〜415)のうち設定情報を設定するべき設定ステップを選択し、設定ステップに対応する設定情報を設定するための設定インタフェース300を表示し、設定インタフェース300を介して設定ステップに対応する設定情報が全て設定されたか否かを判定し、設定ステップに対応する設定情報が全て設定されたと判定される場合、設定ステップについて設定が完了したことを示す情報36を表示する。このため、加工プログラムの作成のための作業の進捗をユーザに報知することができる。
本願においては、「備える」およびその派生語は、構成要素の存在を説明する非制限用語であり、記載されていない他の構成要素の存在を排除しない。これは、「有する」、「含む」およびそれらの派生語にも適用される。
「〜部材」、「〜部」、「〜要素」、「〜体」、および「〜構造」という文言は、単一の部分や複数の部分といった複数の意味を有し得る。
「第1」や「第2」などの序数は、単に構成を識別するための用語であって、他の意味(例えば特定の順序など)は有していない。例えば、「第1要素」があるからといって「第2要素」が存在することを暗に意味するわけではなく、また「第2要素」があるからといって「第1要素」が存在することを暗に意味するわけではない。
程度を表す「実質的に」、「約」、および「およそ」などの文言は、最終結果が大きく変わらないような合理的なずれ量を意味し得る。本願に記載される全ての数値は、「実質的に」、「約」、および「およそ」などの文言を含むように解釈され得る。
本願において「A及びBの少なくとも一方」という文言は、Aだけ、Bだけ、及びAとBの両方を含むように解釈されるべきである。
上記の開示内容から考えて、本発明の種々の変更や修正が可能であることは明らかである。したがって、本発明の趣旨を逸脱しない範囲で、本願の具体的な開示内容とは別の方法で本発明が実施されてもよい。