特許第6493585号(P6493585)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノンマーケティングジャパン株式会社の特許一覧 ▶ キヤノンITソリューションズ株式会社の特許一覧

特許6493585情報処理装置、その制御方法、及びプログラム
<>
  • 特許6493585-情報処理装置、その制御方法、及びプログラム 図000002
  • 特許6493585-情報処理装置、その制御方法、及びプログラム 図000003
  • 特許6493585-情報処理装置、その制御方法、及びプログラム 図000004
  • 特許6493585-情報処理装置、その制御方法、及びプログラム 図000005
  • 特許6493585-情報処理装置、その制御方法、及びプログラム 図000006
  • 特許6493585-情報処理装置、その制御方法、及びプログラム 図000007
  • 特許6493585-情報処理装置、その制御方法、及びプログラム 図000008
  • 特許6493585-情報処理装置、その制御方法、及びプログラム 図000009
  • 特許6493585-情報処理装置、その制御方法、及びプログラム 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6493585
(24)【登録日】2019年3月15日
(45)【発行日】2019年4月3日
(54)【発明の名称】情報処理装置、その制御方法、及びプログラム
(51)【国際特許分類】
   G06F 17/50 20060101AFI20190325BHJP
【FI】
   G06F17/50 610C
   G06F17/50 612C
   G06F17/50 628Z
【請求項の数】7
【全頁数】19
(21)【出願番号】特願2018-41072(P2018-41072)
(22)【出願日】2018年3月7日
(62)【分割の表示】特願2016-201632(P2016-201632)の分割
【原出願日】2014年9月24日
(65)【公開番号】特開2018-113057(P2018-113057A)
(43)【公開日】2018年7月19日
【審査請求日】2018年4月2日
(31)【優先権主張番号】特願2013-205107(P2013-205107)
(32)【優先日】2013年9月30日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】390002761
【氏名又は名称】キヤノンマーケティングジャパン株式会社
(73)【特許権者】
【識別番号】592135203
【氏名又は名称】キヤノンITソリューションズ株式会社
(74)【代理人】
【識別番号】100189751
【弁理士】
【氏名又は名称】木村 友輔
(72)【発明者】
【氏名】田邉 亮一
(72)【発明者】
【氏名】荒川 則幸
【審査官】 松浦 功
(56)【参考文献】
【文献】 特開平11−184898(JP,A)
【文献】 特開2011−161549(JP,A)
【文献】 特開2008−276530(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/50
G06T 17/00 −19/20
(57)【特許請求の範囲】
【請求項1】
コンピュータを、
第1の部品データと、当該第1の部品データとは異なる第2の部品データとの最短距離を計測する計測手段と、
前記計測手段で計測された複数の最短距離と、当該最短距離における前記第1の部品データの位置姿勢と前記第2の部品データの位置姿勢とを記憶するよう制御する記憶制御手段と、
前記記憶制御手段で記憶された複数の前記最短距離のうち、ユーザに指定された最短距離における前記第1の部品データの位置姿勢と前記第2の部品データの位置姿勢とに基づいて、前記第1の部品データと前記第2の部品データとを表示するよう制御する表示制御手段
として機能させるためのプログラム。
【請求項2】
前記計測手段で計測された前記最短距離の一覧を表示する一覧表示手段として機能させ、
前記表示制御手段は、前記一覧表示手段で表示された前記一覧より指定された最短距離における前記第1の部品データの位置姿勢と前記第2の部品データの位置姿勢とに基づいて、前記第1の部品データと前記第2の部品データとを表示するよう制御することを特徴とする請求項1に記載のプログラム。
【請求項3】
前記一覧表示手段で表示される前記最短距離の一覧のうち、最も値の小さい最短距離を特定する特定手段として機能させ、
前記一覧表示手段は、前記特定手段で特定された前記最も値の小さい最短距離を前記一覧で識別可能に表示することを特徴とする請求項2に記載のプログラム。
【請求項4】
前記特定手段で特定された前記最も値の小さい最短距離が複数存在する場合に、その複数存在するそれぞれの前記最も小さい最短距離における前記第1の部品データの位置姿勢と前記第2の部品データの位置姿勢とに基づいて、前記第1の部品データと前記第2の部品データとを切り替えて表示する指示を受け付ける指示受付手段として機能させ、
前記表示制御手段は、前記指示受付手段で受け付けた指示に応じて、複数の最も値の小さい最短距離における前記第1の部品データの位置姿勢と前記第2の部品データの位置姿勢で前記第1の部品データと前記第2の部品データとを、切り替えて表示することを特徴とする請求項3に記載のプログラム。
【請求項5】
前記表示制御手段は、前記第1の部品データと前記第2の部品データとが表示される三次元空間上で前記最短距離を示すオブジェクトを表示するよう制御することを特徴とする請求項1乃至4のいずれか1項に記載のプログラム。
【請求項6】
第1の部品データと、当該第1の部品データとは異なる第2の部品データとの最短距離を計測する計測手段と、
前記計測手段で計測された複数の最短距離と、当該最短距離における前記第1の部品データの位置姿勢と前記第2の部品データの位置姿勢とを記憶するよう制御する記憶制御手段と、
前記記憶制御手段で記憶された複数の前記最短距離のうち、ユーザに指定された最短距離における前記第1の部品データの位置姿勢と前記第2の部品データの位置姿勢とに基づいて、前記第1の部品データと前記第2の部品データとを表示するよう制御する表示制御手段と
を備えることを特徴とする情報処理装置。
【請求項7】
第1の部品データと、当該第1の部品データとは異なる第2の部品データとの最短距離を計測する計測手段と、
前記計測手段で計測された複数の最短距離と、当該最短距離における前記第1の部品データの位置姿勢と前記第2の部品データの位置姿勢とを記憶するよう制御する記憶制御手段と、
前記記憶制御手段で記憶された複数の前記最短距離のうち、ユーザに指定された最短距離における前記第1の部品データの位置姿勢と前記第2の部品データの位置姿勢とに基づいて、前記第1の部品データと前記第2の部品データとを表示するよう制御する表示制御手段と
を含むことを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、可動部を有する部品データの可動域のうちユーザからの指示に応じた可動域で動作する当該部品データと、当該部品データとは異なる部品データとが最接近する距離を容易に特定することの可能な情報処理装置、その制御方法、及びプログラムに関する。
【背景技術】
【0002】
従来、パーソナルコンピュータ等の情報処理装置を用いて製品等の設計を行うCAD(Computer Aided Design)アプリケーションが存在する。CADアプリケーションは、従来の正面図、平面図、側面図等の2次元図面で設計を行う2次元CADアプリケーションと、3次元モデルで設計を行う3次元CADアプリケーションの2種類に分別される。
【0003】
特に、3次元CADアプリケーションで設計した製品を構成する部品データは可動部を備えている場合があり、設計ではこの可動部が正常に動作するか否かを確認するために、可動部を備える部品データと他の部品データとの干渉を確認しなければならない。3次元CADアプリケーションでは、ユーザが可動部を備える部品データをドラッグするだけで、可動部に応じて部品データを動作させることができるようになっている。つまり、2次元CADアプリケーションで表現される2次元図面では再現することが難しかった可動部に応じた部品データの動作状況を、3次元CADアプリケーションでは容易に再現することができるので、これにより部品データ同士が干渉するかどうかを目視にて確認している。
【0004】
下記の特許文献1では、このような可動部を備える部品データに対して親部品を所定の移動ピッチで移動させ、幾何学的に干渉を検知する仕組みが開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2000−113002
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、製品を設計する際には、部品データ間に必要な距離(空間)を確保できているかどうかの検討も行われる。部品データから部品を製造し、製造された部品を組み立てることで製品となるが、この組み立てを行う際に作業者が手や工具を動かすための空間が必要である。この空間がないと、3次元CADアプリケーションで設計した設計物が机上の空論になってしまう。また、前述した可動部を備える部品データと他の部品データとの間にもある程度の空間が必要である。たとえ、設計段階では可動部を備える部品データと他の部品データとが干渉しなかったとしても、製造した部品の大きさの誤差によっては、干渉してしまう場合があるからである。
【0007】
このような部品データ間に必要な空間を確保できているかどうかを検証するために、3次元CADアプリケーションでは、指定された部品データ間の最短距離を測定する機能が備わっている。設計者は、この機能を用いて部品データ間の最短距離を測定し、必要な空間を確保できているか否かを確認している。
【0008】
ところが、一般的な3次元CADアプリケーションに備わっている機能では、可動部を備える部品データを動作させた場合の一時的な動作状態における部品間の最短距離しか測定できないため、一定の可動域の中で部品データが他の部品データと最も近接する際の距離(最接近距離)を取得するためには、測定を繰り返さなければならない。そのため、効率よく最接近距離を測定するために熟練の設計者の場合は、経験と勘により測定が必要な個所を高い精度で予測し、測定回数をできる限り少なくしている。
【0009】
しかしながら、同様の手法を経験の浅い設計者が行った場合は予測精度が高くない為、測定回数が増加しがちであり効率がよいとはいえない。仮に予測の精度が高くないまま測定回数を減少させた場合、設計品質の低下を招く恐れがあるため、安易に測定回数を減少させれば良いわけではない。
【0010】
更に従来技術として、可動部を備える部品データが動作する可動域の中で、他の部品データと最も近接する際の距離をシミュレーションにより算出する方法が存在する。これを用いることで容易に最接近距離を特定することが可能となるのだが、正式な可動域が決定していない設計段階ではこの仕組みを用いることはできない。つまり、現在の可動域の中から必要な空間が確保できる可動域を探索するような場合には、前述したように一時的な動作状態における部品間の最短距離を繰り返し測定するしかない。あくまでこのシミュレーションの仕組みは、設計がほぼ完成した段階で行われる確認作業であり、設計段階では用いることができないので、効率的に設計できないという問題がある。
【0011】
発明の目的は、第1の部品データと第2の部品データとの最短距離を計測した際の状況をユーザが簡便に確認することができる仕組みを提供することを目的とする。
【課題を解決するための手段】
【0012】
発明のプログラムは、コンピュータを、第1の部品データと、当該第1の部品データとは異なる第2の部品データとの最短距離を計測する計測手段と、前記計測手段で計測された複数の最短距離と、当該最短距離における前記第1の部品データの位置姿勢と前記第2の部品データの位置姿勢とを記憶するよう制御する記憶制御手段と、前記記憶制御手段で記憶された複数の前記最短距離のうち、ユーザに指定された最短距離における前記第1の部品データの位置姿勢と前記第2の部品データの位置姿勢とに基づいて、前記第1の部品データと前記第2の部品データとを表示するよう制御する表示制御手段として機能させることを特徴とする。
【発明の効果】
【0013】
本発明によれば、第1の部品データと第2の部品データとの最短距離を計測した際の状況をユーザが簡便に確認することができる。
【図面の簡単な説明】
【0014】
図1】本発明の実施形態における3次元CADシステム100の一例を示す構成図である。
図2】情報処理装置101及びサーバ102のハードウェア構成の一例を示す構成図である。
図3】情報処理装置101の機能構成の一例を示す機能構成図である。
図4】本発明の実施形態における一連の処理の流れを示すフローチャートである。
図5】最短距離測定画面500の画面構成の一例を示す図である。
図6】本発明の実施形態における可動部を備える第1の部品データ601と、測定対象となる第2の部品データ602の一例を示す図である。
図7】構成部品テーブル700、動作状態履歴テーブル710、最短距離測定テーブル720、最接近距離テーブル730のテーブル構成の一例を示す図である。
図8】最短距離測定処理の詳細を示すフローチャートである。
図9】本実施形態における処理結果のイメージ図である。
【発明を実施するための形態】
【0015】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【0016】
図1は、本発明の3次元CADシステム100のシステム構成の一例を示す図である。本発明の3次元CADシステム100は、情報処理装置101、サーバ102が設置されており、それら装置はLAN(Local Area Network)等のネットワーク103を介して相互にデータ通信可能に接続されている。図1のネットワーク103上に接続される各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【0017】
情報処理装置101は、オペレーティングシステム上で3次元CADアプリケーションと最短距離測定プログラムを実行する装置である。3次元CADアプリケーションと最短距離測定プログラムは後述する図2のROM202または外部メモリ211に記憶されており、ユーザからの指示に応じて、CPU201がRAM203に読み出して各種動作を行う。
【0018】
3次元CADアプリケーションは、ユーザからの操作に応じて、設計物の立体形状を示す3次元モデルの作成や構築、また3次元モデルに基づく2次元図面の作成を行う。3次元CADアプリケーションは、様々なAPI(Application Programming Interface)を備えており、後述する最短距離測定プログラムからの指示に応じてAPIを実行し、必要に応じてその結果を最短距離測定プログラムに返すことができる。
【0019】
最短距離測定プログラムは、3次元CADアプリケーションに表示された3次元モデルから成る部品データ間の距離を測定するべく、3次元CADアプリケーションのAPIに指示を出し、その結果を表示するためのプログラムである。最短距離測定プログラムは、3次元CADアプリケーションのアドオンであってもよいし、別個の独立したプログラムであってもよい。
【0020】
サーバ102は、情報処理装置101で作成された各種データを記憶管理する装置である。3次元モデルは、複数のユーザによって作成される場合があり、その場合には1つのサーバ102に各ユーザの情報処理装置101で作成された3次元モデルを一元管理する。
【0021】
尚、情報処理装置101が、サーバ102の構成を含んでもよいし、サーバ102が情報処理装置101の構成を含んでもよい。また、本実施例においては、情報処理装置101に各種データが記憶され、ユーザからの操作によって動作させる形態に基づいて説明を行う。
【0022】
図2は、本発明の実施形態における各種端末のハードウェア構成を示す図である。
【0023】
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
【0024】
また、ROM202あるいは外部メモリ211(記憶手段)には、CPU201の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。
【0025】
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
【0026】
また、入力コントローラ(入力C)205は、キーボードや不図示のマウス等のポインティングデバイス等の入力デバイス209からの入力を制御する。
【0027】
ビデオコントローラ(VC)206は、ディスプレイ210等の表示器への表示を制御する。表示器の種類はCRTや、液晶ディスプレイを想定するが、これに限らない。
【0028】
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフレキシブルディスク(FD)或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ211へのアクセスを制御する。
【0029】
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
【0030】
尚、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ210上での表示を可能としている。また、CPU201は、ディスプレイ210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0031】
本発明の情報処理装置101が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ211に格納されている。
【0032】
次に、情報処理装置101の機能構成を示す機能構成図について、図3を用いて説明する。尚、図3の機能構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【0033】
情報処理装置101は、記憶部301、表示制御部302を備える。記憶部301は、RAM203や外部メモリ211に相当し、情報処理装置101で扱う各種データを記憶する。本実施形態では特に、3次元CADアプリケーションで表示する3次元モデルや2次元図面、後述する各種テーブルを記憶する。
【0034】
表示制御部302は、記憶部301に記憶された各種データをディスプレイ210に表示するための制御部である。後述する3次元モデル制御部311や画面表示制御部321からの指示に応じて、ディスプレイ210に各種データを表示する。
【0035】
また、前述した通り、情報処理装置101には、3次元CADアプリケーション310と、最短距離測定プログラム320がインストールされている。3次元CADアプリケーション310は、3次元モデル制御部311、最短距離取得部312、モード切替部313、距離測定部314、動作状態取得部315、最短距離識別表示制御部316、最接近状態再現制御部317を備えている。これらは、APIとして3次元CADアプリケーション310に備えている。
【0036】
3次元モデル制御部311は、記憶部301で記憶された3次元モデルをRAM203に読み出し、ユーザから指示された3次元CADアプリケーション310の機能に応じて、3次元モデルの作成、編集、削除等を実行する。また、3次元モデルから成り、可動部を備える部品データをユーザからの指示に応じて動作させる機能も備える。
【0037】
最短距離取得部312は、後述する最短距離取得指示部324からの指示を受け付けると、可動部を備える部品データ(以下、第1の部品データ)を3次元モデル制御部311で動作させている間、距離測定部314で当該部品データと、他の部品データ(以下、第2の部品データ)との最短距離を一定の間隔で測定し続けるモードになるよう、モード切替部313に対して指示を出す。そして、距離測定部314で測定することで取得した最短距離を最短距離取得指示部324に渡す。また、合わせて動作状態取得部315で取得した、第1の部品データの動作状態を取得し、最短距離取得指示部324に渡す。
【0038】
モード切替部313は、3次元CADアプリケーション310のモードを切り替える。本実施形態においては、第1の部品データを3次元モデル制御部311による制御によって動作させることで、距離測定部314が最短距離を測定するモード(最短距離測定モード)と、これを測定しないモード(通常モード)の2つがある。第1の部品データを可動部に応じて動作させることで、常に距離測定部314が最短距離を測定してしまうと、情報処理装置101にかかる負荷が高くなってしまう。つまり、ユーザの設計作業に支障が出てしまう問題がある。そのため、モード切替部313によって、必要な時だけ距離測定部314で距離を測定するモードに切り替えることで、このような問題を解決している。
【0039】
距離測定部314は、部品データ間の最短距離を測定する。本実施形態では、第1の部品データを、可動部に応じてユーザから指示された可動域の範囲内で3次元モデル制御部311が動作させている間、動作させたある状態における第1の部品データと第2の部品データとの最短距離を継続して測定する。最短距離の測定方法は、従来技術であるので説明は省略する。従来から、3次元CADアプリケーションでは、2つの部品データ間の最短距離を測定する機能が存在するため、これと同様の測定を実施するものとする。
【0040】
動作状態取得部315は、距離測定部314で最短距離を測定した時点での、第1の部品データの動作状態を取得し、最短距離取得部312に渡す。当該動作状態は、後述する最接近状態再現制御部317で使用する。
【0041】
最短距離識別表示制御部316は、後述する最短距離識別表示指示部326からの指示を受け付けると、距離測定部314で最短距離が測定されたことに応じて、第1の部品データと、第2の部品データとの間で当該最短距離を識別表示する。つまり、第1の部品データのどの箇所と、第2の部品データのどの箇所とを結ぶ直線が最短距離であるのかは、距離測定部314で測定される最短距離の値だけではわからない。そこで、最短距離に該当する直線を最短距離が測定される都度、リアルタイムに識別表示することで、ユーザに対する理解を助けている。
【0042】
最接近状態再現制御部317は、後述する最接近状態再現指示部327から、動作状態取得部315で取得した動作状態を再現するよう指示を受け付けると、第1の部品データの動作状態を、指示された動作状態となるよう動作させる。
【0043】
また、最短距離測定プログラム320は、画面表示制御部321、入力受付部322、CSV出力部323、最短距離取得指示部324、最接近距離判定部325、最短距離識別表示指示部326、最接近状態再現指示部327を備えている。
【0044】
画面表示制御部321は、ユーザからの操作を受け付けるための各種画面の表示制御を行う。例えば、後述する最短距離測定画面500(図5参照)である。また、最短距離測定プログラム320で実行された結果を最短距離測定画面500に表示する。
【0045】
入力受付部322は、入力デバイス209を通じて、ユーザから文字入力やボタン押下を受け付ける。
【0046】
CSV出力部323は、最短距離取得指示部324で指示することにより取得した最短距離の一覧をCSV(Comma−Separated Values)形式のファイルとして出力する。本実施形態ではCSV形式としたが、最短距離の一覧が出力できれば、ファイル形式は特に問わない。
【0047】
最短距離取得指示部324は、最短距離取得部312に対して、部品データの可動域のうちユーザから指示された可動域で第1の部品データを動作させて、第1の部品データと第2の部品データとの最短距離を測定するよう指示を出す。そして、最短距離取得部312から渡される最短距離を随時受け取る。また、最短距離を測定した際の第1の部品データの動作状態を取得するよう、動作状態取得部315に指示を出し、動作状態取得部315から当該動作状態を受け取る。
【0048】
最接近距離判定部325は、最短距離取得指示部324で指示することにより取得した最短距離が、第1の部品データと第2の部品データとが、第1の部品データのユーザから指示された可動域において最も接近した距離であるか否かを判定する。最短距離取得指示部324では、第1の部品データが3次元モデル制御部311によって動作している間、随時最短距離が取得できるので、この取得した複数の最短距離のうち、最も値の小さい距離を持つ最短距離を、最接近距離と判定する。つまり、3次元モデル制御部311で第1の部品データの可動部を動作させる際には、ユーザから指示された可動域を網羅するよう、動作させることが望ましい。
【0049】
最短距離識別表示指示部326は、最短距離取得指示部で取得した最短距離を識別表示するよう、最短距離識別表示制御部316に指示を出す。前述した通り、3次元モデル制御部311による動作に応じて、リアルタイムに最短距離の識別表示を行うことが望ましい。
【0050】
最接近状態再現指示部327は、最接近距離判定部325で最接近距離と判定された最短距離を測定した際の動作状態を最短距離取得指示部324で取得した情報から特定し、最接近状態再現制御部317に対して、当該動作状態を再現するよう指示を出す。
【0051】
次に、本発明の実施形態における情報処理装置101によって行われる一連の処理について、図4に示すフローチャートを用いて説明する。
【0052】
尚、図4に示す処理を行う際には、情報処理装置101のCPU201は、ユーザからの指示に応じて3次元CADアプリケーション310が起動されており、3次元モデルを操作可能な状態であるものとして、以下、説明を行う。
【0053】
ステップS401では、情報処理装置101のCPU201は、ユーザからの入力デバイス209を通じた指示に応じて、最短距離測定プログラム320を起動する。
【0054】
ステップS402では、情報処理装置101のCPU201は、ステップS401で最短距離測定プログラム320の起動を確認すると、3次元CADアプリケーション310が最短距離測定プログラム320の開始条件を満たしているか否かを判定する。より具体的には、現在のアクティブドキュメントがアセンブリデータであること、開かれている状態のドキュメント数がアクティブドキュメント1つだけであること、現在のアクティブドキュメントが保存済みであることを確認し、これらをすべて満たせば開始条件を満たしていると判定する。これらにより、予想しない3次元CADアプリケーション310の挙動や、予期しないデータの取得を防止する。尚、アセンブリデータとは、3次元CADアプリケーションで取り扱い可能なデータであり、1以上の部品データまたはアセンブリデータの参照情報を含むものである。つまり、部品データやアセンブリデータが保存されている絶対パスや部品データを配置する位置といった情報を管理している。最短距離測定プログラム320の開始条件を満たしていると判定した場合には、ステップS403に処理を進める。最短距離測定プログラム320の開始条件を満たしていないと判定した場合には、エラーメッセージを表示して本一連の処理を終了する。
【0055】
ステップS403では、情報処理装置101のCPU201は、画面表示制御部321を用いて、図5に示すような最短距離測定画面500をディスプレイ210に表示する。
【0056】
ステップS404では、情報処理装置101のCPU201は、入力受付部322を用いて、最短距離の測定対象となる2つの部品データの選択を受け付ける。特に、3次元CADアプリケーション310で開かれたアセンブリデータに含まれる部品データのうち、可動部を備える部品データの選択を少なくとも1つ受け付ける。より具体的には、ユーザは、最短距離測定画面500のテキストボックス501を選択し、その後、測定対象となる部品データを選択すると、画面表示制御部321が3次元CADアプリケーション310から、選択された部品データの部品名を取得し、テキストボックス501に表示する。また同時に図7に示す測定対象部品テーブル700の測定対象部品名a701に取得した部品名を登録する。同様にしてもう1つの部品データについても、テキストボックス502の選択後に部品データの選択を受け付けて、この部品データの部品名をテキストボックス502に表示し、部品名を測定対象部品テーブル700の測定対象部品名b702に登録する。
【0057】
測定対象部品テーブル700(図7参照)は、情報処理装置101の記憶部301で記憶されるテーブルである。測定対象部品テーブル700は、測定対象部品名a701と、測定対象部品名b702から構成される。前述した通り、測定対象部品名a701と測定対象部品名b702とは、ステップS404で選択を受け付けた測定対象の部品データの部品名を格納する。
【0058】
以下、本実施形態では、図6に示す第1の部品データ601と、第2の部品データ602を用いて説明を行う。第1の部品データは、可動部を備える部品データである。第1の部品データは、第1の部品データの中心点を通る縦軸を回転軸として回転するようになっている。第2の部品データは、可動部を備えていない部品データである。それぞれがステップS404で選択されると、第1の部品データ601の部品名がテキストボックス501に表示され、この部品名が測定対象部品名a701に登録される。また、第2の部品データ602の部品名がテキストボックス502に表示され、この部品名が測定対象部品名b702に登録される。
【0059】
ステップS405では、情報処理装置101のCPU201は、最短距離測定画面500において、「測定開始」を示す制御ボタン503の押下を受け付ける。
【0060】
そして、ステップS406では、情報処理装置101のCPU201は、入力受付部322を用いて、測定対象となる部品データが選択されているかどうかを判定する。測定対象の部品データが選択されているかどうかは測定対象部品テーブル700の測定対象部品名a701と測定対象部品名b702にそれぞれ部品名が登録されているかどうかで判定する。選択されていると判定した場合は、制御ボタン503のキャプションを例えば「測定開始」から「測定終了」に変更し、処理をステップS407に進める。選択されていないと判定した場合は、エラーメッセージを表示し、処理をステップS404に戻し、測定対象となる部品データの選択を促す。
【0061】
ステップS407では、情報処理装置101のCPU201は、ステップS404で選択された部品データ間の最短距離を算出するための処理を実行する。最短距離算出処理の詳細は、後述する図8に示す。
【0062】
ステップS408では、情報処理装置101のCPU201は、入力受付部322を用いて、最短距離測定画面500においてCSV出力ボタン508が押下されたか否かを判定する。CSV出力ボタン508が押下されたと判定した場合には、ステップS409に処理を進め、CSV出力ボタン508が押下されていないと判定した場合には、ステップS410に処理を進める。
【0063】
ステップS409では、情報処理装置101のCPU201は、CSV出力部323を用いて、図7に示す最短距離測定テーブル720に格納された測定ID721、最短距離722、X座標a723、X座標b724、Y座標a725、Y座標b726、Z座標a727、Z座標b728をCSV形式のファイルに出力する(ファイル出力手段)。この出力形式はCSV形式のファイルに限らない。
【0064】
最短距離測定テーブル720は、情報処理装置101の記憶部301で記憶されるテーブルである。最短距離測定テーブル720は、測定ID721、最短距離722、X座標a723、X座標b724、Y座標a725、Y座標b726、Z座標a727、Z座標b728から構成される。測定ID721は、後述する処理において最短距離が取得される度に発行され、一意に識別可能な情報である。最短距離722は、選択された測定対象の部品データ間の最短距離を示す情報である。特に第1の部品データを可動部に応じて動作させた際の、第1の部品データと第2の部品データとの間の最短距離を示す。X座標a723、X座標b724、Y座標a725、Y座標b726、Z座標a727、Z座標b728は、最短距離を示す直線の始点と終点を示す座標値である。X座標a723、Y座標a725、Z座標a727が始点を示す座標値であり、X座標b724、Y座標b726、Z座標b728が終点を示す座標値である。
【0065】
ステップS410では、情報処理装置101のCPU201は、入力受付部322を用いて、最短距離測定画面500の閉じるボタン509の押下を検知することで、最短距離測定画面500を閉じ、最短距離測定プログラム320の起動を終了する。
【0066】
次に、最短距離測定処理について図8を用いて説明する。最短距離測定処理は、ステップS404で選択された部品データをユーザから指示された可動域で動作させ、動作している間、部品データ間の最短距離を取得し続ける。そして、取得した複数の最短距離のうち、当該部品データ同士が最も接近した最短距離(最接近距離)を、最接近距離として特定する。つまり、選択された部品データをユーザが任意の可動域で動作させるだけで、その可動域における部品データ間の最接近距離を取得できる。以下、この説明を行う。
【0067】
まず、ステップS801では、情報処理装置101のCPU201は、3次元CADアプリケーション310を、最短距離を測定するモードに切り替える。より具体的には、最短距離取得指示部324を用いて、最短距離取得部312に対して、最短距離の取得を指示する。最短距離取得部312は、その指示を受け付けると、モード切替部313に対して、最短距離を測定するモードに切り替えるよう指示する。モード切替部313は、これに応じて、当該モードに切り替える。最短距離を特定するモードに切り替わると、部品データを可動部に応じて動作させるごとに、後述するステップS803乃至ステップS812の各処理を実行するようになる。
【0068】
ステップS802では、情報処理装置101のCPU201は、入力デバイス209を通じてユーザから可動部を備える測定対象の部品データをドラッグされたか否かを判定する。つまり、ユーザから動作指示があったか否かを判定する。動作指示があったと判定した場合には、ステップS803に処理を進め、そうでない場合には、ステップS813に処理を進める。
【0069】
ステップS803では、情報処理装置101のCPU201は、3次元モデル制御部311を用いて、3次元CADアプリケーション310で表示された、可動部を備える部品データ(第1の部品データ)のドラッグ操作を受け付けると、ドラッグ操作に応じた可動域で当該部品データを動作させる。つまり、部品データの可動域のうちユーザからドラッグ操作がなされた範囲で動作させる。
【0070】
ステップS804では、情報処理装置101のCPU201は、距離測定部314を用いて、一定の測定間隔で測定対象の部品データ間の最短距離を測定する(測定制御手段)。本実施形態においては、可動部を備える第1の部品データ601をステップS803で動作させ、当該第1の部品データ601と、当該第1の部品データ601とは異なる第2の部品データ602との最短距離を測定する。測定した最短距離は、最短距離取得部312に渡され、最短距離取得部312から最短距離取得指示部324に渡される。
【0071】
ステップS805では、情報処理装置101のCPU201は、最短距離取得指示部324を用いて、ステップS804で取得した最短距離を最短距離測定テーブル720に格納する。より具体的には、最短距離測定テーブル720に新しくレコードを作成し、測定ID721に新しく一意な識別情報を発行する。そして、当該レコードの最短距離722にステップS804で取得した最短距離を格納し、X座標a723、X座標b724、Y座標a725、Y座標b726、Z座標a727、Z座標b728には、ステップS804で測定した最短距離を示す直線の始点と終点を示す座標値をそれぞれ格納する。このようにして、動作したある位置における最短距離を記録する。
【0072】
ステップS806では、情報処理装置101のCPU201は、画面表示制御部321を用いて、ステップS805で更新した最短距離測定テーブル720の各情報を最短距離測定画面500に備える測定点一覧507に表示する(一覧表示手段)。例えば、図9の最短距離測定画面500の測定点一覧507に示すように、最短距離とその最短距離が示す座標値とを表示する。
【0073】
ステップS807では、情報処理装置101のCPU201は、動作状態取得部315を用いて、ステップS804で最短距離を測定した時点での、可動部を備える測定対象の部品データの動作状態を取得する。最短距離取得部312は、最短距離取得指示部324からの指示に応じて、最短距離を測定した時点での第1の部品データ601の動作状態の取得を動作状態取得部315に指示する。動作状態取得部315は、第1の部品データ601の動作状態を取得し、最短距離取得部312に返し、最短距離取得部312が最短距離取得指示部324に結果として返す。
【0074】
ステップS808では、情報処理装置101のCPU201は、最短距離取得指示部324を用いて、ステップS807で取得した動作状態に関する情報を図7に示すような動作状態履歴テーブル710に格納する。
【0075】
動作状態履歴テーブル710は、情報処理装置101の記憶部301で記憶されるテーブルである。動作状態履歴テーブル710は、測定ID711、測定対象部品名712、原点座標値713、X軸ベクトル714、Y軸ベクトル715、Z軸ベクトル716から構成される。測定ID711は、最短距離測定テーブル720の測定ID721と対応する識別情報である。ステップS805で発行された測定ID721と同じ情報を測定ID721に格納する。つまり、測定した最短距離ごとに動作状態が格納されることになる。測定対象部品名712は、可動部を備える測定対象の部品データの名称を示す。つまり、測定対象部品テーブル700の測定対象部品名a701または測定対象部品名b702のうち、可動部を備える部品データの部品名が格納される。原点座標値713は、測定対象部品名712が示す部品データに設定された原点の座標値が格納される。アクティブドキュメントであるアセンブリデータの原点の座標値ではなく、部品データごとに設定された原点の座標値である。また、X軸ベクトル714、Y軸ベクトル715、Z軸ベクトル716は、測定対象部品名712が示す部品データの向きや角度を格納する。このようにして、ステップS804で最短距離を測定した時点での、可動部を備える測定対象の部品データの動作状態を動作状態履歴テーブル710に格納しておく。
【0076】
ステップS809では、情報処理装置101のCPU201は、最短距離識別表示指示部326を用いて、ステップS804で測定した最短距離を3次元空間上で識別表示するよう、最短距離識別表示制御部316に指示を出す(表示制御手段)。最短距離識別表示制御部316はその指示を受け付けると、第1の部品データと、第2の部品データとの間において最短距離を識別表示する。例えば、図9の処理イメージ910に示すように、第1の部品データ601の可動部を動作させることで、最短距離が測定され、その最短距離を示す直線の矢印911のように識別表示する。尚、矢印911は、第2の部品データ602の裏側を指している。
【0077】
ステップS810では、情報処理装置101のCPU201は、最接近距離判定部325を用いて、ステップS804で測定し、ステップS805で最短距離測定テーブル720に格納された最短距離が、最接近距離であるか否かを判定する(最接近距離特定手段)。より具体的には、図7に示すような最接近距離テーブル730の最接近距離732と、ステップS805で新たに格納した最短距離722とを比較し、最短距離722の方が、値が小さい場合には、ステップS811に処理を進める。そうでない場合には、ステップS812に処理を進める。尚、初めて最短距離を取得した場合には、最接近距離732には何も格納されていないので、ステップS811に処理を進める。このようにすることで、ドラッグ操作を受け付ける度に、測定された最短距離が、現時点までで測定した最短距離のうち、測定対象の部品データが最も接近する距離(最接近距離)であるか否かを特定することができる。
【0078】
最接近距離テーブル730は、情報処理装置101の記憶部301で記憶されるテーブルである。最接近距離テーブル730は、測定ID731と最接近距離732から構成される。測定ID731は、測定ID721に対応する識別情報である。最接近距離732は、測定ID731に対応する測定ID721の最短距離722を示す。
【0079】
ステップS811では、情報処理装置101のCPU201は、ステップS810で最接近距離であると判定されたので、ステップS804で測定された最短距離を最接近距離として記録する。合わせて、最短距離測定画面500の最接近距離欄506に記録する最接近距離を表示する。より具体的には、ステップS805で格納された測定ID721を測定ID731に格納し、同じくステップS805で格納された最短距離722を最接近距離732に格納する。いずれも、すでに値が格納されている場合には上書きする。ただし、最短距離722が最接近距離732と同じ値を示すのであれば、新たにレコードを追加する。このように、測定の都度、今測定した最短距離が最接近距離か否かを判定し、最接近距離である場合には上書き保存していくことで、最接近距離を特定することができる。すなわち、所定の間隔で最短距離が測定されるため、測定漏れのないよう、ユーザが動作させたい可動域をできる限り満たすように部品データを動作させることが望ましい。そうすることで、最接近距離の特定漏れを防止できる。また、同じ距離を持つ最接近距離が複数ある場合でも、記録しておくことができる。
【0080】
ステップS812では、情報処理装置101のCPU201は、可動部を備える測定対象の部品データに対するユーザからのドラッグ操作が継続しているか否かを判定する。継続していると判定した場合には、ステップS803に処理を戻す。継続していないと判定した場合には、ステップS813に処理を進める。つまり、ドラッグ操作が継続されている間は、ステップS803乃至ステップS812の各処理を継続することになる。すなわち、可動部を備える測定対象の部品データを動作させている間、ステップS804で最短距離を測定し続け、測定した最短距離が測定点一覧507に随時追加で表示され、ステップS810で最接近距離であるか否かが判定され、それまでに記録した最接近距離よりも小さい距離であるなら、測定した最短距離を最接近距離として新たに記録する。
【0081】
ステップS813では、情報処理装置101のCPU201は、入力受付部322を用いて、最短距離測定画面500に備えられたプレビューボタン504が押下されたか否かを判定する。プレビューボタン504は、最接近距離として記録された最短距離を測定した際の動作状態を再現するためのボタンである。プレビューボタン504が押下されたと判定した場合には、ステップS814に処理を進める。プレビューボタン504が押下されていないと判定した場合には、ステップS818に処理を進める。
【0082】
ステップS814では、情報処理装置101のCPU201は、画面表示制御部321を用いて、最接近距離テーブル730に格納された最接近距離を測定点一覧507で識別表示する。測定点一覧507に表示されている最短距離は、最短距離測定テーブル720に格納された情報が一覧表示されている。つまり、最接近距離テーブル730の測定ID731と同じ測定ID721を持つレコードを特定し、このレコードに対応する行を測定点一覧507で識別表示する。図9に示す最短距離測定画面500では、最接近距離欄506では、「149.172」と表示されている。つまり、これが最接近距離である。この最接近距離に対応するレコードは、901に示すレコードであるので、これを識別表示する。901に示すように背景を反転させてもよいし、文字色を変えてもよい。識別表示の方法は特に問わない。
【0083】
ステップS815では、情報処理装置101のCPU201は、最接近距離を測定した時の動作状態を再現する(再現手段)。より具体的には、最接近状態再現指示部327が、最接近距離テーブル730の測定ID731と一致する測定ID711を特定し、当該測定ID711を持つレコードに格納された情報を用いて、動作状態を再現するよう、最接近状態再現制御部317に指示を出す。最接近状態再現制御部317はこれを受け取り、原点座標値713、X軸ベクトル714、Y軸ベクトル715、Z軸ベクトル716に基づいて、測定対象部品名712に示す部品データを動作させ、最接近距離を測定した時の配置位置や向きを再現する。また、この動作状態における最短距離を矢印911のように識別表示する。このようにすることで、最接近距離を測定した時の状態を再現できるので、値だけではわからない状況をユーザに理解させることができる。尚、本実施形態では、最接近距離の動作状態だけを再現しているが、最短距離ごとに動作状態を動作状態履歴テーブル710に記録しているので、各最短距離の動作状態を再現するようにしてもよい。この場合、測定点一覧507においてユーザに選択された最短距離を再現する仕組みが考えられる。選択された最短距離の測定ID721と一致する測定ID711を持つレコードを動作状態履歴テーブル710から特定し、前述した通り再現すればよい。
【0084】
ステップS816では、情報処理装置101のCPU201は、最接近距離が複数あるか否かを判定する。ステップS811で前述した通り、測定した最短距離と最接近距離が同じの場合、新たに最接近距離テーブル730にレコードを作成して、記録している。つまり、同じ距離を持つ最接近距離が複数存在する可能性がある。この場合には、その複数の動作状態をそれぞれユーザに提示する必要があるので、このような判定を行っている。より具体的には、最接近距離テーブル730に複数のレコードがある場合に、最接近距離が複数あると判定する。最接近距離が複数あると判定した場合には、ステップS817に処理を進め、最接近距離が複数ないと判定した場合には、ステップS818に処理を進める。
【0085】
ステップS817では、情報処理装置101のCPU201は、入力受付部322を用いて、最短距離測定画面500に備える次へボタン505が押下されたか否かを判定する。次へボタン505が押下されたと判定した場合には、ステップS815に処理を戻し、まだ再現していない最接近距離の動作状態を再現する。このように、次へボタン505を押下する度に、別の最接近距離の動作状態を再現することができる。次へボタン505が押下されたと判定しなかった場合には、ステップS818に処理を進める。図9の処理イメージ920では、処理イメージ910で再現された最接近距離とは異なる最接近距離を測定した際の動作状態を再現している。次へボタン505が押下されると、第1の部品データ601を動作させ、処理イメージ920に示すような状態で表示する。
【0086】
ステップS818では、情報処理装置101のCPU201は、入力受付部322を用いて、最短距離測定画面500に備える「測定終了」を示す制御ボタン503の押下がなされたか否かを判定する。制御ボタン503が押下されたと判定した場合には、制御ボタン503のキャプションを「測定終了」から「測定開始」に変え、ステップS819に処理を進める。制御ボタン503が押下されたと判定しなかった場合には、ステップS802に処理を戻す。
【0087】
ステップS809では、情報処理装置101のCPU201は、ステップS801で切り替えられたモードを元の通常のモードに戻す。より具体的には、最短距離取得指示部324から最短距離取得部312に対して、最短距離の取得を終了するよう指示を出す。最短距離取得部312は、これを受け取り、モード切替部313に対して、通常のモードに戻るよう指示を出すと、モード切替部313が最短距離を測定するモードから、通常のモードに切り替える。通常のモードは、前述した通り、可動部を備える部品データをドラッグしても、最短距離を測定しないモードである。この通常のモードに切り替えたら、最短距離測定処理を終了し、前述したステップS408に処理を進める。
【0088】
以上説明したように、本実施形態によれば、可動部を有する部品データの可動域のうちユーザからの指示に応じた可動域で動作する当該部品データと、当該部品データとは異なる部品データとが最接近する距離を容易に特定できるので、作業者の経験や勘に頼ることなく、かつ作業者の手間を軽減することの可能な効果を奏する。
【0089】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
【0090】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【0091】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0092】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
【0093】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
【0094】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【0095】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0096】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0097】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0098】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【0099】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0100】
100 3次元CADシステム
101 情報処理装置
102 サーバ
103 ネットワーク
201 CPU
202 RAM
203 ROM
204 システムバス
205 入力コントローラ
206 ビデオコントローラ
207 メモリコントローラ
208 通信I/F(インターフェース)コントローラ
209 入力装置
210 ディスプレイ装置
211 外部メモリ
図1
図2
図3
図4
図5
図6
図7
図8
図9