本発明は、3次元形状に関する情報を算出する情報処理装置および情報処理方法に関するものである。
被加工物を種々の形状に加工する工作機械やロボットは、数値制御装置(以下、NC(Numerical Control)装置という)によって制御されながら、被加工物の3次元加工を行なっている。
特許文献1に記載の型加工支援装置は、金型を3次元モデルとして設計したときに、この仮想空間内に存在する所望部分の寸法を表す数値を、3次元モデルと共に表示させる機能(寸法表示機能)を具備している。そして、寸法表示機能が、CADなどで作成した仮想モデルを3次元的に表示させる場合に、その後の作業で特に注目して欲しい部分などの寸法を表示させている。例えば、寸法表示機能は、ダイアログボックスを表示し、3次元モデルの表示時画面上でマウスによって指定された距離や角度などを数字で表示している。
また、特許文献2に記載の寸法表示システムは、CAD/CAMシステムの画面に、正面図、平面図、側面図からなる製品の2次元図面を表示するとともに、画面上に三次元用のウインドウを開いて製品の三次元像を表示している。そして、三次元像に、2点間の寸法、交差する線や面の角度、寸法、円の径寸法を表示している。
特開2003−44544号公報(第5頁、図4)
特開平5−134729号公報(第1頁)
しかしながら、上記前者の従来技術では、コンピュータ内でディジタル的に作成された型についての仮想モデルの部位に関する情報を予め格納しておく必要がある。このため、操作者が格納された情報以外の部位を選択した場合には、選択された情報を表示できないといった問題があった。
また、上記後者の従来技術では、寸法情報を2次元図面から取得して表示するので、表示できる寸法情報は2次元図面から解析できうる情報に限られてしまうといった問題があった。
本発明は、上記に鑑みてなされたものであって、3次元形状の製図データから所望の3次元形状に関する情報を容易に算出することができる情報処理装置および情報処理方法を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、3次元形状に関する情報を算出する情報処理装置において、3次元形状の表示に用いる3次元形状の製図データを入力する3次元形状入力部と、前記3次元形状入力部に入力された製図データの3次元形状を表示する表示部と、外部入力される指示に基づいて前記表示部が表示している3次元形状の形状要素を3次元形状の算出に用いるデータに設定するとともに、前記製図データ内に明示されていない前記3次元形状に関する形状の値を、設定した形状要素を用いて形状値情報として算出し、算出結果を前記表示部に表示させる形状値情報算出部と、を備えることを特徴とする。
本発明に係る情報処理装置は、3次元形状の形状要素を3次元形状の算出に用いるデータに設定するとともに、製図データ内に明示されていない3次元形状に関する形状の値を、設定した形状要素を用いて算出するので、製図データから所望の3次元形状に関する情報を容易に算出することが可能になるという効果を奏する。
図1は、本発明の実施の形態に係る情報処理装置の構成を示すブロック図である。
図2は、情報処理装置の動作手順を示すフローチャートである。
図3は、座標系の設定処理手順を示すフローチャートである。
図4は、座標系を設定する際に表示させる設定ダイアログを説明するための図である。
図5は、形状値情報の算出処理手順を示すフローチャートである。
図6は、長さ寸法の算出処理を説明するための図である。
図7は、座標値の算出処理を説明するための図である。
図8は、角度寸法の算出処理を説明するための図である。
図9は、長さ寸法の値の表示例を示す図である。
図10は、点の座標値の表示例を示す図である。
図11は、角度寸法の値の表示例を示す図である。
図12は、形状値情報の表示処理手順を示すフローチャートである。
図13は、3次元表示画面と形状値情報ダイアログの表示例を示す図(1)である。
図14は、3次元表示画面と形状値情報ダイアログの表示例を示す図(2)である。
図15は、3次元表示画面と形状値情報ダイアログの表示例を示す図(3)である。
図16は、形状値情報のNCプログラムへの反映処理手順を示すフローチャートである。
図17は、形状値情報のNCプログラムへの反映処理を説明するための図である。
図18は、座標値に関する形状値情報の算出処理手順を示すフローチャートである。
図19は、長さ寸法に関する形状値情報の算出処理手順を示すフローチャートである。
図20は、点とエッジとの間の最短距離を説明するための図(1)である。
図21は、点とエッジとの間の最短距離を説明するための図(2)である。
図22は、点と面との間の最短距離を説明するための図(1)である。
図23は、点と面との間の最短距離を説明するための図(2)である。
図24は、エッジとエッジとの間の最短距離を説明するための図(1)である。
図25は、エッジとエッジとの間の最短距離を説明するための図(2)である。
図26は、面と面との間の最短距離を説明するための図(1)である。
図27は、面と面との間の最短距離を説明するための図(2)である。
図28は、エッジと面との間の最短距離を説明するための図である。
図29は、角度寸法に関する形状値情報の算出処理手順を示すフローチャートである。
図30は、直線エッジの方向ベクトルと直線エッジの方向ベクトルとがなす角度を示す図である。
図31は、平面の法線ベクトルと平面の法線ベクトルとがなす角度を示す図である。
図32は、直線エッジの方向ベクトルと平面の法線ベクトルとがなす角度を示す図である。
図33は、直線エッジの方向ベクトルと平面の法線ベクトルとがなす角度を示す図である。
符号の説明
1 情報処理装置
2 プログラム作成部
11 次元形状入力部
12 座標系設定部
13 形状値情報算出部
14 出力部
15 指示入力部
16 表示部
19 制御部
21 NCプログラム記憶部
22 NCプログラム反映部
112E,122E,123E,132E,173 エッジ
113P,114P,143,144 端点
115,124,125,171,174,176,177 点
126 線
133F,175 面
134 角
140,150,160 3次元表示画面
142 3次元形状
145 中心点
201,203,204 設定ダイアログ
211a〜211c,211a〜221c,230 形状値情報ダイアログ
222〜226,231,304 形状値情報
301,302 プログラムエディタ画面
302 カーソル
a1〜a3 方向ベクトル
b1〜b3 法線ベクトル
X,Y,Z1,Z2 角度
以下に、本発明に係る情報処理装置および情報処理方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態
図1は、本発明の実施の形態に係る情報処理装置の構成を示すブロック図である。情報処理装置1は、3次元形状に関する情報に基づいて所望の形状要素に対する形状の情報(形状に含まれる部位の長さ寸法や角度寸法など)を算出し、算出結果を表示するコンピュータなどの装置である。
情報処理装置1は、例えばCAD(Computer Aided Design)装置で作成された3次元形状に関する情報(CADデータなどの所定の寸法を含んだ製図データ)に基づいて形状(部位)の寸法などの情報(後述の形状値情報)を算出するとともに、算出した形状値情報(CADデータ内に明示されていない形状の値)を必要に応じてNCプログラムなどに反映させる。情報処理装置1には、NCプログラムなどを用いて工作機械やロボットなどを制御させてもよい。この場合、情報処理装置1はNC装置として動作する。
情報処理装置1は、3次元形状入力部11、座標系設定部12、形状値情報算出部13、出力部14、指示入力部15、表示部16、NCプログラム作成部2、制御部19を備えている。
3次元形状入力部11は、外部装置などから送られてくる3次元形状に関する情報(辺や面を表示するための情報)(以下、3次元形状情報という)を入力し、座標系設定部12、形状値情報算出部13、表示部16などに送る。
指示入力部15は、マウスやキーボードを備えて構成され、情報処理装置1の使用者(加工オペレータなどの操作者)から入力される指示などを入力する。指示入力部15には、3次元形状情報に含まれる形状に対して設定される座標系の情報(座標系を指定する情報)や、表示部16によって表示される3次元形状内の形状要素(点、線、面など)を指定する情報などが入力される。指示入力部15は、入力した座標系の情報を座標系設定部12に入力し、入力した形状要素の情報を形状値情報算出部13に入力する。
座標系設定部12は、CAD座標系で作成されたCADデータ(3次元形状データ)に対して、形状値情報を算出や表示する際に用いる新たな座標系を設定し、CADデータを新たな座標系に応じた3次元形状の情報に変換する。座標系設定部12は、表示部16によって表示される3次元形状のCADデータに対し、指示入力部15から入力される指示情報(座標系を指定する情報)に基づいた新たな座標系を設定する。座標系設定部12は、設定した新たな座標系と、座標系を変換した3次元形状の情報と、を形状値情報算出部13、表示部16、NCプログラム作成部2、出力部14などに送る。なお、座標系設定部12は、CAD座標系が、形状値情報を算出や表示する際に用いる新たな座標系と同じである場合、CADデータに対する座標系の変換処理を行う必要はない。
形状値情報算出部13は、表示部16によって表示される3次元形状の中で使用者によって指定された任意の形状の情報(形状要素を用いた情報)(例えば、部位の長さ寸法や角度寸法などの値)を形状値情報として算出する。形状値情報算出部13は、指示入力部15から入力される指示情報(形状要素を指定する情報)に基づいて、形状値情報を算出する。形状値情報算出部13は、算出した結果(形状値情報)を、表示部16、NCプログラム作成部2、出力部14などに送る。
NCプログラム作成部2は、NCプログラムの作成や修正を行なう。NCプログラム作成部2は、NCプログラム記憶部21とNCプログラム反映部22を備えている。NCプログラム記憶部21は、工作機械などを制御する際に用いるNCプログラムを記憶するメモリなどの記憶手段である。NCプログラム反映部22は、形状値情報をNCプログラム記憶部21内のNCプログラムに反映させ、反映後の新たなNCプログラムをNCプログラム記憶部21に記憶させる。
表示部16は、液晶ディスプレイなどの表示手段を備えて構成されている。表示部は、3次元形状情報に応じた3次元形状、座標系設定部12で設定された座標系、この座標系での3次元形状、使用者によって指定された部位(被加工物の形状要素)、算出対象となる形状(線、角などの部位)、算出対象となる形状を使用者に設定させるための設定ダイアログ、形状値情報、反映後の新たなNCプログラムなどを表示する。
出力部14は、表示部16が表示する種々の情報を外部装置へ出力する。出力部14は、例えば座標系設定部12で設定された座標系での3次元形状、使用者によって指定された部位、形状値情報、反映後の新たなNCプログラムなどを外部装置に出力する。制御部19は、3次元形状入力部11、座標系設定部12、形状値情報算出部13、出力部14、指示入力部15、表示部16、NCプログラム作成部2を制御する。
つぎに、情報処理装置1の動作手順について説明する。図2は、情報処理装置の動作手順を示すフローチャートである。3次元形状入力部11は、外部装置などから送られてくる3次元形状情報(幾何情報)を入力し(ステップST10)、表示部16と座標系設定部12に送る。表示部16は、3次元形状入力部11からの3次元形状情報に応じた3次元形状を表示する(ステップST20)。
座標系設定部12は、指示入力部15から入力される使用者からの指示情報(座標系を指定する情報)に基づいて、CAD座標系で作成されたCADデータ(3次元形状データ)に新たな座標系(座標軸と原点)を設定(座標系の変換処理)するとともに、入力された3次元形状の情報を座標系に応じた3次元形状の情報に変換する(ステップST30)。座標系設定部12は、設定した座標系と、この座標系に応じて変換した3次元形状の情報と、を表示部16に表示させるとともに形状値情報算出部13に送る。
形状値情報算出部13は、指示入力部15から入力される使用者からの指示情報(形状要素を指定する情報)に基づいて、形状値情報の算出処理を行なう(ステップST40)。形状値情報算出部13は、形状値情報を、表示部16、NCプログラム作成部2に送る。
表示部16は、形状値情報算出部13からの形状値情報を、NCプログラムで指定された座標系で表示する(ステップST50)。機械加工などでは、加工方法によってプログラムに設定する加工位置の表示形式が異なる。例えば、直交座標系の座標値を用いて加工位置を表す方法、極座標系の座標値を用いて加工位置を表す方法、などがある。さらに、表示部16は、表形式等で表示されている形状値情報に関連する3次元形状上の部位(算出対象となった部位)を新たに設定した座標系で表示する(ステップST60)。
NCプログラム作成部2は、形状値情報算出部13からの形状値情報をNCプログラム記憶部21内のNCプログラムに反映させることによってNCプログラムの編集を行なう(ステップST70)。このとき、表示部16は、座標系を指定する指示情報が使用者から入力されると、指定された座標系に応じた値に形状値情報を変換し、変換した形状値情報を表示する。表示部16は、NCプログラム作成部2で作成されたNCプログラム(編集結果)を表示する(ステップST80)。
なお、図2では、ステップS30の処理(新たな座標系の設定処理)の後にステップS40の処理(形状値情報の算出処理)を行う場合について説明したが、座標系設定部12は、形状値情報算出部13によるステップS40の処理の後にステップS30の処理を行ってもよい。その場合、座標系設定部12は、ステップST40の処理で得た形状値情報を、ステップST30の処理で設定した座標系に応じた値に変換する。
つぎに、図2に示した各処理(ステップST30〜ST70)を詳細に説明する。以下、ステップST30の処理(座標系の設定処理)、ステップST40の処理(形状値情報の算出処理)、ステップST60の処理(形状値情報の表示処理)、ステップST70の処理(NCプログラムへの反映処理)の順番で説明し、最後に形状値情報の算出処理を詳細に説明する。
図3は、座標系の設定処理手順を示すフローチャートである。座標系設定部12は、指示入力部15から入力される指示情報に基づいて、座標系のうちの何れの種類のデータを設定するかを判別する(ステップST110)。座標系(CAD座標系で作成されたCADデータに対して新たに設定する座標系)として設定されるデータとしては、座標軸の傾斜、座標原点、座標原点の移動などがある。本実施の形態では、この座標系設定部12で設定する新たな座標系が、形状値情報を算出や表示する際に用いる座標系となる。
指示入力部15から座標軸の傾斜角度を指定する指示情報が入力されると(ステップST110、座標軸の傾斜)、座標系設定部12は座標系に関するデータの内容が、座標軸の傾斜である場合と判断する。そして、座標系設定部12は、指示入力部15からの指示情報に基づいて、指定された傾斜角度だけ3次元形状データの座標軸を回転移動(傾斜)させ(ステップST120,ST130)、現状の座標系に対する3次元形状データの変換を行う。
指示入力部15から座標原点を指定する指示情報が入力されると(ステップST110、座標原点)、座標系設定部12は座標系に関するデータの内容が、座標原点の設定(新たな座標原点の指定)であると判断する。そして、座標系設定部12は、指示入力部15からの指示情報に基づいて、指定された座標原点へ座標軸を平行移動させ(ステップST140,ST150)、現状の座標系に対する3次元形状データの変換を行う。
指示入力部15から座標原点の移動量を指定する指示情報が入力されると(ステップST110、座標原点移動)、座標系設定部12は座標系に関するデータの内容が、座標原点の移動(移動量の指定)であると判断する。そして、座標系設定部12は、指示入力部15からの指示情報に基づいて、指定された座標原点へ座標軸を平行移動させ(ステップST160,ST170)、現状の座標系に対する3次元形状データの変換を行う。
座標系設定部12は、現状の座標軸に対する3次元形状データの変換を行うと、座標系として他に設定するデータがあるか否かを判断する(ステップST180)。座標系として他に設定するデータがある場合(ステップST180、Yes)、ステップST110〜ST170の処理を繰り返す。すなわち、座標系設定部12は、指示入力部15から入力される指示情報に基づいて、座標系のうちの何れのデータを設定するかを判別し、この判別結果に応じた座標系の設定を行なう。
座標系として他に設定するデータがない場合(ステップST180、No)、座標系設定部12は、変換した座標系での3次元形状データや座標軸を表示部16に表示させる(ステップST190)。さらに、座標系設定部12は、変換した座標軸を新しい現状の座標軸に更新する(ステップST200)。
なお、本実施の形態では、座標系として設定するデータとして3種類のデータがある場合を一例として説明したが、座標系として設定するデータは座標系に関するデータであれば何れのデータでもよい。また、座標系設定部12は、座標系として設定するデータを1つずつ設定してもよいし、複数同時に設定してもよい。また、複数回に渡って座標系を設定する場合には、座標系を設定する都度、変換した座標系での3次元形状データや座標軸を表示部16に表示させてもよい。
図4は、座標系を設定する際に表示させる設定ダイアログを説明するための図である。図4では、点の座標測定(座標値)を行うための設定ダイアログ201と、点の座標測定を行なう際に用いる座標系(測定座標系)を設定するための設定ダイアログ203,204と、を示している。
設定ダイアログ201には、点を測定する際の座標系を入力する欄(テキストボックス)、算出対象となる点の種類(後述の特徴点)を入力する欄、加工ユニットデータ(3次元形状データ)が保持する座標系の情報を参照するためのボタンなどが設けられている。
点を測定する際の座標系は、座標軸の傾きや座標原点などによって設定される。設定ダイアログ203は、座標軸の傾きを設定するダイアログであり、図4では、工具の進行方向から座標軸の傾きを設定する場合の設定ダイアログを一例として示している。
設定ダイアログ204は、座標原点を設定するダイアログであり、図4では、座標値を入力する場合の設定ダイアログを一例として示している。設定ダイアログ203で設定された座標軸の傾きや、設定ダイアログ204で設定された座標原点は、設定ダイアログ201の座標系を入力する欄に反映される。
つぎに、ステップST40の処理(形状値情報の算出処理)について説明する。図5は、形状値情報の算出処理手順を示すフローチャートである。形状値情報算出部13は、指示入力部15から入力される指示情報に基づいて、算出対象となる形状(部位)の種類(以下、算出対象種別という)を判別する(ステップST210)。算出対象種別としては、長さ寸法(距離)、座標値、角度寸法などがある。長さ寸法には、例えば半径寸法、直径寸法、円弧寸法、形状要素間寸法などが含まれている。
(算出対象種別が長さ寸法の場合)
基準となる形状要素(1)を1つ指定し、順次この形状要素(1)と各形状要素(2)の間の距離を算出(測定)する場合の例について説明する。形状値情報算出部13が判別した算出対象種別が、長さ寸法である場合(ステップST210、長さ寸法)、使用者の所望の形状要素(寸法を測定したい部位の形状要素)として、3次元形状の表示画面上で1つめの形状要素(1)と2つめの形状要素(2)が使用者に指定される。この1つめの形状要素(1)と2つめの形状要素(2)は、指示入力部15(マウスなど)から使用者によって指定される。1つめの形状要素(1)が長さ寸法を算出する際に基準となる形状要素である。
1つめの形状要素(1)は、指示入力部15から形状値情報算出部13へ送られる。形状値情報算出部13は、指定された形状要素(1)を、3次元形状の表示画面上に設定する(ステップST220)。具体的には、形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素(1)に対応するデータを抽出しておく。形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素(1)の箇所を表示部16にハイライト表示させる(ステップST230)。
また、2つめの形状要素(2)は、指示入力部15から形状値情報算出部13へ送られる。形状値情報算出部13は、指定された形状要素(2)を、3次元形状の表示画面上に設定する(ステップST240)。具体的には、形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素(2)に対応するデータを抽出しておく。形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素(2)の箇所を表示部16にハイライト表示させる(ステップST250)。
形状値情報算出部13は、形状要素(1)と形状要素(2)との間の長さ寸法に関する形状値情報を内部演算によって算出する(ステップST260)。形状値情報算出部13は、形状値情報として、例えば測定対象となる点同士(点間)の座標成分の差分値や、同一平面内または空間に位置する点間の距離などを算出する。形状値情報算出部13は、算出した形状値情報を、ダイアログ(形状値情報ダイアログ)として表示部16に表示させる(ステップST270)。
この後、情報処理装置1に長さ寸法の算出処理を続行させる場合には、使用者によって指示入力部15から長さ寸法の算出処理を続行させることを示す指示情報が入力される。この指示情報は、指示入力部15から形状値情報算出部13に送られる。
形状値情報算出部13は、指示入力部15からの指示情報に基づいて、長さ寸法の算出処理を続行するか否かを判断する(ステップST280)。形状値情報算出部13は、長さ寸法の算出処理を続行すると判断した場合(ステップST280、Yes)、長さ寸法を算出する際に基準となっていない方の形状要素(2)のハイライト表示を表示部16にキャンセルさせる(ステップST285)。
そして、形状値情報算出部13は、ステップST240〜ST285の処理を行なう。長さ寸法の算出処理を続行する場合、使用者によって指示入力部15から新たな形状要素(2)が入力される。この新たな形状要素(2)は、指示入力部15から形状値情報算出部13に送られる。
形状値情報算出部13は、新たに指定された形状要素(2)を、3次元形状の表示画面上に設定し、指定された新たな形状要素(2)の箇所を表示部16にハイライト表示させる(ステップST240,ST250)。
そして、形状値情報算出部13は、形状要素(1)と形状要素(2)との間の長さ寸法に関する形状値情報を内部演算によって算出し、算出した形状値情報を、形状値情報ダイアログとして表示部16に表示させる(ステップST260,ST270)。
長さ寸法の算出処理を続行させないことを示す指示情報(算出終了の指示)が、使用者によって指示入力部15に入力されるまで、形状値情報算出部13はステップST240〜ST285の処理を繰り返す。算出終了の指示が、使用者によって指示入力部15に入力されると(ステップST280、No)、情報処理装置1は長さ寸法の算出処理を終了する。
(算出対象種別が座標値の場合)
形状値情報算出部13が判別した算出対象種別が、座標値である場合(ステップST210、座標値)、寸法を測定したい部位の種類として、座標値を求める点の種類(例えば、端点、中間点、中心点など)が使用者に指定される。また、寸法を測定したい部位の形状要素(位置)が3次元形状の表示画面上で使用者に指定される。
使用者に指定されて算出対象となる点の種類と形状要素は、使用者によって指示入力部15(マウスなど)から指定され、指示入力部15から形状値情報算出部13へ送られる。形状値情報算出部13は、指定された点の種類を記憶(設定)する(ステップST290)。また、形状値情報算出部13は、指定された形状要素を3次元形状の表示画面上に設定する(ステップST300)。具体的には、形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素に対応するデータを抽出しておく。
形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素の箇所を表示部16にハイライト表示させる(ステップST310)。形状値情報算出部13は、指定された形状要素に関連する形状値情報であって、指定された種類の点の形状値情報(点の座標値)を内部演算により算出する(ステップST320)。
形状値情報算出部13は、算出した点の座標値(形状値情報)に対応する位置(点)を、表示部16に3次元形状の表示画面上でハイライト表示させる(ステップST330)。形状値情報算出部13は、算出した点をハイライト表示させると、形状要素のハイライト表示を表示部16にキャンセルさせる(ステップST340)。そして、形状値情報算出部13は、算出した形状値情報を、ダイアログ(形状値情報ダイアログ)として表示部16に表示させる(ステップST350)
この後、情報処理装置1に座標値の算出処理を続行させる場合には、使用者によって指示入力部15から座標値の算出処理を続行させることを示す指示情報が入力される。この指示情報は、指示入力部15から形状値情報算出部13に送られる。
形状値情報算出部13は、指示入力部15からの指示情報に基づいて、座標値の算出処理を続行するか否かを判断する(ステップST360)。形状値情報算出部13は、座標値の算出処理を続行すると判断した場合(ステップST360、Yes)、ステップST290〜ST360の処理を行なう。座標値の算出処理を続行する場合、使用者によって指示入力部15から新たな点の種類と新たな形状要素が入力される。この新たな点の種類と形状要素は、指示入力部15から形状値情報算出部13に送られる。
形状値情報算出部13は、指定された点の種類を記憶するとともに、指定された形状要素を3次元形状の表示画面上に設定する(ステップST290,ST300)。そして、形状値情報算出部13は、指定された形状要素の箇所を表示部16にハイライト表示させる(ステップST310)。
形状値情報算出部13は、指定された形状要素に関連する形状値情報であって、指定された種類の点の形状値情報を算出する(ステップST320)。形状値情報算出部13は、算出した点の座標値に対応する点を、表示部16に3次元形状の表示画面上でハイライト表示させるとともに、表示部16に形状要素のハイライト表示をキャンセルさせる(ステップST330,ST340)。そして、形状値情報算出部13は、算出した形状値情報を、ダイアログとして表示部16に表示させる(ステップST350)。
座標値の算出処理を続行させないことを示す指示情報(算出終了の指示)が、使用者によって指示入力部15に入力されるまで、形状値情報算出部13はステップST290〜ST360の処理を繰り返す。算出終了の指示が、使用者によって指示入力部15に入力されると(ステップST360、No)、情報処理装置1は座標値の算出処理を終了する。
なお、図5では、算出対象となる点の種類を設定した後、算出対象となる形状要素の設定とハイライト表示を行なったが、算出対象となる形状要素の設定とハイライト表示を行なった後に算出対象となる点の種類を設定してもよい。換言すると、算出対象となる点の種類の設定は、形状値情報を算出する前に設定しておけばよい。
(算出対象種別が角度寸法の場合)
基準となる形状要素(3)を1つ指定し、順次この形状要素(3)と各形状要素(3)の間でなす角度を算出(測定)する場合の例について説明する。形状値情報算出部13が判別した算出対象種別が、角度寸法である場合(ステップST210、角度寸法)、使用者の所望の形状要素として、3次元形状の表示画面上で1つめの形状要素(3)と2つめの形状要素(4)が使用者に指定される。この1つめの形状要素(3)と2つめの形状要素(4)は、指示入力部15(マウスなど)から使用者によって指定される。1つめの形状要素(3)が角度寸法を算出する際に基準となる形状要素である。
1つめの形状要素(3)は、指示入力部15から形状値情報算出部13へ送られる。形状値情報算出部13は、指定された形状要素(3)を、3次元形状の表示画面上に設定する(ステップST370)。具体的には、形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素(3)に対応するデータを抽出しておく。形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素(3)の箇所を表示部16にハイライト表示させる(ステップST380)。
また、2つめの形状要素(4)は、指示入力部15から形状値情報算出部13へ送られる。形状値情報算出部13は、指定された形状要素(4)を、3次元形状の表示画面上に設定する(ステップST390)。具体的には、形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素(4)に対応するデータを抽出しておく。形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素(4)の箇所を表示部16にハイライト表示させる(ステップST400)。
形状値情報算出部13は、形状要素(3)と形状要素(4)との間の角度寸法に関する形状値情報を内部演算によって算出する(ステップST410)。形状値情報算出部13は、形状値情報として、例えば、形状要素(3)と形状要素(4)とがなす角度などを算出する。形状値情報算出部13は、算出した形状値情報を、ダイアログ(形状値情報ダイアログ)として表示部16に表示させる(ステップST420)。
この後、情報処理装置1に角度寸法の算出処理を続行させる場合には、使用者によって指示入力部15から角度寸法の算出処理を続行させることを示す指示情報が入力される。この指示情報は、指示入力部15から形状値情報算出部13に送られる。
形状値情報算出部13は、指示入力部15からの指示情報に基づいて、角度寸法の算出処理を続行するか否かを判断する(ステップST430)。形状値情報算出部13は、角度寸法の算出処理を続行すると判断した場合(ステップST430、Yes)、角度寸法を算出する際に基準となっていない方の形状要素(4)のハイライト表示を表示部16にキャンセルさせる(ステップST435)。
そして、形状値情報算出部13は、ステップST390〜ST435の処理を行なう。角度寸法の算出処理を続行する場合、使用者によって指示入力部15から新たな形状要素(4)が入力される。この新たな形状要素(4)は、指示入力部15から形状値情報算出部13に送られる。
形状値情報算出部13は、新たに指定された形状要素(4)を、3次元形状の表示画面上に設定し、指定された新たな形状要素(4)の箇所を表示部16にハイライト表示させる(ステップST390,ST400)。
そして、形状値情報算出部13は、形状要素(3)と形状要素(4)との間の角度寸法に関する形状値情報を内部演算によって算出し、算出した形状値情報を、形状値情報ダイアログとして表示部16に表示させる(ステップST410,ST420)。
角度寸法の算出処理を続行させないことを示す指示情報(算出終了の指示)が、使用者によって指示入力部15に入力されるまで、形状値情報算出部13はステップST390〜ST435の処理を繰り返す。算出終了の指示が、使用者によって指示入力部15に入力されると(ステップST430、No)、情報処理装置1は角度寸法の算出処理を終了する。
このように、算出対象が長さ寸法の場合は、2つの形状要素間の各座標成分の差分や距離などが形状値情報として算出される。また、算出対象が座標値の場合は、指定された形状要素に関連する点の座標値などが形状値情報として算出される。さらに、算出対象が座標値であって、指定され形状要素が円弧エッジに関する場合は、直径または半径などが形状値情報として算出される。また、算出対象が角度寸法の場合は、2つの形状要素がなす角の大きさなどが形状値情報として算出される。
ここで、図6〜図8を参照して形状値情報の算出処理を説明する。なお、以下でのエッジは、曲線、直線、線分などの線形状を示している。図6は、長さ寸法の算出処理を説明するための図である。図6ではエッジ122Eとエッジ123Eの2つの形状要素に関する寸法値情報(長さ寸法)を算出する場合の例を示している。
形状値情報算出部13は、まずエッジ122Eとエッジ123Eとの間が最短距離となる点124と点125を求める。点124がエッジ122E上の点であり、点125がエッジ123E上の点である。
形状値情報算出部13は、点124と点125を求めると、点124と点125との最短距離となる線126に関する形状値情報(長さ寸法)を算出する。そして、表示画面上の3次元形状上に線126を表示させるとともに、線126に関する形状値情報を表示画面上(形状値情報ダイアログ)に表示させる。
図6では、2つのエッジ122Eとエッジ123Eとの間の長さ寸法の算出処理について説明したが、この他にも寸法値情報の算出対象となる形状要素の組合せは種々ある。例えば、点と点との間の長さ寸法、点とエッジとの間の長さ寸法、点と面との間の長さ寸法、エッジと面との間の長さ寸法、面と面との間の長さ寸法などが寸法値情報の算出対象となる。
図7は、座標値の算出処理を説明するための図である。図7ではエッジ112Eの形状要素に関する点(エッジ112E上の中間点)の座標値情報を算出する場合の例を示している。
形状値情報算出部13は、エッジ112Eの端点113P,114Pの中間位置となる点115を寸法値情報として算出する。点115は、エッジ112E上の点である。形状値情報算出部13は、表示画面上の3次元形状上に算出した点115を表示させるとともに、点115に関する形状値情報を表示画面上(形状値情報ダイアログ)に表示させる。
図7では、エッジ112E上の中間点(座標値)の算出処理について説明したが、この他にも寸法値情報の算出対象となる形状要素(座標値)は種々ある。例えば、端点の座標値や中心点の座標値などが寸法値情報の算出対象となる。
図8は、角度寸法の算出処理を説明するための図である。図8ではエッジ132Eと面133Fの2つの形状要素に関する寸法値情報(角度寸法)を算出する場合の例を示している。
形状値情報算出部13は、エッジ132Eと面133Fがなす角134に関する形状値情報(角度寸法)を算出する。形状値情報算出部13は、表示画面上の3次元形状上に角134を表示させるとともに、角134に関する形状値情報を表示画面上に表示させる。
図8では、エッジ132Eと面133Fとがなす角度の角度寸法の算出処理について説明したが、この他にも形状値情報の算出対象となる形状要素の組合せは種々ある。例えば、エッジとエッジがなす角度寸法、面と面がなす角度寸法、所定方向に限定した点の角度など(後述の加工軸と特徴点のなす角度など)が形状値情報の算出対象となる。
図9〜図11は、形状値情報の表示例を示す図である。図9は、2つの形状要素間の長さ寸法の値の表示例として形状値情報ダイアログ211aを示し、図10は、点の座標値の表示例として形状値情報ダイアログ211bを示し、図11は、2つの形状要素間の角度寸法の値の表示例として形状値情報ダイアログ211cを示している。
本実施の形態では、形状値情報ダイアログ211a〜211cが、NCプログラムの表示形式に応じた形状値情報を表示する。形状値情報ダイアログ211a〜211cは、例えばNCプログラムで用いられている座標系(直交座標系や極座標系など)、この座標系での座標値、座標軸の傾き、座標原点などを表示する。
つぎに、ステップST60の処理(形状値情報の表示処理)について説明する。図12は、形状値情報の表示処理手順を示すフローチャートである。本実施の形態では、使用者が指示入力部15に入力する指示情報に基づいて、形状値情報を確認するための画面(確認用画面)に、確認対象となる形状要素(3次元形状上の位置)ハイライト表示させるとともに、この形状要素に対応する形状値情報を形状値情報ダイアログで反転表示させる。表示部16は、例えば3次元形状の表示画面と形状値情報ダイアログとをリンクさせて表示する。
形状値情報算出部13は、表示部16が表示している3次元形状の形状値情報(形状要素)に基づいて、この形状値情報の種類(以下、確認対象種別という)を判別する(ステップST510)。
(確認対象種別が座標値の場合)
形状値情報算出部13が判別した確認対象種別が、座標値である場合(ステップST510、座標値)、形状値情報ダイアログに表示されている形状値情報(座標値)に対応する各点(1〜複数)が3次元形状の表示画面上でハイライト表示されている。
3次元形状の画面上でハイライト表示されている点の1つを指示入力部15(マウス等)によって使用者が指定すると、指定された点(指定点)の情報が指示入力部15から形状値情報算出部13に入力される(ステップST520)。形状値情報算出部13は、この指定点を3次元形状の画面上でハイライト表示させ(ステップST530)、ハイライト表示されていた他の点のハイライト表示をキャンセルする。そして、形状値情報算出部13は、3次元形状の画面上でハイライト表示させた点(指示入力部15から指定された点)に関する形状値情報(算出値)を形状値情報ダイアログで反転表示させる(ステップST540)。この後、情報処理装置1に他の新たな座標値の表示処理(反転表示)を継続して行なわせる場合には、使用者によって指示入力部15から座標値寸法の表示処理を続行させることを示す指示情報が入力される。この指示情報は、指示入力部15から形状値情報算出部13に送られる。
形状値情報算出部13は、指示入力部15からの指示情報に基づいて、座標値の表示処理を続行するか否かを判断する(ステップST550)。形状値情報算出部13は、座標値の表示処理を続行すると判断した場合(ステップST550、Yes)、3次元形状の表示画面上でハイライト表示されている指定点のハイライト表示を表示部16にキャンセルさせる(ステップST560)。さらに、形状値情報算出部13は、ハイライト表示をキャンセルした指定点に関する形状値情報(算出値)の形状値情報ダイアログ上での反転表示をキャンセルする(ステップST565)。
そして、形状値情報算出部13は、ステップST520〜ST550の処理を行なう。この後、他の新たな座標値の表示処理を行なわないことを示す指示情報(終了の指示)が使用者によって指示入力部15に入力されるまで、形状値情報算出部13はステップST520〜ST565の処理を繰り返す。反転表示の終了指示が、使用者によって指示入力部15に入力されると(ステップST550、No)、情報処理装置1は新たな反転表示は行なわない。
(確認対象種別が長さ寸法または角度寸法の場合)
形状値情報算出部13が判別した確認対象種別が、長さ寸法または角度寸法である場合(ステップST510、長さ寸法または角度寸法)、形状値情報ダイアログには形状値情報が反転表示されている。さらに、この反転表示されている形状値情報に関連している2つの形状要素(形状値情報の算出に用いた形状要素)が3次元形状の表示画面上でハイライト表示されている。
形状値情報ダイアログ上に表示されている形状値情報を指示入力部15(マウス等のカーソル移動)によって使用者が指定すると、指定された形状値情報が指示入力部15から形状値情報算出部13に入力される(ステップST570)。
形状値情報算出部13は、指示入力部15からの形状値情報(カーソルを移動させた形状値情報)を形状値情報ダイアログ上で反転表示させる(ステップST580)。形状値情報算出部13は、反転表示させた形状値情報に関連する2つの形状要素を、3次元形状の表示画面上でハイライト表示させる(ステップST590)。
この後、情報処理装置1に他の新たな長さ寸法または角度寸法の表示処理(ハイライト表示)を継続して行なわせる場合には、使用者によって指示入力部15から長さ寸法または角度寸法の表示処理を続行させることを示す指示情報が入力される。この指示情報は、指示入力部15から形状値情報算出部13に送られる。
形状値情報算出部13は、指示入力部15からの指示情報に基づいて、長さ寸法または角度寸法の表示処理を続行するか否かを判断する(ステップST600)。形状値情報算出部13は、長さ寸法または角度寸法を続行すると判断した場合(ステップST600、Yes)、形状値情報ダイアログ上で反転表示されている形状値情報の反転表示を表示部16にキャンセルさせる(ステップST610)。さらに、形状値情報算出部13は、反転表示をキャンセルした形状値情報に対応する各形状要素の、3次元形状の表示画面上でのハイライト表示をキャンセルする(ステップST620)。
そして、形状値情報算出部13は、ステップST570〜ST620の処理を行なう。この後、他の新たな長さ寸法または角度寸法の表示処理を行なわないことを示す指示情報(終了の指示)が使用者によって指示入力部15に入力されるまで、形状値情報算出部13は、ステップST570〜ST620の処理を繰り返す。ハイライト表示の終了指示が、使用者によって指示入力部15に入力されると(ステップST600、No)、情報処理装置1は新たなハイライト表示は行なわない。
なお、形状値情報算出部13は、ステップST560の処理とステップST565の処理とを何れの順番で行ってもよい。すなわち、形状値情報算出部13は、指定点のハイライト表示のキャンセルと、形状値情報の反転表示のキャンセルとを、どちらを先に行ってもよい。
また、形状値情報算出部13は、ステップST610の処理とステップST620の処理とを何れの順番で行ってもよい。すなわち、形状値情報算出部13は、形状値情報の反転表示のキャンセルと、各形状要素のハイライト表示のキャンセル、とをどちらを先に行ってもよい。
ここで、3次元表示画面の表示例と、形状値情報ダイアログの表示例について説明する。図13〜図15は、3次元表示画面と形状値情報ダイアログの表示例を示す図である。図13は、形状要素のハイライト表示と形状値情報の反転表示を行なっていない場合の3次元形状の表示画面(3次元表示画面140)と形状値情報ダイアログ221aを示している。
3次元表示画面140には、3次元形状142、端点143、端点144、中心点145が表示されている。この場合の形状値情報ダイアログ221aには、端点143の形状値情報222、端点144の形状値情報223、中心点145の形状値情報224が表示される。
図14は、形状値情報の確認モード中に端点144が指定された場合の3次元表示画面150と形状値情報ダイアログ221bを示している。端点144が指定された場合、3次元表示画面150では指定された端点144がハイライト表示される。この場合の形状値情報ダイアログ221bには、端点144の形状値情報225が反転表示される。
図15は、形状値情報の確認モード中に中心点145が指定された場合の3次元表示画面160と形状値情報ダイアログ221cを示している。中心点145が指定された場合、3次元表示画面160では指定された中心点145がハイライト表示される。この場合の形状値情報ダイアログ221cには、中心点145の形状値情報226が反転表示される。
なお、図13〜図15で示した点のハイライト表示や形状値情報の反転表示は表示方法の一例であり、使用者が指定した点や形状値情報と、その他の点や形状値情報とを、使用者が区別できる何れの表示方法で表示してもよい。
つぎに、ステップST70の処理(NCプログラムへの反映処理)について説明する。図16は、形状値情報のNCプログラムへの反映処理手順を示すフローチャートである。表示部16が形状値情報ダイアログに形状値情報を表示しているときに、指示入力部15から形状値情報のNCプログラムへの反映指示が入力されると、この反映指示はNCプログラム作成部2に送られる。
NCプログラム作成部2のNCプログラム反映部22は、形状値情報に対応するNCプログラムをNCプログラム記憶部21から抽出し、NCプログラム画面(後述のNCプログラムエディタ画面301)として表示部16に表示させる。
NCプログラム画面上で、指示入力部15から使用者が形状値情報を反映させたいNCプログラムの位置を指定(カーソルの移動指示)すると、表示部16では指定されたNCプログラム画面上の位置にカーソルを移動(表示)させる(ステップST700)。
形状値情報ダイアログ上で、指示入力部15から使用者が反映させたい形状値情報の位置を指定(カーソルの移動指示)すると、表示部16では指定された形状値情報ダイアログ上の位置にカーソルを移動(表示)させる(ステップST710)。
使用者がNCプログラムに形状値情報を反映させるコマンド(プログラム反映コマンド)を入力すると、このコマンドはNCプログラム反映部22に入力される(ステップST720)。
NCプログラム反映部22は、NCプログラム画面上でカーソルによって示された位置にあるNCプログラム(データ)の属性と、形状値情報ダイアログ上でカーソルによって示された位置にある形状値情報の属性とを比較して、これらの属性が一致するか否かを判断する(ステップST730)。NCプログラム反映部22は、例えばデータの属性が穴径どうしであるか否か、穴深さどうしであるか否か、面とりどうしであるか否か、などの加工の形状値情報であるか否かや、データの属性が(X,Y,Z)などの座標値どうしであるか否かなどを判断する。
NCプログラムの属性と形状値情報の属性とが一致する場合(ステップST730、Yes)、NCプログラム反映部22は、形状値情報ダイアログ上のカーソル位置にある形状値情報を、NCプログラム画面上のカーソル位置にあるNCプログラムに入力(反映)する。これによりNCプログラム反映部22は、NCプログラム記憶部21NCプログラムを、形状値情報を反映した新たなNCプログラムに更新する(ステップST740)。
一方、NCプログラムの属性と形状値情報の属性とが一致しない場合(ステップST730、No)、NCプログラム反映部22は、NCプログラム側へのデータの設定(形状値情報の反映)は行なわない。
この後、情報処理装置1に形状値情報のNCプログラムへの反映処理を続行させる場合には、使用者によって指示入力部15から形状値情報の反映処理を続行させることを示す指示情報が入力される。この指示情報は、指示入力部15からNCプログラム反映部22に送られる。
そして、NCプログラム反映部22は、ステップST700〜ST750の処理を行なう。この後、形状値情報の反映処理を続行しないことを示す指示情報(終了の指示)が使用者によって指示入力部15に入力されるまで、NCプログラム反映部22は、ステップST700〜ST750の処理を繰り返す。形状値情報の反映処理の終了指示が、使用者によって指示入力部15に入力されると(ステップST750、No)、情報処理装置1は形状値情報のNCプログラムへの反映処理を終了する。
図17は、形状値情報のNCプログラムへの反映処理を説明するための図である。形状値情報をNCプログラムへ反映させる際には、NCプログラムエディタ画面301で、形状値情報を反映させたいNCプログラムの位置にカーソル302が移動させられる(s1)。
また、形状値情報ダイアログ230で、NCプログラムエディタ画面301に反映させたい形状値情報231の位置にカーソルが移動させられることによって形状値情報231は反転表示させられる(s2)。
反映ボタンがクリック(プログラム反映コマンドが入力)されると、形状値情報231の情報が、NCプログラムエディタ画面301に反映され、反映後のNCプログラムエディタ画面302に形状値情報304が表示される(s3)。
つぎに、図5で説明した長さ寸法に関する形状値情報の算出処理(ステップST260)、座標値に関する形状値情報の算出処理(ステップST320)、角度寸法に関する形状値情報の算出処理(ステップST410)をそれぞれ詳細に説明する。
図18は、座標値に関する形状値情報の算出処理手順を示すフローチャートである。形状値情報算出部13は、図5のステップST290の処理で設定した点(以下、特徴点という)の種類に応じた形状値情報(座標値)の算出処理を行なう。まず、形状値情報算出部13は、特徴点の種類を判別する(ステップST800)。特徴点の種類には、例えば端点、中間点、第1の中心点、第2の中心点、法線点、最近接点、象限点などがある。
端点は、形状要素が開いたエッジである場合の、エッジの始点または終点である。中間点は、形状要素が開いたエッジの場合の、エッジの始点と終点の中間にある点である。第1の中心点は、形状要素が円弧エッジの場合の、エッジの中心点である。第2の中心点は、形状要素が穴の開いた曲面の場合に、穴が開く前の曲面領域内で、且つその曲面上で最も突出した位置に対応する点である。
法線点は、形状要素がエッジまたは面の場合に、任意の点を基準としてその点から形状要素に下ろした垂線の足に対応する点である。最近接点は、形状要素がエッジまたは面の場合に、任意の点を基準としてその点から形状要素に対して最短距離にある点である。象限点は、形状要素が円弧エッジ、球面、トーラス面など断面に円弧を含む面の場合に、その円弧形状の各象限に対応する領域の境界上にある点である。なお、これらの点以外にもなんらかの特徴を持つ点や、特徴点どうしの幾何演算により求められる点を形状値情報の算出対象としてもよい。
形状値情報算出部13が、特徴点の種類は「端点」であると判断した場合(ステップST800、端点)、形状値情報算出部13は端点(エッジの始点または終点)の位置を算出する(ステップST810)。
形状値情報算出部13が、特徴点の種類は「中間点」であると判断した場合(ステップST800、中間点)、形状値情報算出部13は中間点の位置を算出する(ステップST820)。具体的には、形状値情報算出部13は開いたエッジが持つカーブのインターバル値(始点から終点までの区間パラメータ)を求め、そのパラメータの平均値に対応する位置にある点を中間点とする。なお、中間点は端点間の途中の位置にある点であり、直線エッジや円弧エッジ以外の場合には、必ずしもエッジ長の中間に位置する点になるとは限らない。
形状値情報算出部13が、特徴点の種類は「第1の中心点」であると判断した場合(ステップST800、第1の中心点)、形状値情報算出部13は第1の中心点の位置を算出する(ステップST830)。具体的には、形状値情報算出部13は、円弧エッジや円柱面・円筒面の中心に位置する点を第1の中心点とする。円柱面や円錐面の場合、形状値情報算出部13は、円柱面や円錐面の中心軸方向で最大値・最小値をとる円柱面上や円錐面上の点(極値点)を求め、極値点から中心軸に下ろした垂線の足を第1の中心点とする。
形状値情報算出部13が、特徴点の種類は「第2の中心点」であると判断した場合(ステップST800、第2の中心点)、形状値情報算出部13は第2の中心点の位置を算出する(ステップST840)。具体的には、形状値情報算出部13は、円柱面または円錐面の穴に対して、穴の周りの面が、球面、トーラス面、円錐面の場合に、穴の周りの面の極値点を穴(円柱面または円錐面)の中心軸に下ろした点を第2の中心点とする。この場合の第2の中心点は、元の円柱面に穴を開ける前の曲面領域内で最も突出した位置にある。
このような点は、例えば加工開始点に相当する点である。したがって、工作機械などで加工を行う場合には、加工開始点や加工開始の目安となる位置にある点を加工作業者は認識しておく必要がある。
従来、素材形状と製品形状の情報から加工開始点を求めていたが、加工開始点は加工により除去される領域に含まれる場合が多く、素材形状や製品形状が加工開始点の情報を直接持っていなかった。このため、従来までは加工開始点を指定する作業は難しかった。本実施の形態では、形状値情報算出部13が加工開始点(第2の中心点)を算出するので、容易に加工を開始することが可能となる。
形状値情報算出部13が、特徴点の種類は「象限点」であると判断した場合(ステップST800、象限点)、形状値情報算出部13は象限点の位置を算出する(ステップST850)。具体的には、形状値情報算出部13は、円弧エッジ、球面、トーラス面に対して、測定座標系の、0°、90°、180°、270°の位置にある点を象限点とする。
例えば、円弧エッジの場合、測定座標系の軸が法線となる平面内の点であって円弧上にある点が象限点となる。また、球面の場合、球の中心を通る平面で測定座標系の軸が法線となる平面と、球面とが交わってできる円弧(円弧エッジ)の象限点が、球の象限点となる。また、トーラス面の場合、トーラス面の中心軸が測定座標軸と一致している場合に、中心軸を含む座標軸平面でトーラス面を切った場合の切り口(円弧)に対して、0°、90°、180°、270°の位置にある点が象限点となる。すなわち、トーラス面の象限点は最大で16点存在する。
形状値情報算出部13が、特徴点の種類は「法線点」であると判断した場合(ステップST800、法線点)、形状値情報算出部13は直近に取得した特徴点(使用者によって指定された特徴点)を基準として法線点の位置を算出する(ステップST860,ST870)。具体的には、形状値情報算出部13は、前回指定された特徴点(今回算出対象となっている形状要素の直前に指定された点)から、エッジ(直線や円弧)、平面、円柱面の中心軸に降ろした垂線の足に位置(最短距離)する点を法線点とする。法線点は、算出に用いる形状要素(選択要素)の領域外であってもよい。算出に用いる形状要素が円弧エッジの場合、前回の特徴点と、円弧エッジが同一平面内に存在してればよい。
形状値情報算出部13が、特徴点の種類は「最近接点」であると判断した場合(ステップST800、最近接点)、形状値情報算出部13は直近に取得した特徴点を基準として最近接点の位置を算出する(ステップST880,ST890)。具体的には、形状値情報算出部13は、前回指定された特徴点から、エッジ(直線や円弧)や任意の面に対して距離が最短となる頂点を最近接点とする。
形状値情報算出部13は、ステップST810〜ST890の何れかの処理で特徴点の位置を算出すると、算出した特徴点の座標に関する情報(座標値、円弧エッジの場合は直径または半径)を演算する(ステップST900)。
図19は、長さ寸法に関する形状値情報の算出処理手順を示すフローチャートである。形状値情報算出部13は、図5のステップST220の処理で設定した形状要素(1)とステップST240の処理で設定した形状要素(2)の組み合わせの種類に応じた形状値情報の算出処理を行なう。まず、形状値情報算出部13は、形状要素(1)と形状要素(2)の組み合わせの種類を判別する(ステップST910)。算出する形状値情報が長さ寸法である場合の形状要素の組合せには、例えば点と点、点とエッジ、点と面、エッジとエッジ、面と面、エッジと面などがある。
本実施の形態では、形状要素(1)と形状要素(2)を設定した順序とは関係なく、形状要素(1),(2)の組み合わせの種類に基づいて形状値情報の算出方法を場合分けする。以下、形状要素(1)と形状要素(2)の組み合わせ例に沿って説明する。
形状値情報算出部13が、形状要素どうしの組み合わせは「点とエッジ」であると判断した場合(ステップST910、点とエッジ)、形状値情報算出部13は点とエッジとの間が最短距離となるエッジ上の点を算出する(ステップST920)。そして、形状値情報算出部13は、算出した2点間の寸法(XYZ座標における寸法、XY座標における寸法など)を演算する(ステップST970)。
図20および図21は、点とエッジとの間の最短距離を説明するための図である。図20に示すように、点171からエッジ173上へ垂線を延ばした場合に、垂線の足がエッジ173上に存在する場合は、点171からエッジ173への垂線の長さ(寸法172)を2点間寸法とする。また、図21に示すように、点171からエッジ173上へ垂線を延ばした場合に、垂線の足がエッジ173上に存在しない場合は、点171と、エッジ173の領域内に存在する点174と、の間の最短距離(寸法172)を2点間寸法とする。
形状値情報算出部13が、形状要素どうしの組み合わせは「点と面」であると判断した場合(ステップST910、点と面)、形状値情報算出部13は点と面との間が最短距離となる面上の点を算出する(ステップST930)。そして、形状値情報算出部13は、算出した2点間の寸法を演算する(ステップST970)。
図22および図23は、点と面との間の最短距離を説明するための図である。図22に示すように、点171から面175へ垂線を延ばした場合に、垂線の足が面175上に存在する場合は、点171から面175への垂線の長さ(寸法172)を2点間寸法とする。また、図23に示すように、点171から面175へ垂線を延ばした場合に、垂線の足が面175上に存在しない場合は、点171と、面175の領域内に存在する点176と、の間の最短距離(寸法172)を2点間寸法とする。
形状値情報算出部13が、形状要素どうしの組み合わせは「エッジとエッジ」であると判断した場合(ステップST910、エッジとエッジ)、形状値情報算出部13はエッジとエッジとの間が最短距離となる各エッジ上の点を算出する(ステップST940)。そして、形状値情報算出部13は、算出した2点間の寸法を演算する(ステップST970)。
図24および図25は、エッジとエッジとの間の最短距離を説明するための図である。図24および図25に示すように、一方のエッジ173から他方のエッジ173へ垂線を延ばした場合の、一方のエッジ173から他方のエッジ173への垂線の長さ(寸法172)を2点間寸法とする。図24は、他方のエッジ173が線分を含んでいる場合の寸法172を示しており、図25は、他方のエッジ173が曲線を含んでいる場合の寸法172を示している。
形状値情報算出部13が、形状要素どうしの組み合わせは「面と面」であると判断した場合(ステップST910、面と面)、形状値情報算出部13は面と面との間(2面間の距離)が最短距離となる各面上の点を算出する(ステップST950)。そして、形状値情報算出部13は、算出した2点間の寸法を演算する(ステップST970)。
図26および図27は、面と面との間の最短距離を説明するための図である。図26に示すように、一方の面175上の点177と、他方の面175上の点177とを結んだ直線が、一方の面175への垂線になるとともに他方の面175への垂線になる場合(両方の面175の垂線になる場合)の、垂線の長さ(一方の面175上の点177と、他方の面175上の点177との間の寸法172)を2点間寸法とする。また、図27に示すように、一方の面175から他方の面175へ垂線を延ばした場合に、垂線の足が他方の面175上に存在しない場合は、一方の面175上の点177と、他方の面175の領域内に存在する点176と、の間の最短距離(寸法172)を2点間寸法とする。
形状値情報算出部13が、形状要素どうしの組み合わせは「エッジと面」であると判断した場合(ステップST910、エッジと面)、形状値情報算出部13はエッジと面との間が最短距離となるエッジ上の点と面上の点を算出する(ステップST960)。そして、形状値情報算出部13は、算出した2点間の寸法を演算する(ステップST970)。
図28は、エッジと面との間の最短距離を説明するための図である。図28に示すように、面175の領域内に存在する点176と、点176からエッジ173へ垂線を延ばした場合の、点176からエッジ173への垂線の長さ(寸法172)を2点間寸法とする。
形状値情報算出部13が、形状要素どうしの組み合わせは「点と点」であると判断した場合(ステップST910、点と点)、形状値情報算出部13は形状要素(1)と形状要素(2)の2点間の寸法を演算する(ステップST970)。
図29は、角度寸法に関する形状値情報の算出処理手順を示すフローチャートである。形状値情報算出部13は、図5のステップST370の処理で設定した形状要素(3)とステップST390の処理で設定した形状要素(4)の組み合わせの種類に応じた形状値情報の算出処理を行なう。まず、形状値情報算出部13は、形状要素(3)と形状要素(4)の組み合わせの種類を判別する(ステップST1000)。
形状値情報が角度寸法である場合に、形状要素(3)、形状要素(4)として設定できる組合せは、例えば、直線エッジどうし、平面どうし、直線エッジと平面、座標軸と特徴点などである。
したがって、算出する形状値情報が角度寸法である場合の形状要素の組合せは、例えば直線エッジと直線エッジ、平面と平面、直線エッジと平面、加工軸と特徴点、加工軸と直線エッジ、加工軸と平面などである。
本実施の形態では、形状要素(3)と形状要素(4)を設定した順序とは関係なく、形状要素(3),(4)の組み合わせの種類に基づいて形状値情報の算出方法を場合分けする。以下、形状要素(3)と形状要素(4)の組み合わせ例に沿って説明する。
形状値情報算出部13が、形状要素どうしの組み合わせは「直線エッジと直線エッジ」であると判断した場合(ステップST1000、直線エッジと直線エッジ)、形状値情報算出部13は2つの直線エッジの方向ベクトルを求め、求めたベクトル間の角度を算出する(ステップST1010)。図30に示すように、形状値情報算出部13は、直線エッジの方向ベクトルa1と直線エッジの方向ベクトルa2とがなす角度Xを2要素間(直線エッジと直線エッジ)の角度とする。
形状値情報算出部13が、形状要素どうしの組み合わせは「平面と平面」であると判断した場合(ステップST1000、、平面と平面)、形状値情報算出部13は2平面の法線ベクトルを求め、求めたベクトル間の角度を算出する(ステップST1020)。図31に示すように、形状値情報算出部13は、平面の法線ベクトルb1と平面の法線ベクトルb2とがなす角度Yを2要素間(平面と平面)の角度とする。
形状値情報算出部13が、形状要素どうしの組み合わせは「直線エッジと平面」であると判断した場合(ステップST1000、直線エッジと平面)、形状値情報算出部13は直線エッジの方向ベクトルと平面の法線ベクトルを求め、求めたベクトル間の角度を算出する(ステップST1030)。図32や図33に示すように、形状値情報算出部13は、直線エッジの方向ベクトルa3と平面の法線ベクトルb3との間の角度Z1,Z2を2要素間(直線エッジと平面)の角度とする。
図32に示すように、直線エッジの方向ベクトルa3と平面の法線ベクトルb3のなす角度αが0°≦α<90°の場合、求める角度Z1はZ1=90°−αとなる。一方、図33に示すように、直線エッジの方向ベクトルa3と平面の法線ベクトルb3のなす角度αが90°≦α<180°の場合、求める角度Z2はZ2=α−90°となる。
形状値情報算出部13が、形状要素どうしの組み合わせは「加工軸と特徴点」であると判断した場合(ステップST1000、加工軸と特徴点)、形状値情報算出部13は加工軸周りでの、特徴点の位置に対応する角度を算出する(ステップST1040)。例えばC軸を選択した場合、原点と特徴点を結ぶ直線とA軸(プラス方向)とのなす角度が求める角度となる。
形状値情報算出部13が、形状要素どうしの組み合わせは「加工軸と直線エッジ」であると判断した場合(ステップST1000、加工軸と直線エッジ)、形状値情報算出部13は加工軸周りでの、直線エッジの方向ベクトルの角度を算出する(ステップST1050)。例えばC軸を選択した場合、直線エッジの方向ベクトルとA軸(プラス方向)とのなす角度が求める角度となる。
形状値情報算出部13が、形状要素どうしの組み合わせは「加工軸と平面」であると判断した場合(ステップST1000、加工軸と平面)、形状値情報算出部13は加工軸周りでの、平面の法線ベクトルの角度を算出する(ステップST1060)。例えばC軸を選択した場合、平面の法線ベクトルとA軸(プラス方向)とのなす角度が求める角度となる。
指示入力部15に入力される使用者からの指示に基づいて、形状値情報算出部13が算出した形状値情報や、NCプログラム反映部22によって作成されたNCプログラムは、出力部14から外部装置に出力される。
なお、本実施の形態では、情報処理装置1が表示部16を備える場合を示したが、情報処理装置1と表示部16を別構成としてもよい。また、情報処理装置1が、NCプログラム作成部2を備える構成としたが、情報処理装置1とNCプログラム作成部2を別構成としてもよい。また、情報処理装置1がNCプログラム記憶部21を備える構成としたが、情報処理装置1とNCプログラム記憶部21を別構成としてもよい。
このように実施の形態によれば、使用者は座標値、寸法値、角度値などの形状値情報を計算することなく、これらの形状値情報を容易に取得することが可能となる。また、予め登録しておいた形状の情報(長さ寸法や角度寸法など)を読みだすのではなく、3次元形状の幾何情報から所望の形状値情報を算出処理するので、任意の形状値情報を取得することが可能となる。また、形状値情報を取得する際に、使用者が設定した座標系に基づいた形状値情報値を算出することが可能となる。
また、使用者が設定した座標系での形状値情報を算出できるので、使用者による座標変換計算の計算ミスを軽減できる。さらに、取得した形状値情報をそのままNCプログラムで利用することができるので、NCプログラム作成時の入力ミスが減り、NCプログラムの作成および編集を容易に行なうことが可能になる。
また、3次元表示画面と、取得した形状値情報を表示している表形式(形状値情報ダイアログ)と、をリンクさせて表示させることができるので、使用者は形状値情報が3次元形状内の何れの部位に対応するものであるかを容易に確認することが可能になる。
また、取得した形状値情報をNCプログラムの種類に応じた表示形式で表示できるので、使用者が所望のプログラム表示形式に合わせて形状値情報を計算する必要がなく、計算ミスを軽減できる。さらに、プログラム表示形式に応じて表示された形状値情報をそのままNCプログラムで利用することができるので、NCプログラム作成時の入力ミスが減り、NCプログラムの作成および編集を容易に行なうことが可能になる。
以上のように、本発明に係る情報処理装置および情報処理方法は、3次元形状に関する情報の算出に適している。
【0002】
報を表示できないといった問題があった。
[0007]
また、上記後者の従来技術では、寸法情報を2次元図面から取得して表示するので、表示できる寸法情報は2次元図面から解析できうる情報に限られてしまうといった問題があった。
[0008]
本発明は、上記に鑑みてなされたものであって、3次元形状の製図データから所望の3次元形状に関する情報を容易に算出することができる情報処理装置および情報処理方法を得ることを目的とする。
課題を解決するための手段
[0009]
上述した課題を解決し、目的を達成するために、本発明は、3次元形状に関する情報を算出する情報処理装置において、3次元形状の表示に用いる3次元形状の製図データを入力する3次元形状入力部と、前記3次元形状入力部に入力された製図データの3次元形状を表示する表示部と、前記表示部が表示している3次元形状の形状要素のうち外部入力される指示に対応する形状要素を3次元形状の算出に用いるデータに設定するとともに、設定した形状要素を用いて前記3次元形状内の寸法を形状値情報として算出し、算出結果を前記表示部に表示させる形状値情報算出部と、を備え、前記外部入力される指示は、前記製図データ内で形状要素間の寸法が明示されていない異なる2つの形状要素を指定する指示であり、前記形状値情報算出部は、前記異なる2つの形状要素間の寸法を算出することによって形状値情報を算出することを特徴とする。
発明の効果
[0010]
本発明に係る情報処理装置は、外部入力される指示が、異なる2つの形状要素を指定する指示であり、異なる2つの形状要素間の寸法を算出することによって、製図データ内で明示されていない形状値情報を算出するので、製図データから所望の3次元形状に関する情報を容易に算出することが可能になるという効果を奏する。
図面の簡単な説明
[0011]
[図1]図1は、本発明の実施の形態に係る情報処理装置の構成を示すブロック図である。
[図2]図2は、情報処理装置の動作手順を示すフローチャートである。
[図3]図3は、座標系の設定処理手順を示すフローチャートである。
[図4]図4は、座標系を設定する際に表示させる設定ダイアログを説明するための図である。
【0015】
[0063]
(算出対象種別が角度寸法の場合)
基準となる形状要素(3)を1つ指定し、順次この形状要素(3)と各形状要素(4)の間でなす角度を算出(測定)する場合の例について説明する。形状値情報算出部13が判別した算出対象種別が、角度寸法である場合(ステップST210、角度寸法)、使用者の所望の形状要素として、3次元形状の表示画面上で1つめの形状要素(3)と2つめの形状要素(4)が使用者に指定される。この1つめの形状要素(3)と2つめの形状要素(4)は、指示入力部15(マウスなど)から使用者によって指定される。1つめの形状要素(3)が角度寸法を算出する際に基準となる形状要素である。
[0064]
1つめの形状要素(3)は、指示入力部15から形状値情報算出部13へ送られる。形状値情報算出部13は、指定された形状要素(3)を、3次元形状の表示画面上に設定する(ステップST370)。具体的には、形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素(3)に対応するデータを抽出しておく。形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素(3)の箇所を表示部16にハイライト表示させる(ステップST380)。
[0065]
また、2つめの形状要素(4)は、指示入力部15から形状値情報算出部13へ送られる。形状値情報算出部13は、指定された形状要素(4)を、3次元形状の表示画面上に設定する(ステップST390)。具体的には、形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素(4)に対応するデータを抽出しておく。形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素(4)の箇所を表示部16にハイライト表示させる(ステップST400)。
[0066]
形状値情報算出部13は、形状要素(3)と形状要素(4)との間の角度寸法に関する形状値情報を内部演算によって算出する(ステップST410)。形状値情報算出部13は、形状値情報として、例えば、形状要素(3)と形状要素、(4)とがなす角度などを算出する。形状値情報算出部13は、算出した形状値情報を、ダイアログ(形状値情報ダイアログ)として表示部16に表示させる(ステップST420)。
[0067]
この後、情報処理装置1に角度寸法の算出処理を続行させる場合には、使用者によって指示入力部15から角度寸法の算出処理を続行させることを示す指示情報が
【0023】
する。これによりNCプログラム反映部22は、NCプログラム記憶部21NCプログラムを、形状値情報を反映した新たなNCプログラムに更新する(ステップST740)。
[0112]
一方、NCプログラムの属性と形状値情報の属性とが一致しない場合(ステップST730、No)、NCプログラム反映部22は、NCプログラム側へのデータの設定(形状値情報の反映)は行なわない。
[0113]
この後、情報処理装置1に形状値情報のNCプログラムへの反映処理を続行させる場合には、使用者によって指示入力部15から形状値情報の反映処理を続行させることを示す指示情報が入力される。この指示情報は、指示入力部15からNCプログラム反映部22に送られる。
[0114]
そして、NCプログラム反映部22は、ステップST700〜ST750の処理を行なう。この後、形状値情報の反映処理を続行しないことを示す指示情報(終了の指示)が使用者によって指示入力部15に入力されるまで、NCプログラム反映部22は、ステップST700〜ST750の処理を繰り返す。形状値情報の反映処理の終了指示が、使用者によって指示入力部15に入力されると(ステップST750、No)、情報処理装置1は形状値情報のNCプログラムへの反映処理を終了する。
[0115]
図17は、形状値情報のNCプログラムへの反映処理を説明するための図である。形状値情報をNCプログラムへ反映させる際には、NCプログラムエディタ画面301で、形状値情報を反映させたいNCプログラムの位置にカーソル302が移動させられる(s1)。
[0116]
また、形状値情報ダイアログ230で、NCプログラムエディタ画面301に反映させたい形状値情報231の位置にカーソルが移動させられることによって形状値情報231は反転表示させられる(s2)。
[0117]
反映ボタンがクリック(プログラム反映コマンドが入力)されると、形状値情報231の情報が、NCプログラムエディタ画面301に反映され、反映後のNCプログラムエディタ画面303に形状値情報304が表示される(s3)。
[0118]
つぎに、図5で説明した長さ寸法に関する形状値情報の算出処理(ステップST260)、座標値に関する形状値情報の算出処理(ステップST320)、角度寸法に関する形状値情報の算出処理(ステップST410)をそれぞれ詳細に説明する。
本発明は、3次元形状に関する情報を算出する情報処理装置および情報処理方法に関するものである。
被加工物を種々の形状に加工する工作機械やロボットは、数値制御装置(以下、NC(Numerical Control)装置という)によって制御されながら、被加工物の3次元加工を行なっている。
特許文献1に記載の型加工支援装置は、金型を3次元モデルとして設計したときに、この仮想空間内に存在する所望部分の寸法を表す数値を、3次元モデルと共に表示させる機能(寸法表示機能)を具備している。そして、寸法表示機能が、CADなどで作成した仮想モデルを3次元的に表示させる場合に、その後の作業で特に注目して欲しい部分などの寸法を表示させている。例えば、寸法表示機能は、ダイアログボックスを表示し、3次元モデルの表示時画面上でマウスによって指定された距離や角度などを数字で表示している。
また、特許文献2に記載の寸法表示システムは、CAD/CAMシステムの画面に、正面図、平面図、側面図からなる製品の2次元図面を表示するとともに、画面上に三次元用のウインドウを開いて製品の三次元像を表示している。そして、三次元像に、2点間の寸法、交差する線や面の角度、寸法、円の径寸法を表示している。
特開2003−44544号公報(第5頁、図4)
特開平5−134729号公報(第1頁)
しかしながら、上記前者の従来技術では、コンピュータ内でディジタル的に作成された型についての仮想モデルの部位に関する情報を予め格納しておく必要がある。このため、操作者が格納された情報以外の部位を選択した場合には、選択された情報を表示できないといった問題があった。
また、上記後者の従来技術では、寸法情報を2次元図面から取得して表示するので、表示できる寸法情報は2次元図面から解析できうる情報に限られてしまうといった問題があった。
本発明は、上記に鑑みてなされたものであって、3次元形状の製図データから所望の3次元形状に関する情報を容易に算出することができる情報処理装置および情報処理方法を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、3次元形状に関する情報を算出する情報処理装置において、3次元形状の表示に用いる3次元形状の製図データを入力する3次元形状入力部と、前記3次元形状入力部に入力された製図データの3次元形状を表示する表示部と、外部入力される指示に基づいて、前記表示部が表示している3次元形状に新たな座標系を設定する座標系設定部と、前記表示部が表示している3次元形状の形状要素のうち外部入力される指示に対応する形状要素を3次元形状の算出に用いるデータに設定するとともに、設定した形状要素を用いて前記3次元形状内の寸法を形状値情報として算出し、算出結果を前記表示部に表示させる形状値情報算出部と、を備え、前記外部入力される指示は、前記製図データ内で形状要素間の寸法が明示されていない異なる2つの形状要素を指定する指示であり、前記形状値情報算出部は、前記異なる2つの形状要素間の寸法を算出するとともに前記3次元形状のデータを前記座標系設定部が設定した新たな座標系に対応する3次元形状のデータに変換し、変換後の3次元形状のデータを用いて新たな座標系での前記形状値情報を算出することを特徴とする。
本発明に係る情報処理装置は、3次元形状のデータを新たな座標系に対応する3次元形状のデータに変換し、変換後の3次元形状のデータを用いて新たな座標系での形状値情報を算出するので、製図データから所望の3次元形状に関する情報を容易に算出することが可能になるという効果を奏する。
以下に、本発明に係る情報処理装置および情報処理方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態
図1は、本発明の実施の形態に係る情報処理装置の構成を示すブロック図である。情報処理装置1は、3次元形状に関する情報に基づいて所望の形状要素に対する形状の情報(形状に含まれる部位の長さ寸法や角度寸法など)を算出し、算出結果を表示するコンピュータなどの装置である。
情報処理装置1は、例えばCAD(Computer Aided Design)装置で作成された3次元形状に関する情報(CADデータなどの所定の寸法を含んだ製図データ)に基づいて形状(部位)の寸法などの情報(後述の形状値情報)を算出するとともに、算出した形状値情報(CADデータ内に明示されていない形状の値)を必要に応じてNCプログラムなどに反映させる。情報処理装置1には、NCプログラムなどを用いて工作機械やロボットなどを制御させてもよい。この場合、情報処理装置1はNC装置として動作する。
情報処理装置1は、3次元形状入力部11、座標系設定部12、形状値情報算出部13、出力部14、指示入力部15、表示部16、NCプログラム作成部2、制御部19を備えている。
3次元形状入力部11は、外部装置などから送られてくる3次元形状に関する情報(辺や面を表示するための情報)(以下、3次元形状情報という)を入力し、座標系設定部12、形状値情報算出部13、表示部16などに送る。
指示入力部15は、マウスやキーボードを備えて構成され、情報処理装置1の使用者(加工オペレータなどの操作者)から入力される指示などを入力する。指示入力部15には、3次元形状情報に含まれる形状に対して設定される座標系の情報(座標系を指定する情報)や、表示部16によって表示される3次元形状内の形状要素(点、線、面など)を指定する情報などが入力される。指示入力部15は、入力した座標系の情報を座標系設定部12に入力し、入力した形状要素の情報を形状値情報算出部13に入力する。
座標系設定部12は、CAD座標系で作成されたCADデータ(3次元形状データ)に対して、形状値情報を算出や表示する際に用いる新たな座標系を設定し、CADデータを新たな座標系に応じた3次元形状の情報に変換する。座標系設定部12は、表示部16によって表示される3次元形状のCADデータに対し、指示入力部15から入力される指示情報(座標系を指定する情報)に基づいた新たな座標系を設定する。座標系設定部12は、設定した新たな座標系と、座標系を変換した3次元形状の情報と、を形状値情報算出部13、表示部16、NCプログラム作成部2、出力部14などに送る。なお、座標系設定部12は、CAD座標系が、形状値情報を算出や表示する際に用いる新たな座標系と同じである場合、CADデータに対する座標系の変換処理を行う必要はない。
形状値情報算出部13は、表示部16によって表示される3次元形状の中で使用者によって指定された任意の形状の情報(形状要素を用いた情報)(例えば、部位の長さ寸法や角度寸法などの値)を形状値情報として算出する。形状値情報算出部13は、指示入力部15から入力される指示情報(形状要素を指定する情報)に基づいて、形状値情報を算出する。形状値情報算出部13は、算出した結果(形状値情報)を、表示部16、NCプログラム作成部2、出力部14などに送る。
NCプログラム作成部2は、NCプログラムの作成や修正を行なう。NCプログラム作成部2は、NCプログラム記憶部21とNCプログラム反映部22を備えている。NCプログラム記憶部21は、工作機械などを制御する際に用いるNCプログラムを記憶するメモリなどの記憶手段である。NCプログラム反映部22は、形状値情報をNCプログラム記憶部21内のNCプログラムに反映させ、反映後の新たなNCプログラムをNCプログラム記憶部21に記憶させる。
表示部16は、液晶ディスプレイなどの表示手段を備えて構成されている。表示部は、3次元形状情報に応じた3次元形状、座標系設定部12で設定された座標系、この座標系での3次元形状、使用者によって指定された部位(被加工物の形状要素)、算出対象となる形状(線、角などの部位)、算出対象となる形状を使用者に設定させるための設定ダイアログ、形状値情報、反映後の新たなNCプログラムなどを表示する。
出力部14は、表示部16が表示する種々の情報を外部装置へ出力する。出力部14は、例えば座標系設定部12で設定された座標系での3次元形状、使用者によって指定された部位、形状値情報、反映後の新たなNCプログラムなどを外部装置に出力する。制御部19は、3次元形状入力部11、座標系設定部12、形状値情報算出部13、出力部14、指示入力部15、表示部16、NCプログラム作成部2を制御する。
つぎに、情報処理装置1の動作手順について説明する。図2は、情報処理装置の動作手順を示すフローチャートである。3次元形状入力部11は、外部装置などから送られてくる3次元形状情報(幾何情報)を入力し(ステップST10)、表示部16と座標系設定部12に送る。表示部16は、3次元形状入力部11からの3次元形状情報に応じた3次元形状を表示する(ステップST20)。
座標系設定部12は、指示入力部15から入力される使用者からの指示情報(座標系を指定する情報)に基づいて、CAD座標系で作成されたCADデータ(3次元形状データ)に新たな座標系(座標軸と原点)を設定(座標系の変換処理)するとともに、入力された3次元形状の情報を座標系に応じた3次元形状の情報に変換する(ステップST30)。座標系設定部12は、設定した座標系と、この座標系に応じて変換した3次元形状の情報と、を表示部16に表示させるとともに形状値情報算出部13に送る。
形状値情報算出部13は、指示入力部15から入力される使用者からの指示情報(形状要素を指定する情報)に基づいて、形状値情報の算出処理を行なう(ステップST40)。形状値情報算出部13は、形状値情報を、表示部16、NCプログラム作成部2に送る。
表示部16は、形状値情報算出部13からの形状値情報を、NCプログラムで指定された座標系で表示する(ステップST50)。機械加工などでは、加工方法によってプログラムに設定する加工位置の表示形式が異なる。例えば、直交座標系の座標値を用いて加工位置を表す方法、極座標系の座標値を用いて加工位置を表す方法、などがある。さらに、表示部16は、表形式等で表示されている形状値情報に関連する3次元形状上の部位(算出対象となった部位)を新たに設定した座標系で表示する(ステップST60)。
NCプログラム作成部2は、形状値情報算出部13からの形状値情報をNCプログラム記憶部21内のNCプログラムに反映させることによってNCプログラムの編集を行なう(ステップST70)。このとき、表示部16は、座標系を指定する指示情報が使用者から入力されると、指定された座標系に応じた値に形状値情報を変換し、変換した形状値情報を表示する。表示部16は、NCプログラム作成部2で作成されたNCプログラム(編集結果)を表示する(ステップST80)。
なお、図2では、ステップS30の処理(新たな座標系の設定処理)の後にステップS40の処理(形状値情報の算出処理)を行う場合について説明したが、座標系設定部12は、形状値情報算出部13によるステップS40の処理の後にステップS30の処理を行ってもよい。その場合、座標系設定部12は、ステップST40の処理で得た形状値情報を、ステップST30の処理で設定した座標系に応じた値に変換する。
つぎに、図2に示した各処理(ステップST30〜ST70)を詳細に説明する。以下、ステップST30の処理(座標系の設定処理)、ステップST40の処理(形状値情報の算出処理)、ステップST60の処理(形状値情報の表示処理)、ステップST70の処理(NCプログラムへの反映処理)の順番で説明し、最後に形状値情報の算出処理を詳細に説明する。
図3は、座標系の設定処理手順を示すフローチャートである。座標系設定部12は、指示入力部15から入力される指示情報に基づいて、座標系のうちの何れの種類のデータを設定するかを判別する(ステップST110)。座標系(CAD座標系で作成されたCADデータに対して新たに設定する座標系)として設定されるデータとしては、座標軸の傾斜、座標原点、座標原点の移動などがある。本実施の形態では、この座標系設定部12で設定する新たな座標系が、形状値情報を算出や表示する際に用いる座標系となる。
指示入力部15から座標軸の傾斜角度を指定する指示情報が入力されると(ステップST110、座標軸の傾斜)、座標系設定部12は座標系に関するデータの内容が、座標軸の傾斜である場合と判断する。そして、座標系設定部12は、指示入力部15からの指示情報に基づいて、指定された傾斜角度だけ3次元形状データの座標軸を回転移動(傾斜)させ(ステップST120,ST130)、現状の座標系に対する3次元形状データの変換を行う。
指示入力部15から座標原点を指定する指示情報が入力されると(ステップST110、座標原点)、座標系設定部12は座標系に関するデータの内容が、座標原点の設定(新たな座標原点の指定)であると判断する。そして、座標系設定部12は、指示入力部15からの指示情報に基づいて、指定された座標原点へ座標軸を平行移動させ(ステップST140,ST150)、現状の座標系に対する3次元形状データの変換を行う。
指示入力部15から座標原点の移動量を指定する指示情報が入力されると(ステップST110、座標原点移動)、座標系設定部12は座標系に関するデータの内容が、座標原点の移動(移動量の指定)であると判断する。そして、座標系設定部12は、指示入力部15からの指示情報に基づいて、指定された座標原点へ座標軸を平行移動させ(ステップST160,ST170)、現状の座標系に対する3次元形状データの変換を行う。
座標系設定部12は、現状の座標軸に対する3次元形状データの変換を行うと、座標系として他に設定するデータがあるか否かを判断する(ステップST180)。座標系として他に設定するデータがある場合(ステップST180、Yes)、ステップST110〜ST170の処理を繰り返す。すなわち、座標系設定部12は、指示入力部15から入力される指示情報に基づいて、座標系のうちの何れのデータを設定するかを判別し、この判別結果に応じた座標系の設定を行なう。
座標系として他に設定するデータがない場合(ステップST180、No)、座標系設定部12は、変換した座標系での3次元形状データや座標軸を表示部16に表示させる(ステップST190)。さらに、座標系設定部12は、変換した座標軸を新しい現状の座標軸に更新する(ステップST200)。
なお、本実施の形態では、座標系として設定するデータとして3種類のデータがある場合を一例として説明したが、座標系として設定するデータは座標系に関するデータであれば何れのデータでもよい。また、座標系設定部12は、座標系として設定するデータを1つずつ設定してもよいし、複数同時に設定してもよい。また、複数回に渡って座標系を設定する場合には、座標系を設定する都度、変換した座標系での3次元形状データや座標軸を表示部16に表示させてもよい。
図4は、座標系を設定する際に表示させる設定ダイアログを説明するための図である。図4では、点の座標測定(座標値)を行うための設定ダイアログ201と、点の座標測定を行なう際に用いる座標系(測定座標系)を設定するための設定ダイアログ203,204と、を示している。
設定ダイアログ201には、点を測定する際の座標系を入力する欄(テキストボックス)、算出対象となる点の種類(後述の特徴点)を入力する欄、加工ユニットデータ(3次元形状データ)が保持する座標系の情報を参照するためのボタンなどが設けられている。
点を測定する際の座標系は、座標軸の傾きや座標原点などによって設定される。設定ダイアログ203は、座標軸の傾きを設定するダイアログであり、図4では、工具の進行方向から座標軸の傾きを設定する場合の設定ダイアログを一例として示している。
設定ダイアログ204は、座標原点を設定するダイアログであり、図4では、座標値を入力する場合の設定ダイアログを一例として示している。設定ダイアログ203で設定された座標軸の傾きや、設定ダイアログ204で設定された座標原点は、設定ダイアログ201の座標系を入力する欄に反映される。
つぎに、ステップST40の処理(形状値情報の算出処理)について説明する。図5は、形状値情報の算出処理手順を示すフローチャートである。形状値情報算出部13は、指示入力部15から入力される指示情報に基づいて、算出対象となる形状(部位)の種類(以下、算出対象種別という)を判別する(ステップST210)。算出対象種別としては、長さ寸法(距離)、座標値、角度寸法などがある。長さ寸法には、例えば半径寸法、直径寸法、円弧寸法、形状要素間寸法などが含まれている。
(算出対象種別が長さ寸法の場合)
基準となる形状要素(1)を1つ指定し、順次この形状要素(1)と各形状要素(2)の間の距離を算出(測定)する場合の例について説明する。形状値情報算出部13が判別した算出対象種別が、長さ寸法である場合(ステップST210、長さ寸法)、使用者の所望の形状要素(寸法を測定したい部位の形状要素)として、3次元形状の表示画面上で1つめの形状要素(1)と2つめの形状要素(2)が使用者に指定される。この1つめの形状要素(1)と2つめの形状要素(2)は、指示入力部15(マウスなど)から使用者によって指定される。1つめの形状要素(1)が長さ寸法を算出する際に基準となる形状要素である。
1つめの形状要素(1)は、指示入力部15から形状値情報算出部13へ送られる。形状値情報算出部13は、指定された形状要素(1)を、3次元形状の表示画面上に設定する(ステップST220)。具体的には、形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素(1)に対応するデータを抽出しておく。形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素(1)の箇所を表示部16にハイライト表示させる(ステップST230)。
また、2つめの形状要素(2)は、指示入力部15から形状値情報算出部13へ送られる。形状値情報算出部13は、指定された形状要素(2)を、3次元形状の表示画面上に設定する(ステップST240)。具体的には、形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素(2)に対応するデータを抽出しておく。形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素(2)の箇所を表示部16にハイライト表示させる(ステップST250)。
形状値情報算出部13は、形状要素(1)と形状要素(2)との間の長さ寸法に関する形状値情報を内部演算によって算出する(ステップST260)。形状値情報算出部13は、形状値情報として、例えば測定対象となる点同士(点間)の座標成分の差分値や、同一平面内または空間に位置する点間の距離などを算出する。形状値情報算出部13は、算出した形状値情報を、ダイアログ(形状値情報ダイアログ)として表示部16に表示させる(ステップST270)。
この後、情報処理装置1に長さ寸法の算出処理を続行させる場合には、使用者によって指示入力部15から長さ寸法の算出処理を続行させることを示す指示情報が入力される。この指示情報は、指示入力部15から形状値情報算出部13に送られる。
形状値情報算出部13は、指示入力部15からの指示情報に基づいて、長さ寸法の算出処理を続行するか否かを判断する(ステップST280)。形状値情報算出部13は、長さ寸法の算出処理を続行すると判断した場合(ステップST280、Yes)、長さ寸法を算出する際に基準となっていない方の形状要素(2)のハイライト表示を表示部16にキャンセルさせる(ステップST285)。
そして、形状値情報算出部13は、ステップST240〜ST285の処理を行なう。長さ寸法の算出処理を続行する場合、使用者によって指示入力部15から新たな形状要素(2)が入力される。この新たな形状要素(2)は、指示入力部15から形状値情報算出部13に送られる。
形状値情報算出部13は、新たに指定された形状要素(2)を、3次元形状の表示画面上に設定し、指定された新たな形状要素(2)の箇所を表示部16にハイライト表示させる(ステップST240,ST250)。
そして、形状値情報算出部13は、形状要素(1)と形状要素(2)との間の長さ寸法に関する形状値情報を内部演算によって算出し、算出した形状値情報を、形状値情報ダイアログとして表示部16に表示させる(ステップST260,ST270)。
長さ寸法の算出処理を続行させないことを示す指示情報(算出終了の指示)が、使用者によって指示入力部15に入力されるまで、形状値情報算出部13はステップST240〜ST285の処理を繰り返す。算出終了の指示が、使用者によって指示入力部15に入力されると(ステップST280、No)、情報処理装置1は長さ寸法の算出処理を終了する。
(算出対象種別が座標値の場合)
形状値情報算出部13が判別した算出対象種別が、座標値である場合(ステップST210、座標値)、寸法を測定したい部位の種類として、座標値を求める点の種類(例えば、端点、中間点、中心点など)が使用者に指定される。また、寸法を測定したい部位の形状要素(位置)が3次元形状の表示画面上で使用者に指定される。
使用者に指定されて算出対象となる点の種類と形状要素は、使用者によって指示入力部15(マウスなど)から指定され、指示入力部15から形状値情報算出部13へ送られる。形状値情報算出部13は、指定された点の種類を記憶(設定)する(ステップST290)。また、形状値情報算出部13は、指定された形状要素を3次元形状の表示画面上に設定する(ステップST300)。具体的には、形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素に対応するデータを抽出しておく。
形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素の箇所を表示部16にハイライト表示させる(ステップST310)。形状値情報算出部13は、指定された形状要素に関連する形状値情報であって、指定された種類の点の形状値情報(点の座標値)を内部演算により算出する(ステップST320)。
形状値情報算出部13は、算出した点の座標値(形状値情報)に対応する位置(点)を、表示部16に3次元形状の表示画面上でハイライト表示させる(ステップST330)。形状値情報算出部13は、算出した点をハイライト表示させると、形状要素のハイライト表示を表示部16にキャンセルさせる(ステップST340)。そして、形状値情報算出部13は、算出した形状値情報を、ダイアログ(形状値情報ダイアログ)として表示部16に表示させる(ステップST350)
この後、情報処理装置1に座標値の算出処理を続行させる場合には、使用者によって指示入力部15から座標値の算出処理を続行させることを示す指示情報が入力される。この指示情報は、指示入力部15から形状値情報算出部13に送られる。
形状値情報算出部13は、指示入力部15からの指示情報に基づいて、座標値の算出処理を続行するか否かを判断する(ステップST360)。形状値情報算出部13は、座標値の算出処理を続行すると判断した場合(ステップST360、Yes)、ステップST290〜ST360の処理を行なう。座標値の算出処理を続行する場合、使用者によって指示入力部15から新たな点の種類と新たな形状要素が入力される。この新たな点の種類と形状要素は、指示入力部15から形状値情報算出部13に送られる。
形状値情報算出部13は、指定された点の種類を記憶するとともに、指定された形状要素を3次元形状の表示画面上に設定する(ステップST290,ST300)。そして、形状値情報算出部13は、指定された形状要素の箇所を表示部16にハイライト表示させる(ステップST310)。
形状値情報算出部13は、指定された形状要素に関連する形状値情報であって、指定された種類の点の形状値情報を算出する(ステップST320)。形状値情報算出部13は、算出した点の座標値に対応する点を、表示部16に3次元形状の表示画面上でハイライト表示させるとともに、表示部16に形状要素のハイライト表示をキャンセルさせる(ステップST330,ST340)。そして、形状値情報算出部13は、算出した形状値情報を、ダイアログとして表示部16に表示させる(ステップST350)。
座標値の算出処理を続行させないことを示す指示情報(算出終了の指示)が、使用者によって指示入力部15に入力されるまで、形状値情報算出部13はステップST290〜ST360の処理を繰り返す。算出終了の指示が、使用者によって指示入力部15に入力されると(ステップST360、No)、情報処理装置1は座標値の算出処理を終了する。
なお、図5では、算出対象となる点の種類を設定した後、算出対象となる形状要素の設定とハイライト表示を行なったが、算出対象となる形状要素の設定とハイライト表示を行なった後に算出対象となる点の種類を設定してもよい。換言すると、算出対象となる点の種類の設定は、形状値情報を算出する前に設定しておけばよい。
(算出対象種別が角度寸法の場合)
基準となる形状要素(3)を1つ指定し、順次この形状要素(3)と各形状要素(4)の間でなす角度を算出(測定)する場合の例について説明する。形状値情報算出部13が判別した算出対象種別が、角度寸法である場合(ステップST210、角度寸法)、使用者の所望の形状要素として、3次元形状の表示画面上で1つめの形状要素(3)と2つめの形状要素(4)が使用者に指定される。この1つめの形状要素(3)と2つめの形状要素(4)は、指示入力部15(マウスなど)から使用者によって指定される。1つめの形状要素(3)が角度寸法を算出する際に基準となる形状要素である。
1つめの形状要素(3)は、指示入力部15から形状値情報算出部13へ送られる。形状値情報算出部13は、指定された形状要素(3)を、3次元形状の表示画面上に設定する(ステップST370)。具体的には、形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素(3)に対応するデータを抽出しておく。形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素(3)の箇所を表示部16にハイライト表示させる(ステップST380)。
また、2つめの形状要素(4)は、指示入力部15から形状値情報算出部13へ送られる。形状値情報算出部13は、指定された形状要素(4)を、3次元形状の表示画面上に設定する(ステップST390)。具体的には、形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素(4)に対応するデータを抽出しておく。形状値情報算出部13は、表示部16が表示している3次元形状の中から、指定された形状要素(4)の箇所を表示部16にハイライト表示させる(ステップST400)。
形状値情報算出部13は、形状要素(3)と形状要素(4)との間の角度寸法に関する形状値情報を内部演算によって算出する(ステップST410)。形状値情報算出部13は、形状値情報として、例えば、形状要素(3)と形状要素(4)とがなす角度などを算出する。形状値情報算出部13は、算出した形状値情報を、ダイアログ(形状値情報ダイアログ)として表示部16に表示させる(ステップST420)。
この後、情報処理装置1に角度寸法の算出処理を続行させる場合には、使用者によって指示入力部15から角度寸法の算出処理を続行させることを示す指示情報が入力される。この指示情報は、指示入力部15から形状値情報算出部13に送られる。
形状値情報算出部13は、指示入力部15からの指示情報に基づいて、角度寸法の算出処理を続行するか否かを判断する(ステップST430)。形状値情報算出部13は、角度寸法の算出処理を続行すると判断した場合(ステップST430、Yes)、角度寸法を算出する際に基準となっていない方の形状要素(4)のハイライト表示を表示部16にキャンセルさせる(ステップST435)。
そして、形状値情報算出部13は、ステップST390〜ST435の処理を行なう。角度寸法の算出処理を続行する場合、使用者によって指示入力部15から新たな形状要素(4)が入力される。この新たな形状要素(4)は、指示入力部15から形状値情報算出部13に送られる。
形状値情報算出部13は、新たに指定された形状要素(4)を、3次元形状の表示画面上に設定し、指定された新たな形状要素(4)の箇所を表示部16にハイライト表示させる(ステップST390,ST400)。
そして、形状値情報算出部13は、形状要素(3)と形状要素(4)との間の角度寸法に関する形状値情報を内部演算によって算出し、算出した形状値情報を、形状値情報ダイアログとして表示部16に表示させる(ステップST410,ST420)。
角度寸法の算出処理を続行させないことを示す指示情報(算出終了の指示)が、使用者によって指示入力部15に入力されるまで、形状値情報算出部13はステップST390〜ST435の処理を繰り返す。算出終了の指示が、使用者によって指示入力部15に入力されると(ステップST430、No)、情報処理装置1は角度寸法の算出処理を終了する。
このように、算出対象が長さ寸法の場合は、2つの形状要素間の各座標成分の差分や距離などが形状値情報として算出される。また、算出対象が座標値の場合は、指定された形状要素に関連する点の座標値などが形状値情報として算出される。さらに、算出対象が座標値であって、指定され形状要素が円弧エッジに関する場合は、直径または半径などが形状値情報として算出される。また、算出対象が角度寸法の場合は、2つの形状要素がなす角の大きさなどが形状値情報として算出される。
ここで、図6〜図8を参照して形状値情報の算出処理を説明する。なお、以下でのエッジは、曲線、直線、線分などの線形状を示している。図6は、長さ寸法の算出処理を説明するための図である。図6ではエッジ122Eとエッジ123Eの2つの形状要素に関する寸法値情報(長さ寸法)を算出する場合の例を示している。
形状値情報算出部13は、まずエッジ122Eとエッジ123Eとの間が最短距離となる点124と点125を求める。点124がエッジ122E上の点であり、点125がエッジ123E上の点である。
形状値情報算出部13は、点124と点125を求めると、点124と点125との最短距離となる線126に関する形状値情報(長さ寸法)を算出する。そして、表示画面上の3次元形状上に線126を表示させるとともに、線126に関する形状値情報を表示画面上(形状値情報ダイアログ)に表示させる。
図6では、2つのエッジ122Eとエッジ123Eとの間の長さ寸法の算出処理について説明したが、この他にも寸法値情報の算出対象となる形状要素の組合せは種々ある。例えば、点と点との間の長さ寸法、点とエッジとの間の長さ寸法、点と面との間の長さ寸法、エッジと面との間の長さ寸法、面と面との間の長さ寸法などが寸法値情報の算出対象となる。
図7は、座標値の算出処理を説明するための図である。図7ではエッジ112Eの形状要素に関する点(エッジ112E上の中間点)の座標値情報を算出する場合の例を示している。
形状値情報算出部13は、エッジ112Eの端点113P,114Pの中間位置となる点115を寸法値情報として算出する。点115は、エッジ112E上の点である。形状値情報算出部13は、表示画面上の3次元形状上に算出した点115を表示させるとともに、点115に関する形状値情報を表示画面上(形状値情報ダイアログ)に表示させる。
図7では、エッジ112E上の中間点(座標値)の算出処理について説明したが、この他にも寸法値情報の算出対象となる形状要素(座標値)は種々ある。例えば、端点の座標値や中心点の座標値などが寸法値情報の算出対象となる。
図8は、角度寸法の算出処理を説明するための図である。図8ではエッジ132Eと面133Fの2つの形状要素に関する寸法値情報(角度寸法)を算出する場合の例を示している。
形状値情報算出部13は、エッジ132Eと面133Fがなす角134に関する形状値情報(角度寸法)を算出する。形状値情報算出部13は、表示画面上の3次元形状上に角134を表示させるとともに、角134に関する形状値情報を表示画面上に表示させる。
図8では、エッジ132Eと面133Fとがなす角度の角度寸法の算出処理について説明したが、この他にも形状値情報の算出対象となる形状要素の組合せは種々ある。例えば、エッジとエッジがなす角度寸法、面と面がなす角度寸法、所定方向に限定した点の角度など(後述の加工軸と特徴点のなす角度など)が形状値情報の算出対象となる。
図9〜図11は、形状値情報の表示例を示す図である。図9は、2つの形状要素間の長さ寸法の値の表示例として形状値情報ダイアログ211aを示し、図10は、点の座標値の表示例として形状値情報ダイアログ211bを示し、図11は、2つの形状要素間の角度寸法の値の表示例として形状値情報ダイアログ211cを示している。
本実施の形態では、形状値情報ダイアログ211a〜211cが、NCプログラムの表示形式に応じた形状値情報を表示する。形状値情報ダイアログ211a〜211cは、例えばNCプログラムで用いられている座標系(直交座標系や極座標系など)、この座標系での座標値、座標軸の傾き、座標原点などを表示する。
つぎに、ステップST60の処理(形状値情報の表示処理)について説明する。図12は、形状値情報の表示処理手順を示すフローチャートである。本実施の形態では、使用者が指示入力部15に入力する指示情報に基づいて、形状値情報を確認するための画面(確認用画面)に、確認対象となる形状要素(3次元形状上の位置)ハイライト表示させるとともに、この形状要素に対応する形状値情報を形状値情報ダイアログで反転表示させる。表示部16は、例えば3次元形状の表示画面と形状値情報ダイアログとをリンクさせて表示する。
形状値情報算出部13は、表示部16が表示している3次元形状の形状値情報(形状要素)に基づいて、この形状値情報の種類(以下、確認対象種別という)を判別する(ステップST510)。
(確認対象種別が座標値の場合)
形状値情報算出部13が判別した確認対象種別が、座標値である場合(ステップST510、座標値)、形状値情報ダイアログに表示されている形状値情報(座標値)に対応する各点(1〜複数)が3次元形状の表示画面上でハイライト表示されている。
3次元形状の画面上でハイライト表示されている点の1つを指示入力部15(マウス等)によって使用者が指定すると、指定された点(指定点)の情報が指示入力部15から形状値情報算出部13に入力される(ステップST520)。形状値情報算出部13は、この指定点を3次元形状の画面上でハイライト表示させ(ステップST530)、ハイライト表示されていた他の点のハイライト表示をキャンセルする。そして、形状値情報算出部13は、3次元形状の画面上でハイライト表示させた点(指示入力部15から指定された点)に関する形状値情報(算出値)を形状値情報ダイアログで反転表示させる(ステップST540)。この後、情報処理装置1に他の新たな座標値の表示処理(反転表示)を継続して行なわせる場合には、使用者によって指示入力部15から座標値寸法の表示処理を続行させることを示す指示情報が入力される。この指示情報は、指示入力部15から形状値情報算出部13に送られる。
形状値情報算出部13は、指示入力部15からの指示情報に基づいて、座標値の表示処理を続行するか否かを判断する(ステップST550)。形状値情報算出部13は、座標値の表示処理を続行すると判断した場合(ステップST550、Yes)、3次元形状の表示画面上でハイライト表示されている指定点のハイライト表示を表示部16にキャンセルさせる(ステップST560)。さらに、形状値情報算出部13は、ハイライト表示をキャンセルした指定点に関する形状値情報(算出値)の形状値情報ダイアログ上での反転表示をキャンセルする(ステップST565)。
そして、形状値情報算出部13は、ステップST520〜ST550の処理を行なう。この後、他の新たな座標値の表示処理を行なわないことを示す指示情報(終了の指示)が使用者によって指示入力部15に入力されるまで、形状値情報算出部13はステップST520〜ST565の処理を繰り返す。反転表示の終了指示が、使用者によって指示入力部15に入力されると(ステップST550、No)、情報処理装置1は新たな反転表示は行なわない。
(確認対象種別が長さ寸法または角度寸法の場合)
形状値情報算出部13が判別した確認対象種別が、長さ寸法または角度寸法である場合(ステップST510、長さ寸法または角度寸法)、形状値情報ダイアログには形状値情報が反転表示されている。さらに、この反転表示されている形状値情報に関連している2つの形状要素(形状値情報の算出に用いた形状要素)が3次元形状の表示画面上でハイライト表示されている。
形状値情報ダイアログ上に表示されている形状値情報を指示入力部15(マウス等のカーソル移動)によって使用者が指定すると、指定された形状値情報が指示入力部15から形状値情報算出部13に入力される(ステップST570)。
形状値情報算出部13は、指示入力部15からの形状値情報(カーソルを移動させた形状値情報)を形状値情報ダイアログ上で反転表示させる(ステップST580)。形状値情報算出部13は、反転表示させた形状値情報に関連する2つの形状要素を、3次元形状の表示画面上でハイライト表示させる(ステップST590)。
この後、情報処理装置1に他の新たな長さ寸法または角度寸法の表示処理(ハイライト表示)を継続して行なわせる場合には、使用者によって指示入力部15から長さ寸法または角度寸法の表示処理を続行させることを示す指示情報が入力される。この指示情報は、指示入力部15から形状値情報算出部13に送られる。
形状値情報算出部13は、指示入力部15からの指示情報に基づいて、長さ寸法または角度寸法の表示処理を続行するか否かを判断する(ステップST600)。形状値情報算出部13は、長さ寸法または角度寸法を続行すると判断した場合(ステップST600、Yes)、形状値情報ダイアログ上で反転表示されている形状値情報の反転表示を表示部16にキャンセルさせる(ステップST610)。さらに、形状値情報算出部13は、反転表示をキャンセルした形状値情報に対応する各形状要素の、3次元形状の表示画面上でのハイライト表示をキャンセルする(ステップST620)。
そして、形状値情報算出部13は、ステップST570〜ST620の処理を行なう。この後、他の新たな長さ寸法または角度寸法の表示処理を行なわないことを示す指示情報(終了の指示)が使用者によって指示入力部15に入力されるまで、形状値情報算出部13は、ステップST570〜ST620の処理を繰り返す。ハイライト表示の終了指示が、使用者によって指示入力部15に入力されると(ステップST600、No)、情報処理装置1は新たなハイライト表示は行なわない。
なお、形状値情報算出部13は、ステップST560の処理とステップST565の処理とを何れの順番で行ってもよい。すなわち、形状値情報算出部13は、指定点のハイライト表示のキャンセルと、形状値情報の反転表示のキャンセルとを、どちらを先に行ってもよい。
また、形状値情報算出部13は、ステップST610の処理とステップST620の処理とを何れの順番で行ってもよい。すなわち、形状値情報算出部13は、形状値情報の反転表示のキャンセルと、各形状要素のハイライト表示のキャンセル、とをどちらを先に行ってもよい。
ここで、3次元表示画面の表示例と、形状値情報ダイアログの表示例について説明する。図13〜図15は、3次元表示画面と形状値情報ダイアログの表示例を示す図である。図13は、形状要素のハイライト表示と形状値情報の反転表示を行なっていない場合の3次元形状の表示画面(3次元表示画面140)と形状値情報ダイアログ221aを示している。
3次元表示画面140には、3次元形状142、端点143、端点144、中心点145が表示されている。この場合の形状値情報ダイアログ221aには、端点143の形状値情報222、端点144の形状値情報223、中心点145の形状値情報224が表示される。
図14は、形状値情報の確認モード中に端点144が指定された場合の3次元表示画面150と形状値情報ダイアログ221bを示している。端点144が指定された場合、3次元表示画面150では指定された端点144がハイライト表示される。この場合の形状値情報ダイアログ221bには、端点144の形状値情報225が反転表示される。
図15は、形状値情報の確認モード中に中心点145が指定された場合の3次元表示画面160と形状値情報ダイアログ221cを示している。中心点145が指定された場合、3次元表示画面160では指定された中心点145がハイライト表示される。この場合の形状値情報ダイアログ221cには、中心点145の形状値情報226が反転表示される。
なお、図13〜図15で示した点のハイライト表示や形状値情報の反転表示は表示方法の一例であり、使用者が指定した点や形状値情報と、その他の点や形状値情報とを、使用者が区別できる何れの表示方法で表示してもよい。
つぎに、ステップST70の処理(NCプログラムへの反映処理)について説明する。図16は、形状値情報のNCプログラムへの反映処理手順を示すフローチャートである。表示部16が形状値情報ダイアログに形状値情報を表示しているときに、指示入力部15から形状値情報のNCプログラムへの反映指示が入力されると、この反映指示はNCプログラム作成部2に送られる。
NCプログラム作成部2のNCプログラム反映部22は、形状値情報に対応するNCプログラムをNCプログラム記憶部21から抽出し、NCプログラム画面(後述のNCプログラムエディタ画面301)として表示部16に表示させる。
NCプログラム画面上で、指示入力部15から使用者が形状値情報を反映させたいNCプログラムの位置を指定(カーソルの移動指示)すると、表示部16では指定されたNCプログラム画面上の位置にカーソルを移動(表示)させる(ステップST700)。
形状値情報ダイアログ上で、指示入力部15から使用者が反映させたい形状値情報の位置を指定(カーソルの移動指示)すると、表示部16では指定された形状値情報ダイアログ上の位置にカーソルを移動(表示)させる(ステップST710)。
使用者がNCプログラムに形状値情報を反映させるコマンド(プログラム反映コマンド)を入力すると、このコマンドはNCプログラム反映部22に入力される(ステップST720)。
NCプログラム反映部22は、NCプログラム画面上でカーソルによって示された位置にあるNCプログラム(データ)の属性と、形状値情報ダイアログ上でカーソルによって示された位置にある形状値情報の属性とを比較して、これらの属性が一致するか否かを判断する(ステップST730)。NCプログラム反映部22は、例えばデータの属性が穴径どうしであるか否か、穴深さどうしであるか否か、面とりどうしであるか否か、などの加工の形状値情報であるか否かや、データの属性が(X,Y,Z)などの座標値どうしであるか否かなどを判断する。
NCプログラムの属性と形状値情報の属性とが一致する場合(ステップST730、Yes)、NCプログラム反映部22は、形状値情報ダイアログ上のカーソル位置にある形状値情報を、NCプログラム画面上のカーソル位置にあるNCプログラムに入力(反映)する。これによりNCプログラム反映部22は、NCプログラム記憶部21NCプログラムを、形状値情報を反映した新たなNCプログラムに更新する(ステップST740)。
一方、NCプログラムの属性と形状値情報の属性とが一致しない場合(ステップST730、No)、NCプログラム反映部22は、NCプログラム側へのデータの設定(形状値情報の反映)は行なわない。
この後、情報処理装置1に形状値情報のNCプログラムへの反映処理を続行させる場合には、使用者によって指示入力部15から形状値情報の反映処理を続行させることを示す指示情報が入力される。この指示情報は、指示入力部15からNCプログラム反映部22に送られる。
そして、NCプログラム反映部22は、ステップST700〜ST750の処理を行なう。この後、形状値情報の反映処理を続行しないことを示す指示情報(終了の指示)が使用者によって指示入力部15に入力されるまで、NCプログラム反映部22は、ステップST700〜ST750の処理を繰り返す。形状値情報の反映処理の終了指示が、使用者によって指示入力部15に入力されると(ステップST750、No)、情報処理装置1は形状値情報のNCプログラムへの反映処理を終了する。
図17は、形状値情報のNCプログラムへの反映処理を説明するための図である。形状値情報をNCプログラムへ反映させる際には、NCプログラムエディタ画面301で、形状値情報を反映させたいNCプログラムの位置にカーソル302が移動させられる(s1)。
また、形状値情報ダイアログ230で、NCプログラムエディタ画面301に反映させたい形状値情報231の位置にカーソルが移動させられることによって形状値情報231は反転表示させられる(s2)。
反映ボタンがクリック(プログラム反映コマンドが入力)されると、形状値情報231の情報が、NCプログラムエディタ画面301に反映され、反映後のNCプログラムエディタ画面303に形状値情報304が表示される(s3)。
つぎに、図5で説明した長さ寸法に関する形状値情報の算出処理(ステップST260)、座標値に関する形状値情報の算出処理(ステップST320)、角度寸法に関する形状値情報の算出処理(ステップST410)をそれぞれ詳細に説明する。
図18は、座標値に関する形状値情報の算出処理手順を示すフローチャートである。形状値情報算出部13は、図5のステップST290の処理で設定した点(以下、特徴点という)の種類に応じた形状値情報(座標値)の算出処理を行なう。まず、形状値情報算出部13は、特徴点の種類を判別する(ステップST800)。特徴点の種類には、例えば端点、中間点、第1の中心点、第2の中心点、法線点、最近接点、象限点などがある。
端点は、形状要素が開いたエッジである場合の、エッジの始点または終点である。中間点は、形状要素が開いたエッジの場合の、エッジの始点と終点の中間にある点である。第1の中心点は、形状要素が円弧エッジの場合の、エッジの中心点である。第2の中心点は、形状要素が穴の開いた曲面の場合に、穴が開く前の曲面領域内で、且つその曲面上で最も突出した位置に対応する点である。
法線点は、形状要素がエッジまたは面の場合に、任意の点を基準としてその点から形状要素に下ろした垂線の足に対応する点である。最近接点は、形状要素がエッジまたは面の場合に、任意の点を基準としてその点から形状要素に対して最短距離にある点である。象限点は、形状要素が円弧エッジ、球面、トーラス面など断面に円弧を含む面の場合に、その円弧形状の各象限に対応する領域の境界上にある点である。なお、これらの点以外にもなんらかの特徴を持つ点や、特徴点どうしの幾何演算により求められる点を形状値情報の算出対象としてもよい。
形状値情報算出部13が、特徴点の種類は「端点」であると判断した場合(ステップST800、端点)、形状値情報算出部13は端点(エッジの始点または終点)の位置を算出する(ステップST810)。
形状値情報算出部13が、特徴点の種類は「中間点」であると判断した場合(ステップST800、中間点)、形状値情報算出部13は中間点の位置を算出する(ステップST820)。具体的には、形状値情報算出部13は開いたエッジが持つカーブのインターバル値(始点から終点までの区間パラメータ)を求め、そのパラメータの平均値に対応する位置にある点を中間点とする。なお、中間点は端点間の途中の位置にある点であり、直線エッジや円弧エッジ以外の場合には、必ずしもエッジ長の中間に位置する点になるとは限らない。
形状値情報算出部13が、特徴点の種類は「第1の中心点」であると判断した場合(ステップST800、第1の中心点)、形状値情報算出部13は第1の中心点の位置を算出する(ステップST830)。具体的には、形状値情報算出部13は、円弧エッジや円柱面・円筒面の中心に位置する点を第1の中心点とする。円柱面や円錐面の場合、形状値情報算出部13は、円柱面や円錐面の中心軸方向で最大値・最小値をとる円柱面上や円錐面上の点(極値点)を求め、極値点から中心軸に下ろした垂線の足を第1の中心点とする。
形状値情報算出部13が、特徴点の種類は「第2の中心点」であると判断した場合(ステップST800、第2の中心点)、形状値情報算出部13は第2の中心点の位置を算出する(ステップST840)。具体的には、形状値情報算出部13は、円柱面または円錐面の穴に対して、穴の周りの面が、球面、トーラス面、円錐面の場合に、穴の周りの面の極値点を穴(円柱面または円錐面)の中心軸に下ろした点を第2の中心点とする。この場合の第2の中心点は、元の円柱面に穴を開ける前の曲面領域内で最も突出した位置にある。
このような点は、例えば加工開始点に相当する点である。したがって、工作機械などで加工を行う場合には、加工開始点や加工開始の目安となる位置にある点を加工作業者は認識しておく必要がある。
従来、素材形状と製品形状の情報から加工開始点を求めていたが、加工開始点は加工により除去される領域に含まれる場合が多く、素材形状や製品形状が加工開始点の情報を直接持っていなかった。このため、従来までは加工開始点を指定する作業は難しかった。本実施の形態では、形状値情報算出部13が加工開始点(第2の中心点)を算出するので、容易に加工を開始することが可能となる。
形状値情報算出部13が、特徴点の種類は「象限点」であると判断した場合(ステップST800、象限点)、形状値情報算出部13は象限点の位置を算出する(ステップST850)。具体的には、形状値情報算出部13は、円弧エッジ、球面、トーラス面に対して、測定座標系の、0°、90°、180°、270°の位置にある点を象限点とする。
例えば、円弧エッジの場合、測定座標系の軸が法線となる平面内の点であって円弧上にある点が象限点となる。また、球面の場合、球の中心を通る平面で測定座標系の軸が法線となる平面と、球面とが交わってできる円弧(円弧エッジ)の象限点が、球の象限点となる。また、トーラス面の場合、トーラス面の中心軸が測定座標軸と一致している場合に、中心軸を含む座標軸平面でトーラス面を切った場合の切り口(円弧)に対して、0°、90°、180°、270°の位置にある点が象限点となる。すなわち、トーラス面の象限点は最大で16点存在する。
形状値情報算出部13が、特徴点の種類は「法線点」であると判断した場合(ステップST800、法線点)、形状値情報算出部13は直近に取得した特徴点(使用者によって指定された特徴点)を基準として法線点の位置を算出する(ステップST860,ST870)。具体的には、形状値情報算出部13は、前回指定された特徴点(今回算出対象となっている形状要素の直前に指定された点)から、エッジ(直線や円弧)、平面、円柱面の中心軸に降ろした垂線の足に位置(最短距離)する点を法線点とする。法線点は、算出に用いる形状要素(選択要素)の領域外であってもよい。算出に用いる形状要素が円弧エッジの場合、前回の特徴点と、円弧エッジが同一平面内に存在してればよい。
形状値情報算出部13が、特徴点の種類は「最近接点」であると判断した場合(ステップST800、最近接点)、形状値情報算出部13は直近に取得した特徴点を基準として最近接点の位置を算出する(ステップST880,ST890)。具体的には、形状値情報算出部13は、前回指定された特徴点から、エッジ(直線や円弧)や任意の面に対して距離が最短となる頂点を最近接点とする。
形状値情報算出部13は、ステップST810〜ST890の何れかの処理で特徴点の位置を算出すると、算出した特徴点の座標に関する情報(座標値、円弧エッジの場合は直径または半径)を演算する(ステップST900)。
図19は、長さ寸法に関する形状値情報の算出処理手順を示すフローチャートである。形状値情報算出部13は、図5のステップST220の処理で設定した形状要素(1)とステップST240の処理で設定した形状要素(2)の組み合わせの種類に応じた形状値情報の算出処理を行なう。まず、形状値情報算出部13は、形状要素(1)と形状要素(2)の組み合わせの種類を判別する(ステップST910)。算出する形状値情報が長さ寸法である場合の形状要素の組合せには、例えば点と点、点とエッジ、点と面、エッジとエッジ、面と面、エッジと面などがある。
本実施の形態では、形状要素(1)と形状要素(2)を設定した順序とは関係なく、形状要素(1),(2)の組み合わせの種類に基づいて形状値情報の算出方法を場合分けする。以下、形状要素(1)と形状要素(2)の組み合わせ例に沿って説明する。
形状値情報算出部13が、形状要素どうしの組み合わせは「点とエッジ」であると判断した場合(ステップST910、点とエッジ)、形状値情報算出部13は点とエッジとの間が最短距離となるエッジ上の点を算出する(ステップST920)。そして、形状値情報算出部13は、算出した2点間の寸法(XYZ座標における寸法、XY座標における寸法など)を演算する(ステップST970)。
図20および図21は、点とエッジとの間の最短距離を説明するための図である。図20に示すように、点171からエッジ173上へ垂線を延ばした場合に、垂線の足がエッジ173上に存在する場合は、点171からエッジ173への垂線の長さ(寸法172)を2点間寸法とする。また、図21に示すように、点171からエッジ173上へ垂線を延ばした場合に、垂線の足がエッジ173上に存在しない場合は、点171と、エッジ173の領域内に存在する点174と、の間の最短距離(寸法172)を2点間寸法とする。
形状値情報算出部13が、形状要素どうしの組み合わせは「点と面」であると判断した場合(ステップST910、点と面)、形状値情報算出部13は点と面との間が最短距離となる面上の点を算出する(ステップST930)。そして、形状値情報算出部13は、算出した2点間の寸法を演算する(ステップST970)。
図22および図23は、点と面との間の最短距離を説明するための図である。図22に示すように、点171から面175へ垂線を延ばした場合に、垂線の足が面175上に存在する場合は、点171から面175への垂線の長さ(寸法172)を2点間寸法とする。また、図23に示すように、点171から面175へ垂線を延ばした場合に、垂線の足が面175上に存在しない場合は、点171と、面175の領域内に存在する点176と、の間の最短距離(寸法172)を2点間寸法とする。
形状値情報算出部13が、形状要素どうしの組み合わせは「エッジとエッジ」であると判断した場合(ステップST910、エッジとエッジ)、形状値情報算出部13はエッジとエッジとの間が最短距離となる各エッジ上の点を算出する(ステップST940)。そして、形状値情報算出部13は、算出した2点間の寸法を演算する(ステップST970)。
図24および図25は、エッジとエッジとの間の最短距離を説明するための図である。図24および図25に示すように、一方のエッジ173から他方のエッジ173へ垂線を延ばした場合の、一方のエッジ173から他方のエッジ173への垂線の長さ(寸法172)を2点間寸法とする。図24は、他方のエッジ173が線分を含んでいる場合の寸法172を示しており、図25は、他方のエッジ173が曲線を含んでいる場合の寸法172を示している。
形状値情報算出部13が、形状要素どうしの組み合わせは「面と面」であると判断した場合(ステップST910、面と面)、形状値情報算出部13は面と面との間(2面間の距離)が最短距離となる各面上の点を算出する(ステップST950)。そして、形状値情報算出部13は、算出した2点間の寸法を演算する(ステップST970)。
図26および図27は、面と面との間の最短距離を説明するための図である。図26に示すように、一方の面175上の点177と、他方の面175上の点177とを結んだ直線が、一方の面175への垂線になるとともに他方の面175への垂線になる場合(両方の面175の垂線になる場合)の、垂線の長さ(一方の面175上の点177と、他方の面175上の点177との間の寸法172)を2点間寸法とする。また、図27に示すように、一方の面175から他方の面175へ垂線を延ばした場合に、垂線の足が他方の面175上に存在しない場合は、一方の面175上の点177と、他方の面175の領域内に存在する点176と、の間の最短距離(寸法172)を2点間寸法とする。
形状値情報算出部13が、形状要素どうしの組み合わせは「エッジと面」であると判断した場合(ステップST910、エッジと面)、形状値情報算出部13はエッジと面との間が最短距離となるエッジ上の点と面上の点を算出する(ステップST960)。そして、形状値情報算出部13は、算出した2点間の寸法を演算する(ステップST970)。
図28は、エッジと面との間の最短距離を説明するための図である。図28に示すように、面175の領域内に存在する点176と、点176からエッジ173へ垂線を延ばした場合の、点176からエッジ173への垂線の長さ(寸法172)を2点間寸法とする。
形状値情報算出部13が、形状要素どうしの組み合わせは「点と点」であると判断した場合(ステップST910、点と点)、形状値情報算出部13は形状要素(1)と形状要素(2)の2点間の寸法を演算する(ステップST970)。
図29は、角度寸法に関する形状値情報の算出処理手順を示すフローチャートである。形状値情報算出部13は、図5のステップST370の処理で設定した形状要素(3)とステップST390の処理で設定した形状要素(4)の組み合わせの種類に応じた形状値情報の算出処理を行なう。まず、形状値情報算出部13は、形状要素(3)と形状要素(4)の組み合わせの種類を判別する(ステップST1000)。
形状値情報が角度寸法である場合に、形状要素(3)、形状要素(4)として設定できる組合せは、例えば、直線エッジどうし、平面どうし、直線エッジと平面、座標軸と特徴点などである。
したがって、算出する形状値情報が角度寸法である場合の形状要素の組合せは、例えば直線エッジと直線エッジ、平面と平面、直線エッジと平面、加工軸と特徴点、加工軸と直線エッジ、加工軸と平面などである。
本実施の形態では、形状要素(3)と形状要素(4)を設定した順序とは関係なく、形状要素(3),(4)の組み合わせの種類に基づいて形状値情報の算出方法を場合分けする。以下、形状要素(3)と形状要素(4)の組み合わせ例に沿って説明する。
形状値情報算出部13が、形状要素どうしの組み合わせは「直線エッジと直線エッジ」であると判断した場合(ステップST1000、直線エッジと直線エッジ)、形状値情報算出部13は2つの直線エッジの方向ベクトルを求め、求めたベクトル間の角度を算出する(ステップST1010)。図30に示すように、形状値情報算出部13は、直線エッジの方向ベクトルa1と直線エッジの方向ベクトルa2とがなす角度Xを2要素間(直線エッジと直線エッジ)の角度とする。
形状値情報算出部13が、形状要素どうしの組み合わせは「平面と平面」であると判断した場合(ステップST1000、、平面と平面)、形状値情報算出部13は2平面の法線ベクトルを求め、求めたベクトル間の角度を算出する(ステップST1020)。図31に示すように、形状値情報算出部13は、平面の法線ベクトルb1と平面の法線ベクトルb2とがなす角度Yを2要素間(平面と平面)の角度とする。
形状値情報算出部13が、形状要素どうしの組み合わせは「直線エッジと平面」であると判断した場合(ステップST1000、直線エッジと平面)、形状値情報算出部13は直線エッジの方向ベクトルと平面の法線ベクトルを求め、求めたベクトル間の角度を算出する(ステップST1030)。図32や図33に示すように、形状値情報算出部13は、直線エッジの方向ベクトルa3と平面の法線ベクトルb3との間の角度Z1,Z2を2要素間(直線エッジと平面)の角度とする。
図32に示すように、直線エッジの方向ベクトルa3と平面の法線ベクトルb3のなす角度αが0°≦α<90°の場合、求める角度Z1はZ1=90°−αとなる。一方、図33に示すように、直線エッジの方向ベクトルa3と平面の法線ベクトルb3のなす角度αが90°≦α<180°の場合、求める角度Z2はZ2=α−90°となる。
形状値情報算出部13が、形状要素どうしの組み合わせは「加工軸と特徴点」であると判断した場合(ステップST1000、加工軸と特徴点)、形状値情報算出部13は加工軸周りでの、特徴点の位置に対応する角度を算出する(ステップST1040)。例えばC軸を選択した場合、原点と特徴点を結ぶ直線とA軸(プラス方向)とのなす角度が求める角度となる。
形状値情報算出部13が、形状要素どうしの組み合わせは「加工軸と直線エッジ」であると判断した場合(ステップST1000、加工軸と直線エッジ)、形状値情報算出部13は加工軸周りでの、直線エッジの方向ベクトルの角度を算出する(ステップST1050)。例えばC軸を選択した場合、直線エッジの方向ベクトルとA軸(プラス方向)とのなす角度が求める角度となる。
形状値情報算出部13が、形状要素どうしの組み合わせは「加工軸と平面」であると判断した場合(ステップST1000、加工軸と平面)、形状値情報算出部13は加工軸周りでの、平面の法線ベクトルの角度を算出する(ステップST1060)。例えばC軸を選択した場合、平面の法線ベクトルとA軸(プラス方向)とのなす角度が求める角度となる。
指示入力部15に入力される使用者からの指示に基づいて、形状値情報算出部13が算出した形状値情報や、NCプログラム反映部22によって作成されたNCプログラムは、出力部14から外部装置に出力される。
なお、本実施の形態では、情報処理装置1が表示部16を備える場合を示したが、情報処理装置1と表示部16を別構成としてもよい。また、情報処理装置1が、NCプログラム作成部2を備える構成としたが、情報処理装置1とNCプログラム作成部2を別構成としてもよい。また、情報処理装置1がNCプログラム記憶部21を備える構成としたが、情報処理装置1とNCプログラム記憶部21を別構成としてもよい。
このように実施の形態によれば、使用者は座標値、寸法値、角度値などの形状値情報を計算することなく、これらの形状値情報を容易に取得することが可能となる。また、予め登録しておいた形状の情報(長さ寸法や角度寸法など)を読みだすのではなく、3次元形状の幾何情報から所望の形状値情報を算出処理するので、任意の形状値情報を取得することが可能となる。また、形状値情報を取得する際に、使用者が設定した座標系に基づいた形状値情報値を算出することが可能となる。
また、使用者が設定した座標系での形状値情報を算出できるので、使用者による座標変換計算の計算ミスを軽減できる。さらに、取得した形状値情報をそのままNCプログラムで利用することができるので、NCプログラム作成時の入力ミスが減り、NCプログラムの作成および編集を容易に行なうことが可能になる。
また、3次元表示画面と、取得した形状値情報を表示している表形式(形状値情報ダイアログ)と、をリンクさせて表示させることができるので、使用者は形状値情報が3次元形状内の何れの部位に対応するものであるかを容易に確認することが可能になる。
また、取得した形状値情報をNCプログラムの種類に応じた表示形式で表示できるので、使用者が所望のプログラム表示形式に合わせて形状値情報を計算する必要がなく、計算ミスを軽減できる。さらに、プログラム表示形式に応じて表示された形状値情報をそのままNCプログラムで利用することができるので、NCプログラム作成時の入力ミスが減り、NCプログラムの作成および編集を容易に行なうことが可能になる。
以上のように、本発明に係る情報処理装置および情報処理方法は、3次元形状に関する情報の算出に適している。
本発明の実施の形態に係る情報処理装置の構成を示すブロック図である。
情報処理装置の動作手順を示すフローチャートである。
座標系の設定処理手順を示すフローチャートである。
座標系を設定する際に表示させる設定ダイアログを説明するための図である。
形状値情報の算出処理手順を示すフローチャートである。
長さ寸法の算出処理を説明するための図である。
座標値の算出処理を説明するための図である。
角度寸法の算出処理を説明するための図である。
長さ寸法の値の表示例を示す図である。
点の座標値の表示例を示す図である。
角度寸法の値の表示例を示す図である。
形状値情報の表示処理手順を示すフローチャートである。
3次元表示画面と形状値情報ダイアログの表示例を示す図(1)である。
3次元表示画面と形状値情報ダイアログの表示例を示す図(2)である。
3次元表示画面と形状値情報ダイアログの表示例を示す図(3)である。
形状値情報のNCプログラムへの反映処理手順を示すフローチャートである。
形状値情報のNCプログラムへの反映処理を説明するための図である。
座標値に関する形状値情報の算出処理手順を示すフローチャートである。
長さ寸法に関する形状値情報の算出処理手順を示すフローチャートである。
点とエッジとの間の最短距離を説明するための図(1)である。
点とエッジとの間の最短距離を説明するための図(2)である。
点と面との間の最短距離を説明するための図(1)である。
点と面との間の最短距離を説明するための図(2)である。
エッジとエッジとの間の最短距離を説明するための図(1)である。
エッジとエッジとの間の最短距離を説明するための図(2)である。
面と面との間の最短距離を説明するための図(1)である。
面と面との間の最短距離を説明するための図(2)である。
エッジと面との間の最短距離を説明するための図である。
角度寸法に関する形状値情報の算出処理手順を示すフローチャートである。
直線エッジの方向ベクトルと直線エッジの方向ベクトルとがなす角度を示す図である。
平面の法線ベクトルと平面の法線ベクトルとがなす角度を示す図である。
直線エッジの方向ベクトルと平面の法線ベクトルとがなす角度を示す図である。
直線エッジの方向ベクトルと平面の法線ベクトルとがなす角度を示す図である。
1 情報処理装置
2 プログラム作成部
11 次元形状入力部
12 座標系設定部
13 形状値情報算出部
14 出力部
15 指示入力部
16 表示部
19 制御部
21 NCプログラム記憶部
22 NCプログラム反映部
112E,122E,123E,132E,173 エッジ
113P,114P,143,144 端点
115,124,125,171,174,176,177 点
126 線
133F,175 面
134 角
140,150,160 3次元表示画面
142 3次元形状
145 中心点
201,203,204 設定ダイアログ
211a〜211c,211a〜221c,230 形状値情報ダイアログ
222〜226,231,304 形状値情報
301,302 プログラムエディタ画面
302 カーソル
a1〜a3 方向ベクトル
b1〜b3 法線ベクトル
X,Y,Z1,Z2 角度