以下、本開示の実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一又は相当部分には同一符号を付す。
(実施の形態1)
図1に、実施の形態1に係る寸法作成装置10の構成を示す。寸法作成装置10は、いわゆる3次元CAD装置であって、コンピュータを用いて立体形状を有する物品の設計を支援する情報処理装置である。設計対象となる物品として、例えば、製造過程における製品又はその部品が挙げられる。
寸法作成装置10は、3次元モデルの構成要素に含まれる2つの要素の間の寸法の作成を支援する機能を備える。ここで、3次元モデルとは、設計対象となる物品の立体形状を表すモデルである。また、3次元モデルの要素とは、3次元モデルの構成要素であって、3次元モデルの立体形状を形成する面、稜線及び頂点を意味する。また、2つの要素の間の寸法は、2つの要素の間の距離、すなわち長さを意味する。
一例として図2に、3次元モデルM1を示す。また、図3に、X軸方向とY軸方向とZ軸方向との3方向から見た場合における3次元モデルM1の形状を2次元平面上に示す。図2及び図3に示すように、3次元モデルM1は、6個の面S1~S6と、12個の稜線R1~R12と、8個の頂点V1~V8と、を構成要素として有する6面体の形状を表すモデルである。より詳細には、3次元モデルM1をX軸方向から見たときの形状は長方形である。一方で、3次元モデルM1をY軸方向から見たときの形状は台形であり、面S2が斜面を形成している。
寸法作成装置10は、このような3次元モデルM1が有する複数の面、複数の稜線及び複数の頂点のうちの、作業者により選択された2つの要素の間の寸法を示す寸法情報を作成し、作成した寸法情報を3次元モデルM1に付加する。
寸法作成装置10により3次元モデルM1に対して作成された寸法の情報は、CAM(Computer Aided Manufacturing)又はCAT(Computer Aided Testing)を含むソフトウェアで読み取られ、加工プログラム又は測定プログラムの自動作成に用いられる。例えば、CNC(Computer Numeric Control)3次元測定機において、測定プログラムの作成を自動化することが可能である。具体的に説明すると、3次元モデルM1に付加された寸法から、その寸法に関連付けられている2つの面を認識し、それぞれの面を3次元測定する測定機の動作パスの生成を自動化することができる。また、3次元測定の測定結果を寸法の値と比較照合するプログラムの作成を自動化することができる。
寸法作成装置10で作成された寸法がこのような後続のソフトウェアで正確に読み取られて処理されるためには、3次元モデルM1に作成された寸法が3次元モデルM1の要素と正しく関連付けられていることが重要となる。
図1に戻って、寸法作成装置10は、制御部11と、記憶部12と、操作受付部13と、表示部14と、通信部15と、を備える。
制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)及びRAM(Random Access Memory)を備える。CPUは、中央処理装置、中央演算装置、プロセッサ、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)等とも呼び、寸法作成装置10の制御に係る処理及び演算を実行する中央演算処理部として機能する。制御部11において、CPUは、ROMに格納されているプログラム及びデータを読み出し、RAMをワークエリアとして用いて、寸法作成装置10を統括制御する。
記憶部12は、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)等の不揮発性の半導体メモリを備えており、いわゆる二次記憶装置又は補助記憶装置としての役割を担う。記憶部12は、制御部11が各種処理を行うために使用するプログラム及びデータを記憶する。また、制御部11が各種処理を行うことにより生成又は取得するデータを記憶する。例えば、記憶部12は、寸法作成装置10により読み込まれる3次元モデルM1、及び、寸法作成装置10により作成された寸法の情報を記憶する。
操作受付部13は、キーボード、マウス、スイッチ、タッチパッド、タッチパネル等の入力デバイスを備えており、作業者から寸法作成装置10に対する操作を受け付ける。例えば、操作受付部13は、3次元モデルM1を読み込む操作、表示部14に表示された3次元モデルM1を拡大、縮小及び回転させる操作、3次元モデルM1の構成要素のうちのいずれかを選択する操作等を受け付ける。
表示部14は、LCD(Liquid Crystal Display)パネル、有機EL(Electro-Luminescence)等の表示デバイスを備える。表示部14は、図示しない表示駆動回路によって駆動され、制御部11による制御のもとで様々な画像を表示する。例えば、表示部14は、図2に示したような3次元モデルM1を表示する。
通信部15は、寸法作成装置10の外部の装置と通信するための通信インタフェースを備える。例えば、通信部15は、外部の装置との間で、無線LAN(Local Area Network)、有線LAN、USB(Universal Serial Bus)等の周知の通信規格に則って通信する。
次に、図4を参照して、寸法作成装置10の機能的な構成について説明する。
図4に示すように、寸法作成装置10は、機能的に、配置面指定部110と、要素選択部120と、方向指定部130と、寸法作成部140と、出力部150と、を備える。寸法作成部140は、関連付け要素決定部141と関連付け部142との機能を含んでいる。これらの各機能は、ソフトウェア、ファームウェア、又は、ソフトウェアとファームウェアとの組み合わせによって実現される。ソフトウェア及びファームウェアは、プログラムとして記述され、ROM又は記憶部12に格納される。そして、CPUが、ROM又は記憶部12に記憶されたプログラムを実行することによって、これらの各機能を実現する。
以下、寸法作成装置10において、図2に示した3次元モデルM1に対して寸法を作成する場合を例にとって説明する。
配置面指定部110は、寸法配置面を指定する。寸法配置面は、寸法作成装置10により作成される寸法が配置される配置面である。図5に、寸法配置面P1の例を一点鎖線で示す。寸法配置面P1は、3次元モデルM1の面S1に平行で、且つ、面S1から指定の距離離れた仮想的な平面である。
配置面指定部110は、操作受付部13を介して作業者から受け付けた操作に従って、例えば図5に示す平面を寸法配置面P1として指定する。作業者は、操作受付部13を操作することにより、3次元空間内の任意の平面を、寸法配置面P1として指定する。具体的には、作成対象の寸法の方向に対して平行な平面を、寸法配置面P1として指定することで、寸法を視認し易い位置に配置することができる。配置面指定部110は、制御部11が操作受付部13と協働することにより実現される。配置面指定部110は、配置面指定手段として機能する。
図4に戻って、要素選択部120は、3次元モデルの構成要素のうちから2つの対象要素を選択する。ここで、2つの対象要素は、作成対象の寸法を作成するための要素であって、寸法の両端を定める要素である。
例えば、作業者は、表示部14に3次元モデルM1が表示された状態で、操作受付部13を操作し、3次元モデルM1を構成する複数の構成要素のうちの所望の頂点、稜線又は面を2つクリックする。要素選択部120は、このように操作受付部13を介して作業者から受け付けた操作に従って、2つの対象要素を選択する。要素選択部120は、制御部11が操作受付部13と協働することにより実現される。要素選択部120は、要素選択手段として機能する。
より詳細には、作業者は、2つの対象要素を選択する際、操作受付部13を操作して、表示部14に表示されている3次元モデルM1の向きを、配置面指定部110により指定された寸法配置面P1と画面の向きが一致する向きに変更する。具体的には図6に示すように、作業者は、表示部14に表示されている3次元モデルM1を回転させて、寸法配置面P1の向きと画面の向きとを合わせる。これにより、寸法配置面P1に対して直交する方向であるZ軸方向から3次元モデルM1を見た状態になる。
このように3次元モデルM1の向きを調整することで、2次元図面に対して寸法を作成する場合と同様の操作感で、3次元モデルM1に対して寸法を作成することが可能になる。これにより、作成対象の寸法の両端に存在する2つの対象要素を作業者が選択し易くなる。
但し、このような3次元モデルM1の向きを変更する操作は必須ではない。寸法配置面P1と画面の向きを一致させなくても、例えば3次元モデルM1を回転させながら個々の要素を選択することで、2つの対象要素を選択することができる。
以下、稜線R2,R4,R6,R8の長さに相当する寸法L1を作成する場合と、稜線R1,R3の長さに相当する寸法L2を作成する場合と、の2つの場合を例にとって説明する。
寸法L1を作成する場合、要素選択部120は、作業者の操作に従って、寸法L1の両端に存在する頂点、稜線又は面のうちから1つずつ対象要素を選択する。例えば、要素選択部120は、対象要素として、図7において太線で示した稜線R1,R3を選択する。或いは、要素選択部120は、対象要素として、例えば図8において太丸で示す頂点V1,V3を選択する。
寸法L2を作成する場合、要素選択部120は、作業者の操作に従って、寸法L2の両端に存在する頂点、稜線又は面のうちから1つずつ対象要素を選択する。例えば、要素選択部120は、対象要素として、図9において太線で示した稜線R2,R4を選択する。或いは、要素選択部120は、対象要素として、例えば図8において太丸で示す頂点V1,V3を選択する。
図4に戻って、方向指定部130は、作成対象の寸法の方向を指定する。作業者は、操作受付部13を操作して、X軸方向、Y軸方向又はZ軸方向を含む、3次元座標系における任意の方向を指定する。例えば、寸法L1を作成する場合、寸法L1の方向はY軸方向であるため、作業者は、3次元座標系のY軸方向を指定する。或いは、寸法L2を作成する場合、寸法L2の方向はX軸方向であるため、作業者は、3次元座標系のX軸方向を指定する。
方向指定部130は、このように操作受付部13を介して作業者から受け付けた操作に従って、寸法の方向を指定する。方向指定部130は、制御部11が操作受付部13と協働することにより実現される。方向指定部130は、方向指定手段として機能する。
また、方向指定部130は、寸法の方向に加えて、寸法が配置される位置を更に指定する。作業者は、操作受付部13を操作して配置面指定部110により指定された寸法配置面P1上の所望の位置をクリックすることにより、寸法が配置される位置として指定する。方向指定部130は、このように操作受付部13を介して作業者から受け付けられた操作に従って、寸法作成装置10により作成される寸法が配置される位置を指定する。
寸法作成部140は、要素選択部120により選択された2つの対象要素の間の、方向指定部130により指定された方向における寸法を作成する。具体的に説明すると、寸法作成部140は、要素選択部120により第1の対象要素と第2の対象要素として頂点又は稜線が選択された場合、選択された第1の対象要素を有し、方向指定部130により指定された方向に直交する面である第1の直交面と、選択された第2の対象要素を有し、方向指定部130により指定された方向に直交する面である第2の直交面とを、3次元モデルM1が有するか否かを判定する。判定の結果、3次元モデルM1が第1の直交面と第2の直交面とをどちらも有する場合、寸法作成部140は、第1の直交面と第2の直交面との間の、方向指定部130により指定された方向における寸法を、第1の直交面と第2の直交面とに関連付けて作成する。
ここで、対象要素として頂点又は稜線が選択された場合であっても寸法を面に関連付ける理由は、通常、図面で寸法が指示された場合、その寸法が指示する対象の要素は面>稜線>頂点の順で優先して解釈されるためである。つまり、例えば、ある寸法の対象要素が面としても稜線としても解釈できる場合、その寸法の指示は面への指示として解釈される。例えば、図6における寸法L1が指示された場合、その指示は、面S5と面S6という平行な2平面の距離の指示としても、稜線R1と稜線R3の距離の指示としても、稜線R5と稜線R7の距離の指示としても解釈することができるが、面としての解釈が優先され、面S5と面S6の距離の指示として解釈される。ここで、稜線R1と稜線R3の距離及び稜線R5と稜線R7の距離は、面S5と面S6との距離と同じであり、面S5と面S6の距離が決まれば一意に定まる。
また、検査工程においては、上記の解釈に則り、面S5と面S6の距離を計測する。特別な指示がない限り、「稜線R1と稜線R3の距離」および「稜線R5と稜線R7の距離」をそれぞれ計測するようなことはない。そのため、例えば寸法L1を作成する際に対象要素として稜線R1と稜線R3が選択された場合であっても、設計者が指示することが求められる要素は面S5と面S6の距離であって、検査工程で寸法L1の計測対象となることが求められる要素は面S5と面S6である。仮に、指示された寸法に関連付けられる要素が対象要素として選択された稜線R1,R3のままで面S5,S6が関連付けられなかった場合、CATでソフトウェアによって寸法の情報を読み取って測定プログラムを作成すると、本来測定したい面S5,S6が測定されない。そのため、稜線R1,R3が選択された場合でも面S5,S6を関連付ける。
以上のように、対象要素として頂点又は稜線が選択された場合であっても、作成される寸法の対象要素として面が割り当て可能であるならば、その面を対象要素として決定することが求められる。そのため、寸法作成部140は、選択された頂点又は稜線を有し、且つ、寸法の方向に対して直交する面が存在する場合には、選択された頂点又は稜線ではなく、面に寸法を関連付ける。
より詳細には、寸法作成部140は、関連付け要素に関連付けられた寸法を作成するために、関連付け要素決定部141による処理と、関連付け部142による処理と、を実行する。
関連付け要素決定部141は、要素選択部120により選択された2つの対象要素と、方向指定部130により指定された方向と、に基づいて、2つの関連付け要素を決定する。ここで、関連付け要素とは、3次元モデルM1の構成要素のうちの、作成対象の寸法に関連付けられる要素である。関連付け要素決定部141は、3次元モデルM1の構成要素である複数の面、複数の稜線及び複数の頂点のうちから、作成対象の寸法を定めるために適した構成要素を関連付け要素として決定する。関連付け要素決定部141は、関連付け要素決定手段として機能する。
(1)第1に、要素選択部120により2つの対象要素として稜線が選択された場合について説明する。
要素選択部120により第1の対象要素として稜線が選択された場合、関連付け要素決定部141は、要素選択部120により選択された稜線を有し、且つ、方向指定部130により指定された方向に直交する面である第1の直交面を、3次元モデルM1が有するか否かを判定する。同様に、要素選択部120により第2の対象要素として稜線が選択された場合、関連付け要素決定部141は、要素選択部120により選択された稜線を有し、且つ、方向指定部130により指定された方向に直交する面である第2の直交面を、3次元モデルM1が有するか否かを判定する。
一例として、図7に示したように寸法L1を作成する場合において、第1の対象要素として稜線R1が選択され、且つ、第2の対象要素として稜線R3が選択された場合に着目する。この場合、3次元モデルの6個の面S1~S6の中で稜線R1を有する面は、図10において色を付した面S1と面S5である。そして、面S1と面S5のうち、寸法L1の方向であるY軸方向に直交する面は、面S5である。そのため、関連付け要素決定部141は、3次元モデルM1が第1の直交面として面S5を有すると判定する。
また、3次元モデルの6個の面S1~S6の中で稜線R3を有する面は、面S1と、図10において斜線を付した面S6である。そして、面S1と面S6のうち、寸法L1の方向であるY軸方向に直交する面は、面S6である。そのため、関連付け要素決定部141は、3次元モデルM1が第2の直交面として面S6を有すると判定する。
判定の結果、3次元モデルM1が第1の直交面として面S5を有すると判定した場合、関連付け要素決定部141は、面S5を第1の関連付け要素として決定する。同様に、3次元モデルM1が第2の直交面として面S6を有すると判定した場合、関連付け要素決定部141は、面S6を第2の関連付け要素として決定する。結果として、関連付け要素決定部141は、図11において色を付した面S5と面S6とを、それぞれ第1、第2の関連付け要素として決定する。
これに対して、要素選択部120により選択された稜線を有する面の中に、寸法の方向に対して直交する面が存在しない場合は、作成対象の寸法を定めるのに適した面が存在しないことを意味する。言い換えると、寸法の方向に対して直交する面が存在しない場合は、その寸法は、面に指示された距離としては解釈できない。そのため、3次元モデルM1が第1の直交面を有しない場合、関連付け要素決定部141は、要素選択部120により選択された第1の対象要素である稜線を、第1の関連付け要素として決定する。同様に、3次元モデルM1が第2の直交面を有しない場合、関連付け要素決定部141は、要素選択部120により選択された第2の対象要素である稜線を、第2の関連付け要素として決定する。
一例として、図9に示したように寸法L2を作成する場合において、第1の対象要素として稜線R2が選択され、第2の対象要素として稜線R4が選択された場合に着目する。この場合、3次元モデルの6個の面S1~S6の中で稜線R2を有する面は、図12において色を付した面S1と面S4である。そして、面S1と面S4のうち、寸法L2の方向であるX軸方向に直交する面は、面S4である。そのため、関連付け要素決定部141は、3次元モデルM1が第1の直交面として面S4を有すると判定し、面S4を第1の関連付け要素として決定する。
一方で、3次元モデルの6個の面S1~S6の中で稜線R4を有する面は、面S1と、図12において斜線を付した面S2である。そして、面S1と面S2とは、いずれも寸法L2の方向であるX軸方向とは直交しない。そのため、関連付け要素決定部141は、3次元モデルM1が第2の直交面を有しないと判定する。
3次元モデルM1が第2の直交面を有しないと判定した場合、関連付け要素決定部141は、第2の関連付け要素として、面ではなく、第2の対象要素として選択された稜線R4を決定する。結果として、関連付け要素決定部141は、図13において色を付した面S4と、太い実線で示した稜線R4とを、それぞれ第1、第2の関連付け要素として決定する。
(2)第2に、要素選択部120により2つの対象要素として頂点が選択された場合について説明する。
要素選択部120により第1の対象要素として頂点が選択された場合、関連付け要素決定部141は、要素選択部120により選択された頂点を有し、且つ、方向指定部130により指定された方向に直交する稜線である第1の直交稜線を、3次元モデルM1が有する否かを判定する。同様に、要素選択部120により第2の対象要素として頂点が選択された場合、関連付け要素決定部141は、要素選択部120により選択された頂点を有し、且つ、方向指定部130により指定された方向に直交する稜線である第2の直交稜線を、3次元モデルM1が有する否かを判定する。
具体的に、図8に示したように、寸法L2を作成する場合において、第1の対象要素として頂点V1が選択され、且つ、第2の対象要素として頂点V3が選択された場合に着目する。この場合、3次元モデルの12個の稜線R1~R12の中で頂点V1を有する稜線は、図14において太い実線で示した稜線R1と稜線R2と稜線R9である。そして、稜線R1と稜線R2と稜線R9のうち、寸法L2の方向であるX軸方向に直交する稜線は、稜線R2と稜線R9である。そのため、関連付け要素決定部141は、3次元モデルM1が第1の直交稜線として稜線R2と稜線R9を有すると判定する。
また、3次元モデルの12個の稜線R1~R12の中で頂点V3を有する稜線は、図14において太い破線で示した稜線R3と稜線R4と稜線R11である。そして、稜線R3と稜線R4と稜線R11のうち、寸法L2の方向であるX軸方向に直交する稜線は、稜線R4である。そのため、関連付け要素決定部141は、3次元モデルM1が第2の直交稜線として稜線R4を有すると判定する。
3次元モデルM1が第1の直交稜線を有する場合、関連付け要素決定部141は、第1の直交稜線を有し、且つ、方向指定部130により指定された方向に直交する面である第1の直交面を、3次元モデルM1が有するか否かを更に判定する。同様に、3次元モデルM1が第2の直交稜線を有する場合、関連付け要素決定部141は、第2の直交稜線を有し、且つ、方向指定部130により指定された方向に直交する面である第2の直交面を、3次元モデルM1が有するか否かを更に判定する。
図14の例では、第1の直交稜線の1つである稜線R2を有する面の中で寸法L2の方向に直交する面は、面S4である。また、第1の直交稜線の別の1つである稜線R9を有する面の中で寸法L1の方向に直交する面も、面S4である。そのため、関連付け要素決定部141は、3次元モデルM1が第1の直交面として面S4を有すると判定する。3次元モデルM1が第1の直交面として面S4を有する場合、関連付け要素決定部141は、面S4を第1の関連付け要素として決定する。
これに対して、第2の直交稜線の1つである稜線R4を有する面は面S1,S2であるが、これらの面S1,S2の中で寸法L2の方向に直交する面は存在しない。この場合は、作成対象の寸法を定めるのに適した面が存在しないことを意味する。このように3次元モデルM1が第2の直交面を有しない場合、関連付け要素決定部141は、第2の直交稜線である稜線R4を、第2の関連付け要素として決定する。
結果として、寸法L2を作成するための対象要素として頂点V1,V3が選択された場合、関連付け要素決定部141は、図13において色を付した面S4と、太い実線で示した稜線R4とを、2つの関連付け要素として決定する。
なお、図示は省略するが、そもそも要素選択部120により選択された頂点を有する稜線の中に、寸法の方向に対して直交する稜線が存在しない場合は、作成対象の寸法を定めるのに適した稜線が存在しないことを意味する。このように3次元モデルM1が第1の直交稜線を有しない場合、関連付け要素決定部141は、要素選択部120により選択された頂点を第1の関連付け要素として決定する。同様に、3次元モデルM1が第2の直交稜線を有しない場合、関連付け要素決定部141は、要素選択部120により選択された頂点を第2の関連付け要素として決定する。
このように、関連付け要素決定部141は、要素選択部120により第1の対象要素として頂点又は稜線が選択された場合であって、且つ、第1の対象要素を有し、方向指定部130により指定された寸法の方向に直交する面を3次元モデルM1が有する場合、その面を第1の関連付け要素として決定する。同様に、関連付け要素決定部141は、要素選択部120により第2の対象要素として頂点又は稜線が選択された場合であって、且つ、第2の対象要素を有し、方向指定部130により指定された寸法の方向に直交する面を3次元モデルM1が有する場合、その面を第2の関連付け要素として決定する。更に、関連付け要素決定部141は、3次元モデルM1が第1、第2の直交面を有さない場合には、稜線又は頂点を第1、第2の関連付け要素として決定する。このように、関連付け要素決定部141は、作成対象の寸法が面、稜線及び頂点のうちのどの要素間の距離として解釈されるかに応じて、関連付け要素を自動的に決定する。
なお、要素選択部120は、頂点又は稜線に限らず、3次元モデルの複数の面のうちから第1の対象要素又は第2の対象要素を選択することも可能である。言い換えると、作業者は、第1の対象要素と第2の対象要素とのうちの少なくとも一方として、寸法の方向に直交する面を直接選択することも可能である。要素選択部120により第1の対象要素又は第2の対象要素として寸法の方向に対して直交する面が選択された場合、関連付け要素決定部141は、選択された面を、第1の関連付け要素又は第2の関連付け要素として決定する。
図4に戻って、関連付け部142は、関連付け要素決定部141により決定された第1の関連付け要素と第2の関連付け要素とに、作成対象の寸法を関連付ける。具体的に説明すると、寸法L1を作成する場合には、関連付け部142は、寸法L1を面S5,S6に関連付ける。或いは、関連付け部142は、寸法L2を作成する場合には、寸法L2を面S4と稜線R4に関連付ける。
これにより、関連付け部142は、作成対象の寸法と、その寸法に関連付けられた2つの関連付け要素と、を示す寸法情報を作成する。作成される寸法情報では、要素選択部120により選択された2つの対象要素の間の寸法が、関連付け要素決定部141により決定された2つの関連付け要素の間の寸法であると定められる。関連付け部142は、関連付け手段として機能する。
このように、寸法作成部140は、要素選択部120により選択された2つの対象要素の間の、方向指定部130により指定された方向における寸法として、関連付け要素決定部141により決定された2つの関連付け要素に関連付けられた寸法を作成する。寸法作成部140は、このように2つの関連付け要素が関連付けられた寸法を、配置面指定部110により指定された寸法配置面P1における、方向指定部130により指定された位置に作成する。寸法作成部140は、制御部11により実現される。寸法作成部140は、寸法作成手段として機能する。
図4に戻って、出力部150は、寸法作成部140により作成された寸法を示す寸法情報を、寸法作成装置10の外部に出力する。例えば、出力部150は、寸法作成部140により作成された寸法が付加された3次元モデルM1を、表示部14に表示する。このとき、出力部150は、例えば図11又は図13に示したように、作成された寸法L1又は寸法L2を、寸法L1又は寸法L2が関連付けられた2つの関連付け要素を、作業者が視認可能なように強調して表示する。
或いは、出力部150は、寸法作成部140により作成された寸法が付加された3次元モデルM1と、その寸法が関連付けられた2つの関連付け要素と、を示す出力情報を、通信部15を介して外部の装置に出力する。外部の装置は、例えば、寸法作成装置10により作成された寸法情報に基づいて、製品の加工、測定等を実行する装置である。出力部150は、制御部11が表示部14又は通信部15と協働することにより実現される。出力部150は、出力手段として機能する。
次に、図15を参照して、寸法作成装置10により実行される寸法作成処理の流れについて説明する。図15に示す寸法作成処理は、寸法作成装置10において寸法を作成する対象の3次元モデルM1が読み込まれ、3次元モデルM1が表示部14に表示された状態から開始する。
寸法作成処理を開始すると、第1に、制御部11は、配置面指定部110として機能し、寸法配置面P1を指定する(ステップS11)。具体的に説明すると、制御部11は、操作受付部13により作業者の操作を受け付け、受け付けた操作に従って、例えば図5に示したような寸法配置面P1を指定する。
第2に、制御部11は、要素選択部120として機能し、寸法を作成するための対象要素を2つ選択する(ステップS12)。具体的に説明すると、制御部11は、操作受付部13により作業者の操作を受け付け、受け付けた操作に従って、作成対象の寸法の両端に存在する頂点又は稜線を1つずつ選択する。
第3に、制御部11は、方向指定部130として機能し、寸法の方向及び位置を指定する(ステップS13)。具体的に説明すると、制御部11は、操作受付部13により作業者の操作を受け付ける。そして、制御部11は、受け付けた作業者の操作に従って、作成対象の寸法の方向として、3次元空間における任意の方向を指定し、作成対象の寸法が配置される位置として、寸法配置面P1上における任意の位置を指定する。
このように寸法配置面P1と2つの対象要素と寸法の方向及び位置とを指定又は選択すると、制御部11は、関連付け要素決定部141として機能し、ステップS12で選択された2つの対象要素のうちの第1の対象要素に対応する第1の関連付け要素を決定する(ステップS14)。ステップS14の処理の詳細は、図16に示すフローチャートを参照して説明する。
図16に示す関連付け要素決定処理を開始すると、制御部11は、第1の関連付け要素を示す変数Etを、ステップS12で選択された第1の対象要素に設定する(ステップS101)。
変数Etを設定すると、制御部11は、変数Etが頂点であるか否かを判定する(ステップS102)。言い換えると、制御部11は、ステップS12で選択された第1の対象要素が頂点であるか否かを判定する。
変数Etが頂点である場合(ステップS102;YES)、制御部11は、その頂点を有する稜線の中に、ステップS13で指定された寸法の方向に直交する稜線が存在するか否かを判定する(ステップS103)。言い換えると、制御部11は、ステップS12で選択された第1の対象要素が頂点である場合、選択された頂点を有し、且つ、指定された寸法の方向に直交する稜線である少なくとも1つの第1の直交稜線を3次元モデルM1が有するか否かを判定する。
第1の直交稜線が存在する場合(ステップS103;YES)、制御部11は、変数Etをその稜線に設定する(ステップS104)。例えば、ステップS12で選択された第1の対象要素が頂点V1である場合、頂点V1を有し、且つ、寸法の方向に直交する稜線は、稜線R1と稜線R9である。そのため、制御部11は、変数Etを稜線R1と稜線R9に設定する。
これに対して、第1の直交稜線が存在しない場合(ステップS103;NO)、制御部11は、図16に示す関連付け要素決定処理を終了する。この場合、第1の関連付け要素を示す変数Etは、ステップS12で選択された頂点に設定されている。そのため、制御部11は、第1の関連付け要素を、ステップS12で選択された頂点に決定する。
一方で、ステップS12で選択された第1の対象要素が頂点でない、すなわち第1の対象要素が稜線又は面である場合、制御部11は、ステップS102で変数Etが頂点でないと判定する(ステップS102;NO)。この場合、制御部11は、ステップS103,S104の処理をスキップする。
ステップS104で変数Etを稜線に設定した場合、又は、ステップS102で変数Etが頂点でないと判定した場合、制御部11は、処理をステップS105に進める。ステップS105において、制御部11は、変数Etが稜線であるか否かを判定する(ステップS105)。変数Etが稜線である場合は、ステップS12で稜線が選択された場合か、又は、ステップS12で頂点が選択され、且つ、その頂点を有する稜線の中に寸法の方向に直交する稜線が存在する場合に相当する。
変数Etが稜線である場合(ステップS105;YES)、制御部11は、その稜線を有する面の中に、ステップS13で指定された寸法の方向に直交する面が存在するか否かを判定する(ステップS106)。言い換えると、制御部11は、ステップS12で選択された第1の対象要素が稜線である場合、又は、ステップS104で変数Etに稜線が設定された場合、その稜線を有し、且つ、指定された方向に直交する面である第1の直交面を3次元モデルM1が有するか否かを判定する。
第1の直交面が存在する場合(ステップS106;YES)、制御部11は、変数Etをその面に設定する(ステップS107)。例えば、ステップS12で選択された第1の対象要素が稜線R1である場合、稜線R1を有し、且つ、寸法の方向に直交する面は、面S5である。そのため、制御部11は、変数Etを面S5に設定する。
或いは、ステップS12で選択された第1の対象要素が頂点V1であり、且つ、ステップS104で変数Etが稜線R2と稜線R9に設定された場合、稜線R2を有し、且つ、寸法の方向に直交する面と、稜線R9を有し、且つ、寸法の方向に直交する面とは、いずれも面S5である。そのため、制御部11は、変数Etを面S5に設定する。
これに対して、第1の直交面が存在しない場合(ステップS106;NO)、制御部11は、図16に示す関連付け要素決定処理を終了する。この場合、第1の関連付け要素を示す変数Etは、ステップS12で選択された、又はステップS104で設定された稜線に設定されている。そのため、制御部11は、第1の関連付け要素を、その稜線に決定する。
一方で、ステップS12で選択された第1の対象要素が頂点であり、且つ、その頂点を有する稜線の中に、寸法の方向に直交する稜線が存在しない場合、制御部11は、ステップS105で変数Etが稜線でないと判定する(ステップS105;NO)。或いは、ステップS12で選択された第1の対象要素が頂点でも稜線でも無い場合、すなわち第1の対象要素が面である場合にも、制御部11は、ステップS105で変数Etが稜線でないと判定する。これらの場合、制御部11は、ステップS106,S107の処理をスキップする。以上により、ステップS14における関連付け要素決定処理は終了する。
図15に戻って、第1の対象要素に対応する第1の関連付け要素を決定すると、制御部11は、ステップS12で選択された2つの対象要素のうちの第2の対象要素に対応する第2の関連付け要素を決定する(ステップS15)。ステップS15の処理は、図16を参照して説明したステップS14の処理と同様である。より詳細には、ステップS14の処理の説明において、「第1の対象要素」、「第1の関連付け要素」、「第1の直交面」及び「第1の直交稜線」をそれぞれ「第2の対象要素」、「第2の関連付け要素」、「第2の直交面」及び「第2の直交稜線」に置き換えることで、同様に説明することができる。
このようにして2つの対象要素に対応する2つの関連付け要素を決定すると、制御部11は、関連付け部142として機能し、寸法を作成する(ステップS16)。具体的に説明すると、制御部11は、ステップS14,S15で決定された2つの関連付け要素の間の、ステップS13で指定された方向における寸法を、これら2つの関連付け要素に関連付ける。これにより、制御部11は、作成対象の寸法と、その寸法に関連付けられた2つの関連付け要素と、を示す寸法情報を作成する。
寸法を作成すると、制御部11は、出力部150として機能し、作成した寸法を出力する(ステップS17)。具体的に説明すると、制御部11は、寸法が作成された3次元モデルM1を表示部14に表示する。或いは、制御部11は、寸法が作成された3次元モデルM1と、その寸法に関連付けられた2つの関連付け要素と、を示す出力情報を生成し、通信部15を介して外部の装置に出力する。以上により、図15に示した寸法作成処理は終了する。
以上説明したように、実施の形態1に係る寸法作成装置10は、3次元モデルM1の構成要素のうちから第1の対象要素及び第2の対象要素を選択し、作成対象の寸法の方向を指定する。そして、実施の形態1に係る寸法作成装置10は、第1の対象要素と第2の対象要素として頂点又は稜線が選択された場合であって、且つ、第1の対象要素を有し、寸法の方向に直交する第1の直交面と、第2の対象要素を有し、寸法の方向に直交する第2の直交面と、を3次元モデルM1が有する場合、第1の直交面と第2の直交面との間の、指定された方向における寸法を、第1の直交面と第2の直交面とに関連付けて作成する。
このように、作業者が頂点又は稜線を選択しても、寸法に関連付けられるのに適した面が存在する場合には、寸法をその面に関連付けて作成するため、寸法に関連付けるべき要素を作業者が判断する必要がない。そのため、3次元モデルM1の要素に正しく関連付けられた寸法を作成する作業を効率化することができる。その結果、実施の形態1に係る寸法作成装置10は、CAM、CAT等のソフトウェアにより正確に読み取り可能な寸法を作成することができ、3次元モデルを用いた設計の作業効率を高めることにつながる。
また、作業者が頂点又は稜線を選択しても面と関連付いた寸法を作成することができるため、作成対象の寸法の両端に存在する2つの面を直接選択する必要がない。そのため、画面の手前に表示されていない面を表示させるために3次元モデルM1を回転させる操作を減らすことができる。その結果、2次元モデルの要素を選択する場合と同様の操作感によって3次元モデルの要素を選択することができ、作業者の作業効率を高めることができる。
(実施の形態2)
次に、実施の形態2について説明する。実施の形態1と同様の構成及び機能については、適宜説明を省略する。
実施の形態2に係る寸法作成装置10は、実施の形態1において説明した配置面指定部110、要素選択部120、方向指定部130、寸法作成部140及び出力部150の機能を有する。実施の形態2における寸法作成部140は、実施の形態1において説明した機能に加えて、関連付け要素決定部141により決定された2つの関連付け要素以外に、作成対象の寸法と同じ寸法となる他の要素を3次元モデルが有するか否かを判定する機能を有する。
図17に、実施の形態2に係る寸法作成装置10の機能を説明するための3次元モデルM2を示す。3次元モデルM2は、実施の形態1で説明した3次元モデルM1における面S5の側の一部が欠けた形状をしている。より詳細には、3次元モデルM1における面S5は、3次元モデルM2では、同一の平面上に存在する面S25と面S27とに分かれている。なお、煩雑さを避けるため、図17及び以降の図では、3次元モデルM2が有する面、稜線及び頂点の一部には符号を付していない。
実施の形態2において、関連付け要素決定部141は、第1の関連付け要素と第2の関連付け要素とのうちの少なくとも一方を含み、且つ、方向指定部130により指定された寸法の方向に直交する仮想的な平面上に、第1の関連付け要素及び第2の関連付け要素とは異なる少なくとも1つの他の要素を3次元モデルM2が有するか否かを判定する。判定の結果、当該少なくとも1つの他の要素を3次元モデルM2が有する場合、関連付け部142は、作成対象の寸法を、第1の関連付け要素と第2の関連付け要素とに加えて、当該少なくとも1つの他の要素に更に関連付ける。
一例として、図18に示すように、3次元モデルM2の稜線R22,R24,R28の長さに相当する寸法L3を作成する場合において、要素選択部120により2つの対象要素として頂点V21,V23が選択された場合について説明する。なお、図18では、配置面指定部110により指定された寸法配置面P2を一点鎖線で示している。
要素選択部120により第1の対象要素として頂点V21が選択された場合、関連付け要素決定部141は、頂点V21を有し、且つ、寸法L3の方向に直交する稜線R21を、第1の直交稜線として決定する。そして、関連付け要素決定部141は、第1の直交稜線である稜線R21を有し、且つ、寸法L3の方向に直交する面S25を、第1の直交面として決定する。
同様に、要素選択部120により第2の対象要素として頂点V23が選択された場合、関連付け要素決定部141は、頂点V23を有し、且つ、寸法L3の方向に直交する稜線R23,R31を、第2の直交稜線として決定する。そして、関連付け要素決定部141は、第2の直交稜線である稜線R23,R31を有し、且つ、寸法L3の方向に直交する面S26を、第2の直交面として決定する。
結果として、関連付け要素決定部141は、図19において色を付した面S25,面S26をそれぞれ第1、第2の関連付け要素として決定する。関連付け部142は、作成対象の寸法L3を、関連付け要素決定部141により決定された第1、第2の関連付け要素である面S25,S26に関連付ける。
実施の形態2において、このように第1、第2の関連付け要素として面S25,S26を決定すると、関連付け要素決定部141は、更に、面S25,S26のうちの少なくとも一方を含み、且つ、寸法L3の方向に直交する仮想的な平面上に、面S25,S26とは異なる少なくとも1つの他の面を3次元モデルM2が有するか否かを判定する。言い換えると、関連付け要素決定部141は、面S25,S26のうちの少なくとも一方と同一の平面上に、面S25,S26とは異なる少なくとも1つの他の面が存在するか否かを判定する。3次元モデルM2が面S25,S26とは異なる少なくとも1つの他の面を同一の平面上に有する場合、関連付け要素決定部141は、当該少なくとも1つの他の面を、追加の関連付け要素として決定する。
具体的には、3次元モデルM2は、第1の直交面である面S25と同一の平面上の他の面として、図20において色を付した面S27を有する。面S25と面S27とは同一の平面上に存在するため、面S27と面S26との間の寸法は、面S25と面S26との間の寸法と同じく寸法L3である。そのため、関連付け要素決定部141は、面S27を、追加の関連付け要素として決定する。
一方で、3次元モデルM2は、第2の直交面である面S26と同一の平面上には他の面、稜線及び頂点を有しない。そのため、関連付け要素決定部141は、面S26と同一の平面上には追加の関連付け要素は存在しないと判定する。
関連付け部142は、関連付け要素決定部141により面S27が追加の関連付け要素として決定された場合、作成対象の寸法L3を、面S25,S26に加えて、面S27に更に関連付ける。寸法作成部140は、このように3つの面S25,S26,S27に関連付けられた寸法を作成する。言い換えると、寸法作成部140は、寸法L3を、面S25,S26の間と面S26,S27の間との両方の寸法として作成する。これにより、3次元モデルM2がCAM、CAT等のソフトウェアで読み取られる際に、寸法L3から面S25と面S26だけでなく、面S27も対象の要素として得ることができる。例えば、CATにおいて寸法L3が選択された場合、その測定対象の面として面S25,S26だけでなく、面S27を設定することができる。また、面から寸法の情報を得る場合にも、面S25,S26からだけでなく、面S27からも寸法L3の情報を得ることができる。
次に、図21を参照して、実施の形態2に係る寸法作成装置10により実行される寸法作成処理の流れについて説明する。図21に示す寸法作成処理におけるステップS21~S25の処理は、実施の形態1において図15に示した寸法作成処理のステップS11~S15の処理と同様である。そのため、説明を省略する。
制御部11は、ステップS21~S25の処理を実行することにより、作成対象の寸法に関連付けられる第1、第2の関連付け要素を決定する。第1、第2の関連付け要素を決定すると、制御部11は、第1の関連付け要素と第2の関連付け要素とのうちの少なくとも一方を含み、且つ、寸法の方向に直交する仮想的な平面上に、第1の関連付け要素と第2の関連付け要素とは異なる少なくとも1つの他の要素が、3次元モデルM2の構成要素として存在するか否かを判定する(ステップS26)。
少なくとも1つの他の要素が存在する場合(ステップS26;YES)、制御部11は、当該少なくとも1つの他の要素を、作成対象の寸法に関連付けられる追加の関連付け要素として決定する(ステップS27)。これに対して、他の要素が存在しない場合(ステップS26;NO)、制御部11は、ステップS27の処理をスキップする。
このようにして関連付け要素を決定すると、制御部11は、ステップS24,S25,S27で決定された少なくとも2つの関連付け要素に関連付けて、寸法を作成する(ステップS28)。具体的に説明すると、制御部11は、ステップS27で追加の関連付け要素が決定された場合、当該追加の関連付け要素とステップS25,26で決定された2つの関連付け要素とに関連付けて寸法を作成する。一方で、ステップS27で追加の関連付け要素が決定されなかった場合、制御部11は、ステップS25,26で決定された2つの関連付け要素に関連付けて寸法を作成する。
寸法を作成すると、制御部11は、作成した寸法を出力する(ステップS29)。ステップS29の処理は、実施の形態1におけるステップS17の処理と同様である。以上により、図21に示した寸法作成処理は終了する。
以上説明したように、実施の形態2に係る寸法作成装置10は、第1の関連付け要素と第2の関連付け要素とのうちの少なくとも一方を含み、且つ、寸法の方向に直交する仮想的な平面上に、少なくとも1つの他の要素を3次元モデルM2が有する場合、第1の関連付け要素と第2の関連付け要素とに加えて、当該少なくとも1つの他の要素に更に関連付けて寸法を作成する。このように、作成対象の寸法と同じ寸法となる他の要素を自動的に検出して寸法に関連付けるため、複数の要素に寸法を作成する作業の手間を減らすことができる。その結果、作業者が寸法に関連付ける要素を追加する作業を効率化することができる。
なお、実施の形態2では、第1の関連付け要素と第2の関連付け要素とが共に面である場合について説明した。しかしながら、第1の関連付け要素又は第2の関連付け要素が面ではなく頂点又は稜線である場合も、同様に説明することができる。具体的に説明すると、関連付け要素決定部141は、第1の関連付け要素又は第2の関連付け要素が頂点又は稜線である場合、その頂点又は稜線を含み、且つ、寸法の方向に直交する仮想的な平面上に少なくとも1つの他の要素を3次元モデルM2が有しているか否かを判定する。3次元モデルM2が少なくとも1つの他の要素を有している場合、関連付け部142は、作成対象の寸法を、第1の関連付け要素と第2の関連付け要素とに加えて、当該少なくとも1つの他の要素に更に関連付ける。
また、少なくとも1つの他の要素は、面に限らず、頂点又は稜線であっても良い。具体的に説明すると、3次元モデルM2が少なくとも1つの他の要素として面を有さないが稜線を有する場合、関連付け要素決定部141は、当該稜線を追加の関連付け要素として決定する。更に、3次元モデルM2が少なくとも1つの他の要素として面も稜線も有さないが頂点を有する場合、関連付け要素決定部141は、当該頂点を追加の関連付け要素として決定する。これにより、作成対象の寸法と同じ寸法となる他の要素が頂点又は稜線である場合であっても、作業者が寸法を作成する手間を減らすことができる。
(実施の形態3)
次に、実施の形態3について説明する。実施の形態1,2と同様の構成及び機能については、適宜説明を省略する。
上記実施の形態1,2では、対象要素として稜線が選択される場合、その稜線は直線の稜線であった。これに対して、実施の形態3では、3次元モデルの構成要素に円の稜線が含まれる場合において、対象要素として円の稜線が選択された場合について説明する。なお、円は、真円であることに限らず、楕円のように真円から多少ずれた形状であっても良い。
図22に、実施の形態3における3次元モデルМ3を示す。また、図23に、+Z軸方向から見た場合における3次元モデルM3の形状を2次元平面上に示す。図22及び図23に示すように、3次元モデルМ3は、実施の形態1で説明した3次元モデルM1と同様に、6個の面S1~S6と、12個の稜線R1~R12と、8個の頂点V1~V8と、を構成要素として有する。これに加えて、3次元モデルМ3には、Z軸方向に延びる2個の円筒状の貫通孔が設けられている。3次元モデルМ3は、2個の貫通孔の表面である2個の円筒面S10,S11を有する。
以下では、3次元モデルМ3に寸法L4を作成する場合を例にとって説明する。寸法L4は、面S4と、円筒面S10の円筒軸A1と、の間の距離に相当する。なお、円筒面S10,S11と区別するために、以下では面S4を平面S4と呼ぶ。
要素選択部120は、作業者の操作に従って、寸法L4を作成するための2つの対象要素を選択する。具体的に説明すると、要素選択部120は、第1の対象要素として稜線R2を選択し、第2の対象要素として稜線R13を選択する。ここで、稜線R2は、平面S4が有する直線の稜線である。一方で、稜線R13は、円筒面S10が有する円の稜線である。作業者は、操作受付部13を操作して、3次元モデルM3の構成要素のうちから、寸法4を作成するための2つの対象要素として稜線R2,R13を選択する。
方向指定部130は、作業者の操作に従って、寸法L4の方向としてX軸方向を指定する。また、方向指定部130は、作業者の操作に従って、寸法L4が配置される位置として寸法配置面P1上の位置を指定する。
第1の対象要素として直線の稜線R2が選択された場合、関連付け要素決定部141は、実施の形態1と同様の判定処理を実行することにより、第1の関連付け要素を決定する。
具体的に説明すると、関連付け要素決定部141は、要素選択部120により選択された稜線R2を有し、且つ、方向指定部130により指定された方向に直交する第1の直交面を、3次元モデルM3が有するか否かを判定する。3次元モデルM3は第1の直交面として平面S4を有するため、関連付け要素決定部141は、平面S4を、第1の関連付け要素として決定する。
これに対して、第2の対象要素として円の稜線R13が選択された場合、関連付け要素決定部141は、その円の稜線R13と、方向指定部130により指定された方向に直交する円筒軸と、を有する円筒面である第2の直交円筒面を3次元モデルM3が有するか否かを判定する。
3次元モデルM3において、円の稜線R13は、円筒面S10が有する2つの円の稜線のうちの1つである。また、円筒面S10の円筒軸A1は、Z軸方向に延びているため、寸法L4の方向であるX軸方向に直交する。そのため、関連付け要素決定部141は、3次元モデルM3が第2の直交円筒面として円筒面S10を有すると判定する。このように、第2の対象要素として円の稜線R13が選択された場合であって、且つ、3次元モデルM3が第2の直交円筒面を有する場合、関連付け要素決定部141は、その第2の直交円筒面である円筒面S10を、第2の関連付け要素として決定する。
関連付け要素決定部141により第1及び第2の関連付け要素が決定されると、関連付け部142は、関連付け要素決定部141により決定された第1の関連付け要素である平面S4と第2の関連付け要素である円筒面S10とに、作成対象の寸法L4を関連付ける。これにより、寸法作成部140は、平面S4と円筒面S10とに関連付けられた寸法L4を作成する。出力部150は、寸法作成部140により作成された寸法L4を示す寸法情報を、寸法作成装置10の外部に出力する。関連付け部142及び出力部150の処理は、実施の形態1と同様であるため、詳細な説明を省略する。
一方で、図示は省略するが、要素選択部120により第2の対象要素として円の稜線が選択された場合であって、且つ、3次元モデルM3が第2の直交円筒面を有しない場合、関連付け要素決定部141は、第2の対象要素として選択された円の稜線を第2の関連付け要素として決定する。言い換えると、3次元モデルM3が有する円筒面の中に、第2の対象要素として選択された円の稜線と、方向指定部130により指定された方向に直交する円筒軸と、を有する円筒面が存在しない場合、作成対象の寸法を定めるのに適した面が存在しないことを意味する。そのため、この場合、関連付け要素決定部141は、第2の関連付け要素として、要素選択部120により選択された第2の対象要素である円の稜線を決定する。
なお、以上の実施の形態3では、第2の対象要素として円の稜線R13が選択された場合について説明したが、第1の対象要素として円の稜線が選択された場合も同様である。すなわち、第1の対象要素と第2の対象要素とで処理の違いはないため、上述した説明において第2の対象要素、第2の直交円筒面及び第2の関連付け要素を、それぞれ第1の対象要素、第1の直交円筒面及び第1の関連付け要素と置き換えることで同様に説明できる。
以上のように、実施の形態3に係る寸法作成装置10は、対象要素として円の稜線が選択された場合であって、且つ、その円の稜線と、作成対象の寸法の方向に直交する円筒軸と、を有する円筒面を3次元モデルが有する場合、作成対象の寸法を、その円筒面に関連付けて作成する。このように、実施の形態3に係る寸法作成装置10は、対象要素として円の稜線が選択された場合であっても、寸法に関連付けられるのに適した円筒面が存在する場合には、寸法をその面に関連付けて作成する。そのため、寸法に関連付けるべき要素を作業者が判断する必要がない。その結果、3次元モデルの要素に正しく関連付けられた寸法を作成する作業を効率化することができる。
また、対象要素として円の稜線が選択された場合であっても、円筒面と関連付けられた寸法を作成することができるため、作業者が円筒面を直接選択する必要がない。そのため、画面の手前に表示されていない円筒面を表示させるために、作業者が3次元モデルを回転させる操作を減らすことができる。その結果、2次元モデルの要素を選択する場合と同様の操作感によって3次元モデルの要素を選択することができ、作業者の作業効率を高めることができる。
更に、実施の形態3において、寸法作成部140は、第1の関連付け要素と第2の関連付け要素とのうちの少なくとも一方が円筒面である場合であって、且つ、その円筒面の円筒軸を含み、方向指定部130により指定された方向に直交する仮想的な平面上に、第1の関連付け要素及び第2の関連付け要素とは異なる少なくとも1つの他の円筒面の円筒軸が含まれる場合、第1の関連付け要素と第2の関連付け要素とに加えて、少なくとも1つの他の円筒面に更に関連付けて寸法を作成する。
具体的に説明すると、関連付け要素決定部141は、第1の関連付け要素と第2の関連付け要素とのうちの少なくとも一方が円筒面である場合、その円筒面の円筒軸を含み、且つ、方向指定部130により指定された寸法の方向に直交する仮想的な平面上に、第1の関連付け要素及び第2の関連付け要素とは異なる少なくとも1つの他の円筒面の円筒軸が含まれるか否かを判定する。判定の結果、仮想的な平面上に少なくとも1つの他の円筒面の円筒軸が含まれる場合、関連付け部142は、作成対象の寸法を、第1の関連付け要素と第2の関連付け要素とに加えて、当該少なくとも1つの他の円筒面に更に関連付ける。
一例として、寸法L4を作成する場合において、上記と同様に、要素選択部120により第1の関連付け要素として平面S4が選択され、第2の関連付け要素として円筒面S10が選択された場合について説明する。この場合、第2の関連付け要素である円筒面S10の円筒軸A1を含み、且つ、寸法L4の方向であるX軸方向に直交する仮想的な平面上には、円筒面S11の円筒軸A2が含まれる。そのため、関連付け要素決定部141は、円筒面S11を、追加の関連付け要素として決定する。
関連付け部142は、関連付け要素決定部141により円筒面S11が追加の関連付け要素として決定された場合、作成対象の寸法L4を、平面S4と円筒面S10とに加えて、円筒面S11に更に関連付ける。寸法作成部140は、このように平面S4と円筒面S10,S11に関連付けられた寸法L4を作成する。
以上のように、実施の形態3に係る寸法作成装置10は、第1又は第2の関連付け要素が円筒面である場合であって、且つ、その円筒面の円筒軸を含み、作成対象の寸法の方向に直交する仮想的な平面上に、他の円筒面の円筒軸が含まれる場合、当該他の円筒面に更に関連付けて寸法を作成する。このように、作成対象の寸法と同じ寸法となる他の要素を自動的に検出して寸法に関連付けるため、複数の要素に寸法を作成する作業の手間を減らすことができる。その結果、作業者が寸法に関連付ける要素を追加する作業を効率化することができる。
(実施の形態4)
次に、実施の形態4について説明する。実施の形態1~3と同様の構成及び機能については、適宜説明を省略する。
上記実施の形態1~3では、要素選択部120は、寸法を作成するための第1及び第2の対象要素を、作業者の操作に従って、3次元モデルの構成要素である面、稜線及び頂点のうちから選択した。また、方向指定部130は、作業者の操作に従って、寸法の方向として、3次元座標系における任意の方向を指定した。これに対して、実施の形態4では、3次元モデルを2次元平面上に表した2次元図面が存在する場合において、要素選択部120は、2次元図面に基づいて第1及び第2の対象要素を選択し、方向指定部130は、2次元図面に基づいて寸法の方向を指定する。
図24に、実施の形態4に係る寸法作成装置10aの機能的な構成を示す。実施の形態4に係る寸法作成装置10aは、機能的に、配置面指定部110と、要素選択部120と、方向指定部130と、寸法作成部140と、出力部150と、2次元図面作成部160と、を備える。これらの各機能は、ソフトウェア、ファームウェア、又は、ソフトウェアとファームウェアとの組み合わせによって実現される。ソフトウェア及びファームウェアは、プログラムとして記述され、ROM又は記憶部12に格納される。そして、CPUが、ROM又は記憶部12に記憶されたプログラムを実行することによって、これらの各機能を実現する。
2次元図面作成部160は、3次元モデルから、その3次元モデルに対応する2次元図面を作成する。2次元図面は、3次元CAD機能を用いて3次元モデルを2次元平面上に投影することにより、3次元モデルを2次元平面上に表した図面である。
一例として、図25に、図2に示した3次元モデルM1から作成された2次元図面D1を示す。2次元図面D1は、3次元モデルM1を、2次元平面上に投影することにより作成される。具体的に説明すると、2次元図面D1は、3次元モデルM1を、3次元座標系の+Y軸方向を上方向にした状態で、且つ、+Z軸方向に投影することにより得られる投影図Q1を含んでいる。
投影図Q1は、3次元モデルM1を+Z軸方向から、すなわち面S1,S2の側から見たときの形状を示す図である。投影図Q1は、3次元モデルM1の構成要素のうちの、+Z軸方向から見ることが可能な稜線R1~R4,R8,R11,R12及び頂点V1~V4,V7,V8に対応する構成要素を有する。例えば、投影図Q1の稜線TR1,TR3は、3次元モデルM1の稜線R1,R3に対応する構成要素である。また、投影図Q1の頂点TV1,TV3は、3次元モデルM1の頂点V1,V3に対応する構成要素である。
2次元図面D1は、投影図Q1に加えて、2つの寸法TL1,TL2の情報を含んでいる。寸法TL1,TL2は、2次元図面D1が表された2次元座標系における寸法である。具体的に、寸法TL1は、稜線TR1と稜線TR3との間の上下方向における寸法である。また、寸法TL2は、頂点TV1と頂点TV3との間の左右方向における寸法である。
次に、図26を参照して、2次元図面作成部160により実行される2次元図面の作成処理について説明する。図26に示す処理は、作業者から操作受付部13を介して3次元モデルから2次元図面を作成する指示を受け付けると、開始する。
2次元図面の作成処理を開始すると、2次元図面作成部160は、作業者の操作に従って、3次元モデルの投影方向を指定する(ステップS41)。例えば、図2に示した3次元モデルM1から図25に示した2次元図面D1を作成する場合、作業者は、操作受付部13を操作して、投影方向として+Z軸方向を指定する。別の例として、3次元モデルの正面を投影した2次元図面を作成する場合、作業者は、操作受付部13を操作して、投影方向として当該正面に垂直な方向を指定する。また、3次元モデルの側面を投影した2次元図面を作成する場合には、作業者は、操作受付部13を操作して、投影方向として当該側面に垂直な方向を指定する。
次に、2次元図面作成部160は、作業者の操作に従って、3次元モデルの投影位置を指定する(ステップS42)。作業者は、操作受付部13を操作して、3次元モデルが投影される2次元平面上の領域のうちから、2次元図面を作成する任意の位置を指定する。
投影方向及び投影位置を指定すると、2次元図面作成部160は、3次元モデルを、指定された投影方向及び投影位置に投影する(ステップS43)。例えば、図2に示した3次元モデルM1を+Z軸方向に投影した場合、図25に示したように、2次元平面上に3次元モデルM1の形状が投影された投影図Q1が作成される。
投影図を作成すると、2次元図面作成部160は、作業者の操作に従って、2次元図面において寸法を作成するための対象要素を選択し、方向を指定する(ステップS44)。例えば、寸法TL1を作成する場合、作業者は、操作受付部13を操作して、投影図Q1の構成要素である稜線及び頂点のうちから、対象要素として稜線TR1と稜線TR3とを選択し、寸法の方向として上下方向を指定する。また、寸法TL2を作成する場合、作業者は、操作受付部13を操作して、投影図Q1の構成要素である稜線及び頂点のうちから、対象要素として頂点TV1と頂点TV3とを選択し、寸法の方向として左右方向を指定する。
対象要素を選択して方向を指定すると、2次元図面作成部160は、作成された2次元図面に寸法を作成する(ステップS45)。例えば、対象要素として稜線TR1と稜線TR3とが指定され、寸法の方向として左右方向が指定された場合、2次元図面作成部160は、稜線TR1と稜線TR3とに関連付けて、寸法TL1を作成する。また、対象要素として頂点TV1と頂点TV3とが指定され、寸法の方向として上下方向が指定された場合、2次元図面作成部160は、頂点TV1と頂点TV3とに関連付けて、寸法TL2を作成する。
以上のような処理により、2次元図面作成部160は、3次元モデルから、その3次元モデルを2次元平面上に表した2次元図面を作成する。2次元図面作成部160は、制御部11が操作受付部13と協働することにより実現される。2次元図面作成部160は、2次元図面作成手段として機能する。
ここで、2次元図面の構成要素である稜線及び頂点は、3次元モデルの構成要素に対応付けられている。そのため、3次元モデルの形状又は寸法が変化すると、2次元図面の形状又は寸法もそれに従って変化する。例えば、3次元モデルM1の稜線R1の寸法が変化した場合、それに伴って、2次元図面D1における稜線R1に対応する稜線TR1の寸法も変化する。また、3次元モデルM1の頂点V1の位置が変化した場合、それに伴って、2次元図面D1における頂点V1に対応する稜線TV1の位置も変化する。
実施の形態4に係る寸法作成装置10aは、このように2次元図面作成部160により作成された2次元図面に基づいて、3次元モデルに寸法を作成する。上述のように2次元図面作成部160により2つの寸法TL1,TL2を含む2次元図面D1が作成された場合、寸法作成装置10aは、3次元モデルM1に対して、2つの寸法TL1,TL2のそれぞれに対応する寸法を作成する。
第1に、寸法TL1に対する処理について説明する。要素選択部120は、2次元図面D1において寸法TL1に関連付けられた稜線TR1,TR3に基づいて、3次元モデルM1の構成要素のうちから第1の対象要素と第2の対象要素を選択する。具体的に説明すると、要素選択部120は、2次元図面D1の構成要素である稜線及び頂点のうちから、寸法TL1に関連付けられた稜線TR1,TR3を特定する。稜線TR1,TR3は、寸法TL1の作成時に作業者により選択された寸法TL1の対象要素である。
稜線TR1,TR3を特定すると、要素選択部120は、3次元モデルM1の構成要素のうちから、特定した稜線TR1,TR3に対応する稜線である稜線R1,R3を特定する。そして、要素選択部120は、特定した稜線R1,R3を、第1の対象要素と第2の対象要素として選択する。
このとき、要素選択部120は、稜線R1と稜線R3とのうちのどちらを第1の対象要素と決定し、どちらを第2の対象要素と決定しても良い。例えば、原点座標に近い方の要素を第1の対象要素と決定するといったルールを設けても良い。
方向指定部130は、2次元図面D1における寸法TL1の方向に基づいて、3次元モデルM1の座標系における作成対象の寸法の方向を指定する。まず、方向指定部130は、2次元図面D1における寸法TL1の方向である上下方向を特定する。次に、方向指定部130は、2次元図面D1の作成時における3次元モデルM1の投影方向に基づいて、3次元モデルM1の座標系において寸法TL1の方向に対応する方向を算出する。
具体的に説明すると、上述したように、2次元図面D1に含まれる投影図Q1は、3次元モデルM1を+Y軸方向を上方向にした状態で+Z軸方向に投影することにより作成される。そのため、2次元図面D1における上下方向は、3次元モデルM1の座標系におけるY軸方向に対応する。
このように、方向指定部130は、2次元図面D1の作成時における3次元モデルM1の投影方向から、2次元図面D1の座標系と3次元モデルM1の座標系との間における方向の対応関係を特定する。そして、方向指定部130は、方向の対応関係に基づいて、3次元座標系において寸法TL1の方向に対応する方向がY軸方向であると算出する。方向指定部130は、このように算出したY軸方向を、3次元モデルM1に作成する寸法の方向として指定する。
要素選択部120により2つの対象要素として稜線R1,R3が選択され、方向指定部130により寸法の方向としてY軸方向が指定されると、寸法作成部140は、選択された稜線R1,R3の間の、指定されたY軸方向における寸法を作成する。寸法作成部140の処理は、実施の形態1で説明した処理と同様であるため、ここでは説明を省略する。最終的に、図11と同様に、面S5と面S6に関連付けられた寸法L1が3次元モデルM1に作成される。
第2に、寸法TL2に対する処理について説明する。要素選択部120は、2次元図面D1において寸法TL2に関連付けられた頂点TV1,TV3に基づいて、3次元モデルM1の構成要素のうちから第1の対象要素と第2の対象要素を選択する。具体的に説明すると、要素選択部120は、2次元図面D1の構成要素である稜線及び頂点のうちから、寸法TL2に関連付けられた頂点TV1,TV3を特定する。頂点TV1,TV3は、寸法TL2の作成時に作業者により選択された寸法TL2の対象要素である。
頂点TV1,TV3を特定すると、要素選択部120は、3次元モデルM1の構成要素のうちから、特定した頂点TV1,TV3に対応する頂点である頂点V1,V3を特定する。そして、要素選択部120は、特定した頂点V1,V3を、第1の対象要素と第2の対象要素として選択する。
このとき、要素選択部120は、頂点V1と頂点V3とのどちらを第1の対象要素と決定し、どちらを第2の対象要素と決定しても良い。例えば、原点座標に近い方の要素を第1の対象要素と決定するといったルールを設けても良い。
方向指定部130は、2次元図面D1における寸法TL2の方向に基づいて、3次元モデルM1の座標系における作成対象の寸法の方向を指定する。まず、方向指定部130は、2次元図面D1における寸法TL2の方向である左右方向を特定する。次に、方向指定部130は、2次元図面D1の作成時における3次元モデルM1の投影方向に基づいて、3次元モデルM1の座標系において寸法TL2の方向に対応する方向を算出する。
具体的には、2次元図面D1における寸法TL2の方向である左右方向は、3次元モデルM1の座標系におけるX軸方向に対応する。方向指定部130は、このような方向の対応関係に基づいて、3次元座標系において寸法TL2の方向に対応する方向がX軸方向であると算出する。方向指定部130は、このように算出したX軸方向を、3次元モデルM1に作成する寸法の方向として指定する。
このように、要素選択部120により2つの対象要素として頂点V1,V3が選択され、方向指定部130により寸法の方向としてX軸方向が指定されると、寸法作成部140は、選択された頂点V1,V3の間の、指定されたX軸方向における寸法を作成する。寸法作成部140の処理は、実施の形態1で説明した処理と同様であるため、ここでは説明を省略する。最終的に、図13と同様に、面S4と稜線R4に関連付けられた寸法L2が3次元モデルM1に作成される。
以上説明したように、実施の形態4に係る寸法作成装置10aは、3次元モデルを2次元平面上に表した2次元図面に基づいて、第1及び第2の対象要素を選択し、作成対象の寸法の方向を指定する。これにより、過去に作成した3次元モデルと、その3次元モデルを投影して作成した2次元図面とが存在する場合には、作業者が3次元モデルから対象要素を選択したり、方向を指定したりしなくても、3次元モデルの構成要素に正しく関連付けられた寸法を自動で作成することができる。そのため、作業効率を高めることができる。
なお、上記の説明において、2次元図面D1は、3次元モデルM1を+Z軸方向に投影することにより得られる投影図Q1を含んでいた。しかしながら、2次元図面は、3次元モデルを複数の方向に投影することにより得られる複数の投影図を含んでおり、複数の投影図のそれぞれに寸法が作成されても良い。複数の投影図のそれぞれに寸法が作成されている場合であっても、寸法作成装置10aは、全ての寸法に対して上記と同様の処理を実行することにより、2次元図面に含まれる全ての寸法に対応する寸法を3次元モデルに作成することができる。
また、上記の説明では、寸法作成装置10aは、2次元図面作成部160の機能を備えていた。しかしながら、寸法作成装置10aは、2次元図面作成部160の機能を備えていなくても良い。言い換えると、寸法作成装置10aは、3次元モデルから2次元図面を作成する機能を備えておらず、3次元CAD機能を有する他の装置により作成された2次元図面を取得し、取得した2次元図面に対して上述した処理を実行しても良い。
また、上記の説明では、2次元図面は、3次元モデルを投影して作成されたものであった。そのため、2次元図面の構成要素と3次元モデルの構成要素とは、3次元モデルの作成時に対応付けられていた。しかしながら、2次元図面は、3次元モデルを2次元平面上に表したものであれば、3次元モデルを投影して作成されたものであることに限らない。例えば、2次元図面は、特定の方向から見た場合における3次元モデルの形状を描いた印刷物、画像等であっても良い。
このように2次元図面が3次元モデルを投影して作成されたものでない場合、要素選択部120は、2次元図面の画像解析により、2次元図面から寸法を抽出し、その寸法の寸法線が接続している2次元図面上の線を特定する。そして、要素選択部120は、2次元図面と3次元モデルの形状とをマッチングさせて、抽出した2次元図面の線に対応する3次元モデルの構成要素を特定する。また、方向指定部130は、2次元図面と3次元モデルの形状とをマッチングさせて、2次元図面の座標系と3次元モデルの座標系との間の方向の対応関係を特定する。そして、方向指定部130は、2次元図面から抽出された寸法の方向に対応する3次元モデルの座標系における方向を算出する。このように、2次元図面の構成要素と3次元モデルの構成要素とが3次元モデルの作成時に対応付けられていなくても、寸法作成装置10aは、3次元モデルの構成要素に関連付けられた寸法を作成することができる。
(変形例)
以上、本開示の実施の形態を説明したが、本開示を実施するにあたっては、種々の形態による変形及び応用が可能である。
例えば、上記実施の形態では、3次元モデルM1~M3を用いて、寸法作成装置10,10aの機能を説明した。しかしながら、3次元モデルM1~M3は例であって、その他の立体形状を有する3次元モデルに対して上記実施の形態で説明した手法を用いて寸法を作成しても良い。
上記実施の形態では、関連付け要素決定部141は、方向指定部130により指定された方向に直交する面が存在するか否かを判定することにより、3次元モデルM1が第1の直交面又は第2の直交面を有するか否かを判定した。しかしながら、寸法配置面P1,P2が寸法の方向に対して平行な面が指定されている場合には、方向指定部130により指定された方向に直交することは、寸法配置面P1,P2に垂直であることにも相当する。そのため、関連付け要素決定部141は、寸法配置面P1,P2に垂直な面の有無を判定することにより、方向指定部130により指定された方向に面の有無を判定しても良い。
上記実施の形態では、寸法作成装置10,10aは操作受付部13と表示部14とを備えていた。しかしながら、寸法作成装置10,10aは、操作受付部13と表示部14とを備えていなくても良い。言い換えると、寸法作成装置10,10aは、ユーザインターフェースの機能を備えていなくても良い。この場合、寸法作成装置10,10aは、外部の入力装置を介して作業者からの操作を受け付け、外部の表示装置に表示画像を表示する。
上記実施の形態では、寸法作成装置10,10aの制御部11において、CPUがROM又は記憶部12に記憶されたプログラムを実行することによって、図4又は図24に示した各部として機能した。しかしながら、制御部11は、専用のハードウェアであってもよい。専用のハードウェアとは、例えば単一回路、複合回路、プログラム化されたプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、又は、これらの組み合わせ等である。制御部11が専用のハードウェアである場合、各部の機能それぞれを個別のハードウェアで実現してもよいし、各部の機能をまとめて単一のハードウェアで実現してもよい。
また、各部の機能のうち、一部を専用のハードウェアによって実現し、他の一部をソフトウェア又はファームウェアによって実現してもよい。このように、制御部11は、ハードウェア、ソフトウェア、ファームウェア、又は、これらの組み合わせによって、上述の各機能を実現することができる。
本開示に係る寸法作成装置10,10aの動作を規定するプログラムを、パーソナルコンピュータ又は情報端末装置等の既存のコンピュータに適用することで、当該コンピュータを、本開示に係る寸法作成装置10,10aとして機能させることも可能である。
また、このようなプログラムの配布方法は任意であり、例えば、CD-ROM(Compact Disk ROM)、DVD(Digital Versatile Disk)、MO(Magneto Optical Disk)、又は、メモリカード等のコンピュータ読み取り可能な記録媒体に格納して配布してもよいし、インターネット等の通信ネットワークを介して配布してもよい。
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この開示を説明するためのものであり、本開示の範囲を限定するものではない。すなわち、本開示の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして特許請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、この開示の範囲内とみなされる。
この出願は、2020年2月13日に出願された特願2020-022114号に基づく。本明細書中に特願2020-022114号の明細書、請求の範囲、図面全体を参照として取り込むものとする。