(57)【要約】【課題】３次元モデルの挿入箇所に対して挿入する部品を容易に選択可能な仕組みを提供すること【解決するための手段】部品を取得して、部品を配置する３次元空間上の位置を特定可能な３次元モデルの構成情報を取得して、取得された３次元モデルの構成情報を一覧表示し、一覧表示された各構成情報から特定される位置にいずれの部品を配置するかの選択指示を受け付け、前記構成情報から特定される位置に選択指示がされた部品を配置して前記表示手段で表示すべく制御する【選択図】図４
2020057440.tif 000002
【特許請求の範囲】
【請求項１】
部品によって表現される３次元モデルを表示する表示手段を備える情報処理装置であって、
部品を記憶する記憶手段より部品を取得する部品取得手段と、
部品を配置する３次元空間上の位置を特定可能な３次元モデルの構成情報を取得する構成情報取得手段と、
前記構成情報取得手段で取得された３次元モデルの構成情報を一覧表示する一覧表示手段と、
前記一覧表示手段で表示された各構成情報から特定される位置に、前記部品取得手段で取得されたいずれの部品を配置するかの選択指示を受け付ける選択指示受付手段と、
前記構成情報から特定される位置に前記選択指示受付手段で選択指示がされた部品を配置して前記表示手段で表示すべく制御する制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記構成情報取得手段は、前記表示手段により表示中の３次元モデルの前記構成情報を取得し、
前記制御手段は、前記構成情報から特定される、前記表示手段で表示中の３次元モデルの位置に前記選択指示受付手段で選択指示がされた部品を配置して表示すべく制御することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記部品取得手段で取得された部品を、前記一覧表示手段で一覧表示される構成情報に対応付けて選択可能に表示すべく設定する設定手段と、
前記一覧表示手段で一覧表示された構成情報の示す径を基準に、前記設定手段において前記部品取得手段で取得されたいずれの部品を前記構成情報に対応付けて設定するかを示す閾値を記憶する閾値記憶手段と、
前記設定手段により、前記閾値記憶手段に記憶された閾値に従って前記構成情報に対応付けて設定された前記部品を、前記構成情報に対応付けて前記選択指示受付手段により選択可能に表示する部品表示手段と、
を備えることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記構成情報取得手段で構成情報を取得する３次元モデルがアセンブリファイルか判定する判定手段と、
を備え、
前記一覧表示手段は、前記判定手段で前記３次元モデルがアセンブリファイルであると判定された場合に、前記構成情報取得手段で取得された３次元モデルの構成情報を一覧表示することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記構成情報取得手段で取得する構成情報の種類の指定を受け付ける指定受付手段と、
を備え、
前記構成情報取得手段は、前記指定受付手段で指定を受け付けた種類の構成情報を前記３次元モデルから取得することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記記憶手段は、前記情報処理装置と通信可能に接続されたサーバ装置が備える記憶手段であり、
部品取得手段は、前記サーバ装置の前記記憶手段に記憶されている前記部品を取得することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記構成情報は、前記３次元モデルに設定されたフィーチャの中の穴フィーチャであり、前記部品は前記穴フィーチャの示す穴に挿入して配置するボルトであって、
前記構成情報取得手段は、前記３次元モデルに設定された穴フィーチャの情報を取得し、
前記部品取得手段は、前記記憶手段に記憶されているボルトを取得することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記制御手段は、前記３次元モデルのアセンブリファイルに、前記構成情報から特定される３次元空間上の位置を配置位置とする、前記選択指示受付手段で選択指示がされた部品を参照するコンポーネントを追加する制御をすることで、前記構成情報から特定される位置に前記選択指示受付手段で選択指示がされた部品を配置して前記表示手段で表示させることを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
部品によって表現される３次元モデルを表示する表示手段を備える情報処理装置で実行が可能なプログラムであって、
前記情報処理装置を、
部品を記憶する記憶手段より部品を取得する部品取得手段と、
部品を配置する３次元空間上の位置を特定可能な３次元モデルの構成情報を取得する構成情報取得手段と、
前記構成情報取得手段で取得された３次元モデルの構成情報を一覧表示する一覧表示手段と、
前記一覧表示手段で表示された各構成情報から特定される位置に、前記部品取得手段で取得されたいずれの部品を配置するかの選択指示を受け付ける選択指示受付手段と、
前記構成情報から特定される位置に前記選択指示受付手段で選択指示がされた部品を配置して前記表示手段で表示すべく制御する制御手段として機能させることを特徴とする情報処理装置のプログラム。
【請求項１０】
前記構成情報取得手段は、前記表示手段により表示中の３次元モデルの前記構成情報を取得し、
前記制御手段は、前記構成情報から特定される、前記表示手段で表示中の３次元モデルの位置に前記選択指示受付手段で選択指示がされた部品を配置して表示すべく制御することを特徴とする請求項９に記載の情報処理装置のプログラム。
【請求項１１】
前記情報処理装置を、
前記部品取得手段で取得された部品を、前記一覧表示手段で一覧表示される構成情報に対応付けて選択可能に表示すべく設定する設定手段と、
前記一覧表示手段で一覧表示された構成情報の示す径を基準に、前記設定手段において前記部品取得手段で取得されたいずれの部品を前記構成情報に対応付けて設定するかを示す閾値を記憶する閾値記憶手段と、
前記設定手段により、前記閾値記憶手段に記憶された閾値に従って前記構成情報に対応付けて設定された前記部品を、前記構成情報に対応付けて前記選択指示受付手段により選択可能に表示する部品表示手段として機能させることを特徴とする請求項９又は１０に記載の情報処理装置のプログラム。
【請求項１２】
前記情報処理装置を、
前記構成情報取得手段で構成情報を取得する３次元モデルがアセンブリファイルか判定する判定手段として機能させ、
前記一覧表示手段は、前記判定手段で前記３次元モデルがアセンブリファイルであると判定された場合に、前記構成情報取得手段で取得された３次元モデルの構成情報を一覧表示することを特徴とする請求項９乃至１１のいずれか１項に記載の情報処理装置のプログラム。
【請求項１３】
前記情報処理装置を、
前記構成情報取得手段で取得する構成情報の種類の指定を受け付ける指定受付手段として機能させ、
前記構成情報取得手段は、前記指定受付手段で指定を受け付けた種類の構成情報を前記３次元モデルから取得することを特徴とする請求項９乃至１２のいずれか１項に記載の情報処理装置のプログラム。
【請求項１４】
前記記憶手段は、前記情報処理装置と通信可能に接続されたサーバ装置が備える記憶手段であり、
部品取得手段は、前記サーバ装置の前記記憶手段に記憶されている前記部品を取得することを特徴とする請求項９乃至１３のいずれか１項に記載の情報処理装置のプログラム。
【請求項１５】
前記構成情報は、前記３次元モデルに設定されたフィーチャの中の穴フィーチャであり、前記部品は前記穴フィーチャの示す穴に挿入して配置するボルトであって、
前記構成情報取得手段は、前記３次元モデルに設定された穴フィーチャの情報を取得し、
前記部品取得手段は、前記記憶手段に記憶されているボルトを取得することを特徴とする請求項９乃至１４のいずれか１項に記載の情報処理装置のプログラム。
【請求項１６】
前記制御手段は、前記３次元モデルのアセンブリファイルに、前記構成情報から特定される３次元空間上の位置を配置位置とする、前記選択指示受付手段で選択指示がされた部品を参照するコンポーネントを追加する制御をすることで、前記構成情報から特定される位置に前記選択指示受付手段で選択指示がされた部品を配置して前記表示手段で表示させることを特徴とする請求項９乃至１５のいずれか１項に記載の情報処理装置のプログラム。
【請求項１７】
部品によって表現される３次元モデルを表示する表示手段を備える情報処理装置の制御方法であって、
部品を記憶する記憶手段より部品を取得する部品取得工程と、
部品を配置する３次元空間上の位置を特定可能な３次元モデルの構成情報を取得する構成情報取得工程と、
前記構成情報取得工程で取得された３次元モデルの構成情報を一覧表示する一覧表示工程と、
前記一覧表示工程で表示された各構成情報から特定される位置に、前記部品取得工程で取得されたいずれの部品を配置するかの選択指示を受け付ける選択指示受付工程と、
前記構成情報から特定される位置に前記選択指示受付工程で選択指示がされた部品を配置して前記表示工程で表示すべく制御する制御工程と、
を含むことを特徴とする情報処理装置の制御方法。
【請求項１８】
部品を記憶する記憶手段を備えるサーバ装置と、部品によって表現される３次元モデルを表示する表示手段を備える情報処理装置とを含む情報処理システムであって、
前記記憶手段より部品を取得する部品取得手段と、
部品を配置する３次元空間上の位置を特定可能な３次元モデルの構成情報を取得する構成情報取得手段と、
前記構成情報取得手段で取得された３次元モデルの構成情報を一覧表示する一覧表示手段と、
前記一覧表示手段で表示された各構成情報から特定される位置に、前記部品取得手段で取得されたいずれの部品を配置するかの選択指示を受け付ける選択指示受付手段と、
前記構成情報から特定される位置に前記選択指示受付手段で選択指示がされた部品を配置して前記表示手段で表示すべく制御する制御手段と、
を備えることを特徴とする情報処理システム。
【請求項１９】
部品を記憶する記憶手段を備えるサーバ装置と、部品によって表現される３次元モデルを表示する表示手段を備える情報処理装置とを含む情報処理システムで実行が可能なプログラムであって、
前記情報処理システムを、
前記記憶手段より部品を取得する部品取得手段と、
部品を配置する３次元空間上の位置を特定可能な３次元モデルの構成情報を取得する構成情報取得手段と、
前記構成情報取得手段で取得された３次元モデルの構成情報を一覧表示する一覧表示手段と、
前記一覧表示手段で表示された各構成情報から特定される位置に、前記部品取得手段で取得されたいずれの部品を配置するかの選択指示を受け付ける選択指示受付手段と、
前記構成情報から特定される位置に前記選択指示受付手段で選択指示がされた部品を配置して前記表示手段で表示すべく制御する制御手段として機能させることを特徴とする情報処理システム。
【請求項２０】
部品を記憶する記憶手段を備えるサーバ装置と、部品によって表現される３次元モデルを表示する表示手段を備える情報処理装置とを含む情報処理システムの制御方法であって、
前記記憶手段より部品を取得する部品取得工程と、
部品を配置する３次元空間上の位置を特定可能な３次元モデルの構成情報を取得する構成情報取得工程と、
前記構成情報取得工程で取得された３次元モデルの構成情報を一覧表示する一覧表示工程と、
前記一覧表示工程で表示された各構成情報から特定される位置に、前記部品取得工程で取得されたいずれの部品を配置するかの選択指示を受け付ける選択指示受付工程と、
前記構成情報から特定される位置に前記選択指示受付工程で選択指示がされた部品を配置して前記表示工程で表示すべく制御する制御工程と、
を含むことを特徴とする情報処理システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、その制御方法及びプログラムに関する。
【背景技術】
【０００２】
製造業などにおいて、設計工程に３次元モデルを編集する３次元ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ／以降、ＣＡＤと記載）ソフトウェアの導入が進んでいる。
【０００３】
特許文献１では、３次元モデルの穴部を特定し、穴部に対応する予め決められた汎用部品を当該穴部に合致するように位置あわせをすることで、手動での部品の位置あわせの作業負荷を軽減する仕組みが公開されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１８７２４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１のように穴に対応する部品が決まっていない場合、ユーザは穴に対応する部品をどの部品にするかを別途選別し、特許文献１のシステムに登録してから、特許文献１のシステムを機能させて穴と部品との位置あわせ処理をさせなければならず手間である。
【０００６】
本発明は、３次元モデルの挿入箇所に対して挿入する部品を容易に選択可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、部品によって表現される３次元モデルを表示する表示手段を備える情報処理装置であって、部品を記憶する記憶手段より部品を取得する部品取得手段と、部品を配置する３次元空間上の位置を特定可能な３次元モデルの構成情報を取得する構成情報取得手段と、前記構成情報取得手段で取得された３次元モデルの構成情報を一覧表示する一覧表示手段と、前記一覧表示手段で表示された各構成情報から特定される位置に、前記部品取得手段で取得されたいずれの部品を配置するかの選択指示を受け付ける選択指示受付手段と、前記構成情報から特定される位置に前記選択指示受付手段で選択指示がされた部品を配置して前記表示手段で表示すべく制御する制御手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、３次元モデルの挿入箇所に対して挿入する部品を容易に選択できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態における、情報処理システムの構成の一例を示す図である。
【図２】本発明の実施形態における、各種装置のハードウェア構成の一例を示す図である。
【図３】本発明の実施形態における、各種装置の機能構成の一例を示す図である。
【図４】本発明の第１の実施形態における、ボルト挿入処理の流れを示すフローチャートである。
【図５】本発明の第２の実施形態における、穴及びボルトのフィルタリング処理の流れを示すフローチャートである。
【図６】本発明の実施形態における、３次元モデル表示画面の構成の一例を示す図である。
【図７】本発明の実施形態における、ボルト挿入画面の構成の一例を示す図である。
【図８】本発明の実施形態における、ボルト挿入画面の構成の一例を示す図である。
【図９】本発明の実施形態における、ボルト挿入前後の３次元モデル表示画面の様子を示す図である。
【図１０】本発明の実施形態における、各種データの構成の一例を示す図である。
【図１１】本発明の実施形態における、穴分類の構成の一例を示す図である。
【図１２】本発明の実施形態における、ボルト分類の構成の一例を示す図である。
【図１３】本発明の実施形態における、各種データの構成の一例を示す図である。
【図１４】本発明の第３の実施形態における、ボルトの削除処理の流れを示すフローチャートである。
【図１５】本発明の第３の実施形態における、ボルト挿入画面の構成の一例を示す図である。
【図１６】本発明の第３の実施形態における、コンポーネントの削除に応じた部品（ボルト）の非表示の様子を示す図である。
【図１７】本発明の第３の実施形態における、ボルト挿入画面の構成の一例を示す図である。
【図１８】本発明の第４の実施形態における、ボルトの識別表示の様子の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の実施の形態の一例について説明する。
【００１１】
まず図１を参照して、本発明の実施形態における、情報処理システムの構成の一例について説明する。
【００１２】
ＰＣ１００にはＣＡＤソフト（ＣＡＤソフトウェアアプリケーション１１０）がインストールされている。また、ボルト挿入ツール（ボルト挿入ツール１２０）が記憶されており、ＣＡＤソフトにアドオンされているものとする。
【００１３】
尚、ＣＡＤソフトでは穴形状を作成するコマンドが幾つか盛り込まれているが、その中には穴の規格や種類、具体的にはＪＩＳや座ぐり穴、を設定することで穴形状を作成するコマンド（穴ウィザード）が存在する。このコマンドで作成された部位と穴情報（穴のパラメータ／穴の構成情報）はＣＡＤソフト上では1つのフィーチャ（穴フィーチャ）として記憶・管理されるものである。
【００１４】
穴ウィザード以外のコマンドで作成されたフィーチャも含めて、展開中の３次元モデル（３次元モデルの面）に対して作成されたフィーチャの一覧（実行されたウィザードの一覧）を図１０のフィーチャ一覧１０００に示す。また、当該フィーチャ一覧１０００の中の穴フィーチャの一覧及びその構成情報を穴フィーチャ構成情報１０１０に示す。図１０については後述する。
【００１５】
サーバ２００には、ＰＣ１００で展開するＣＡＤの３次元モデルに挿入するためのボルトの３次元モデルが記憶されている。
【００１６】
通常、ＣＡＤソフト自体が管理している規格、パラメータのボルトがＣＡＤソフトの管理フォルダに保存されているが、例えば当該ＣＡＤソフトの管理するボルト以外の、ユーザが用意したオリジナルのボルトを３次元モデルに挿入したいことがある。既存のＣＡＤソフトの機能では当該ＣＡＤソフトの管理しているボルトを選択することしかできないため、オリジナルのボルトを選択して３次元モデル上に挿入・配置することができない。
【００１７】
よって本発明では、ＰＣ１００に記憶されたボルト挿入ツールを起動し、サーバ２００に記憶されたオリジナルのボルトの情報を取得して読み出し、どの穴にどのボルトを挿入するかの選択を受け付けて、当該どの穴にどのボルトを挿入するかの情報を３次元モデルを展開中のＣＡＤソフトに伝達して挿入処理を実行させることで、３次元モデルの挿入箇所に対して挿入する部品を容易に選択させ、当該部品の挿入処理を適切に実行させることができる。
【００１８】
ここでいうＣＡＤソフトの管理するボルトとは、ＣＡＤソフトの画面上で穴に挿入する部品として選択可能なボルトであって、ＰＣ１００のＣＡＤソフトのインストールされたフォルダ以下の階層に記憶されているボルトのことである。
【００１９】
図１に示すように、ＰＣ１００とサーバ２００はネットワーク（例えばＬＡＮ１０１）で通信可能に接続されている。以上が図１の説明である。
【００２０】
次に図２を参照して、本発明の実施形態における、各種装置のハードウェア構成の一例について説明する。
【００２１】
図２は、図１に示したＰＣ１００、サーバ２００に適用可能なハードウェア構成を示すブロック図である。
【００２２】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００２３】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードして、当該ロードしたプログラムを実行することで各種動作を実現するものである。
【００２４】
また、２０５は入力コントローラで、キーボード（ＫＢ）２０９や不図示のマウス等のポインティングデバイス等からの入力を制御する。２０６はビデオコントローラで、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器への表示を制御する。なお、図２では、ＣＲＴ２１０と記載しているが、表示器はＣＲＴだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
【００２５】
２０７はメモリコントローラで、ブートプログラム，各種のアプリケーション，フォントデータ，ユーザファイル，編集ファイル，各種データ等を記憶するハードディスク（ＨＤ）や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２６】
２０８は通信Ｉ／Ｆコントローラで、ネットワーク（例えば、図１に示したＬＡＮ１０１）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００２７】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２８】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。以上が図２の説明である。
【００２９】
次に図３を参照して、本発明の実施形態における、各種装置の機能構成の一例について説明する。
【００３０】
ＣＡＤソフト記憶部３１１は、ＣＡＤソフトウェアアプリケーション１１０を記憶する記憶部である。ボルト挿入ツール記憶部３１２は、ＣＡＤソフトにアドオンするボルト挿入ツール１２０を記憶する記憶部である。
【００３１】
穴情報取得部３１３は、ボルト挿入ツールがＣＡＤソフトに対し、ＣＡＤソフトで展開中の３次元モデル（アセンブリ）の穴フィーチャの一覧を要求し、ＣＡＤソフトから穴フィーチャの一覧を取得する取得部である。取得する穴フィーチャの一覧は、穴フィーチャ構成情報１０１０（図１０）に示す。
【００３２】
ボルト情報取得部３１４は、ボルト挿入ツールがサーバ２００の外部メモリからボルトの情報（例えば、図１２のボルト分類１２００に示すボルトの企画を含む分類の情報や、ボルト１２１０に示すボルトの構成情報）を取得する取得部である。
【００３３】
ボルト選択受付部３１５は、ボルト挿入ツールが図７、図８に示すようなボルト挿入画面において、穴情報取得部３１３で取得した穴情報の示す穴に挿入するボルトを、ボルト情報取得部３１４で取得したボルトの中から選択する選択指示を受け付ける機能部である。
【００３４】
ボルト挿入実行部３１６は、ＣＡＤソフトがボルト挿入ツールからの指示を受け付けて、ボルト挿入ツールから指定された穴に、ボルト挿入ツールから指定されたボルトを挿入する処理を行う機能部である。具体的には、ボルト挿入ツールがボルト挿入画面においてボルトの挿入実行の指示を受け付けることで、各穴と各穴に挿入する部品として選択されたボルトの情報をＣＡＤソフトに送信し、また、ＣＡＤソフトに対して、各ボルトの位置を各穴の位置に一致して配置するよう指示をする。当該指示を受け付けたＣＡＤソフトが、当該指示に従ってボルトの形状のデータを読み込み、展開中の３次元モデル上の、挿入する穴の位置にと同じ位置にボルトの位置情報を更新して、３次元モデルのファイルを更新（上書き）する。
【００３５】
ボルト情報記憶部３２１は、ボルトの情報を（例えば、図１２のボルト分類１２００に示すボルトの企画を含む分類の情報や、ボルト１２１０に示すボルトの構成情報）を記憶する記憶部である。以上が図３の説明である。
【００３６】
＜第１の実施形態＞
【００３７】
以下、図４及び図６〜図１３を参照して、本発明の第１の実施形態について説明する。図４の各ステップ（各処理）は、ＰＣ１００のＣＰＵ２０１が、ＰＣ１００にインストールされたＣＡＤソフトまたはボルト挿入ツールの機能を用いて実行するものとする。
【００３８】
まず図４を参照して、本発明の第１の実施形態における、ボルト挿入処理の流れについて説明する。
【００３９】
ＰＣ１００のＣＰＵ２０１は、操作者（ユーザ）によるＣＡＤソフトの操作を受け付けることによってＣＡＤソフトの起動、及び当該起動したＣＡＤソフトによる３次元モデルの展開・表示処理を行う。また、当該ＣＡＤソフトの画面（例えば図６に示す３次元モデル表示画面６００）において、ボルト挿入ツールの起動操作を受け付けることによりボルト挿入ツールを起動する（ステップＳ４０１）。
【００４０】
起動したボルト挿入ツールは、サーバ２００にアクセスして、サーバ２００の所定の記憶領域に記憶されているボルトの情報（図１２に示すボルト分類１２００と、ボルト１２１０）を取得する（ステップＳ４０２／部品取得手段に該当）。ボルト分類１２００は、ボルト種類１２０１、規格１２０２、仕様１２０３、ボルトの外形寸法（呼び径）１２０４から構成される、呼び径１２０４を特定可能な、ボルト種類、規格、仕様の対応付け情報である。ボルト１２１０は、ボルトの形状をした部品のファイル名、ボルトの形状・呼び径を特定するためのボルト種類１２１２、規格１２１３、ボルト仕様１２１４、ファイル名１２１１の示すボルトの部品ファイルが記憶されているサーバ２００上のファイルパス１２０５から構成されている。
【００４１】
ボルト挿入ツールは、ＣＡＤソフトに展開中のファイル（展開中のファイルが複数ある場合は、アクティブになっているファイル（アクティブファイル））を問合せ、展開中のファイルの拡張子を取得し、展開中のファイルがアセンブリファイルか否かを判定する（ステップＳ４０３）。例えば、ファイルの拡張子＝ａｓｓｙであればアセンブリファイルであり、ｐａｒｔ（又はＳＬＤＰＲＴ）であれば部品ファイルである。３次元モデル表示画面６００に表示される３次元モデルは、例えばアセンブリファイルが参照する部品ファイルの情報によって立体的に表現、描画される、各部品を組み合わせたモデルの形状のデータである。
【００４２】
展開中のファイルのうちアクティブなファイルを対象とすることで、どのファイルに対して部品を挿入するかをユーザに選択させる手間を軽減することができる。
【００４３】
尚、ここではファイルの拡張子を取得して展開中のファイルがアセンブリファイルか否かの判定を行うものとしたが、取得する情報は、展開中のファイルがアセンブリファイルか否か判断がつくものであればどのような情報でもよい。
【００４４】
ボルト挿入ツールは、展開中のファイルがアセンブリファイルでない場合（ステップＳ４０３でＮＯ）、例えば部品ファイルの場合には、不図示のエラーダイアログを表示画面に表示する（ステップＳ４１３）。展開中のファイルがアセンブリファイルである場合（ステップＳ４０３でＹＥＳ）、展開中の３次元モデルのファイルにボルトを挿入する操作をさせるべく処理をステップＳ４０５に進める。
【００４５】
なぜ展開中のファイルがアセンブリファイルでない場合にエラーを出すかについて説明する。ボルト等、何かしらの部品をある３次元モデルに挿入する場合、部品データそのものに他の部品を挿入することは考えづらいからである。例えばボルトの場合、穴の開いた板の部品ファイルそのものにボルトの部品ファイルを挿入すると、板の部品とボルトの部品が１つの部品ファイルとして構成・記憶されてしまう。通常、設計の自由度の確保のため、板、ボルト等の部品単位で自由に着脱が可能なように、挿入される部品（板の部品ファイル）と挿入する部品（ボルトの部品ファイル）は別々の部品ファイルとして記憶、管理されるものである。よって本実施形態では、アセンブリファイル以外のファイル（例：部品ファイル）に対して誤ってボルトを挿入して一体化させてしまわないようにアセンブリか否かの判定を行い、アセンブリでなければエラー表示する処理を行っている。
【００４６】
ボルト挿入ツールは、ボルト挿入画面を表示画面に表示する（ステップＳ４０５）。例えば図７のボルト挿入画面７００を表示する。
【００４７】
そして、ボルト挿入ツールは、展開中のファイルのコンポーネントを全て取得し、メモリに記憶する。具体的には、ボルト挿入ツールがＣＡＤソフトで展開中のファイルの全てのコンポーネントをＣＡＤソフトに要求し、ＣＡＤソフトが当該要求に応じて展開中のファイルの全てのコンポーネントの情報（例えば図１０のコンポーネント一覧１０２０の情報）を外部メモリから読み出してボルト挿入ツールに送信し、ボルト挿入ツールがこれを受信して取得し、メモリに記憶する。
【００４８】
コンポーネント一覧１０２０について説明する。コンポーネント名１０２１は、コンポーネントの名称であり識別情報である。コンポーネントは、展開中の３次元モデル（アセンブリ）の中において、ある部品を参照していることを示す情報である。参照部品名１０２２は、コンポーネントが参照している部品のファイル名であり、識別情報である。当該部品のファイルはＰＣ１００の外部メモリに記憶されており、当該部品の記憶場所はファイル名と対応付けて別途記憶されているものとする。位置１０２３は、コンポーネントにより表される部品（参照部品）の、３次元モデル表示画面で表示する３次元空間上のＸ，Ｙ、Ｚ座標（配置位置）である。方向１０２４は、当該部品の角度（向き）である。
【００４９】
また、ボルト挿入ツールは、ＣＡＤソフトで展開中のファイル（３次元モデル）のコンポーネントに対応付けて設定された全てのフィーチャの情報（例えば図１０に示すフィーチャ一覧１０００）を取得してメモリに記憶する。具体的には、ボルト挿入ツールがＣＡＤソフトで展開中のファイルの全てのコンポーネントに対応する全てのフィーチャの情報をＣＡＤソフトに要求し、ＣＡＤソフトが当該要求に応じて展開中のファイルの全てのコンポーネントに対応する全てのフィーチャの情報を外部メモリから読み出してボルト挿入ツールに送信し、ボルト挿入ツールがこれを受信して取得し、メモリに記憶する。
【００５０】
フィーチャ一覧１０００について説明する。フィーチャ名１００２は、コンポーネント名１００１の示すコンポーネント（部品）に適用・設定されたフィーチャの名称であり識別情報である。タイプ１００３は、当該フィーチャが何のフィーチャ示す。タイプ１００３＝穴（ＨｏｌｅＷｉｚ）のフィーチャが穴フィーチャである。面ＩＤ１００４は、フィーチャ名１００２のフィーチャが設定されたコンポーネント名１００１の示す部品の面の識別情報である。位置１００５は、フィーチャ名１００２のフィーチャが設定された面上のＸ，Ｙ座標である。また、フィーチャの方向（例えば穴フィーチャの穴の軸方向）は、当該フィーチャの適用された面に直交する方向を示す単位ベクトルのＸ、Ｙ、Ｚ成分により特定可能なように記憶される。例えば、方向１００６の値である。
【００５１】
ボルト挿入ツールは、穴の情報を取得してボルト挿入画面のリスト表示部にリスト表示（一覧表示）する（ステップＳ４０６）。
【００５２】
具体的には、ボルト挿入ツールが、フィーチャ一覧１０００から穴フィーチャを取得して、穴フィーチャ構成情報１０１０に示すように穴フィーチャのリスト（一覧）にしてメモリ上に記憶する（構成情報取得手段に該当）。コンポーネント名１０１１、フィーチャ名１０１２は、コンポーネント名１００１、フィーチャ名１００２と同じである。穴タイプ１０１３は、穴フィーチャの穴が何の穴かを示す。当該穴タイプには例えば、穴、座ぐり穴、ねじ穴、皿穴、等の種類がある。規格１０１４は穴フィーチャの穴の規格である。穴種類１０１５は、穴タイプ１０１３の中の穴の種類を示す。穴仕様１０１６は穴の仕様の識別情報を示す。穴の径（例えば外径）は、当該穴フィーチャの穴タイプ１０１３、規格１０１４、穴種類１０１５、穴仕様１０１６の組み合わせに応じてＣＡＤソフトにおいて決定されており、穴の外径寸法１０１８に記憶されている。例えばＰＣ１００の外部メモリには、図１１に示すように、ＣＡＤソフトが管理する穴タイプ１１０１、規格１１０２、穴種類１１０３、穴仕様１１０４と、穴の外形寸法１１０５の対応付け情報が記憶されている。方向１０１７は、方向１００６と同じであるため説明は割愛する。
【００５３】
ボルト挿入ツールは、図１３の表示リスト１３１０に示すように、取得した穴フィーチャのフィーチャ名をボルト挿入画面の行に対応付けて記憶し、行ＩＤ１３１１の示すリスト表示部７０１上の行に、当該フィーチャ名１３１２の示す穴フィーチャの情報をそれぞれ表示し、リスト表示する。
【００５４】
具体的には、行ＩＤ１３１１の示す行の、コンポーネント名表示部７０２に穴フィーチャ構成情報１０１０のコンポーネント名１０１１を、穴ウィザード名表示部７０３に穴フィーチャ構成情報１０１０のフィーチャ名１０１２（行に対応するフィーチャ名１３１２）を、穴径表示部７０４に穴の外径寸法１０１８の値を、挿入するよう各表示部に対応付けて記憶し、表示画面に表示する。
【００５５】
挿入ボルト名１３１３は、行ＩＤ１３１１に対応するプルダウンリストで選択された、フィーチャ名１３１２の示す穴フィーチャに挿入するボルトのファイル名である。
【００５６】
ボルト挿入ツールは、ステップＳ４０７で、ステップＳ４０２で取得したボルトのファイル名１２１１を各行に対応するプルダウンリストに設定して記憶する。具体的には、プルダウンリスト１３２０に示すように、各行の行ＩＤ１３２１に対応するプルダウンリストごと（プルダウンリストＩＤ１３２２ごと）の当該プルダウンリストに表示する値を示す表示ボルト情報１３２３に、ステップＳ４０２で取得した全てのボルトのファイル名を挿入して記憶する。そして、ボルト挿入ツールは、表示中のボルト挿入画面においてプルダウンリスト表示部７０６に対するクリック操作を受け付けた場合に表示ボルト情報１３２３に設定されたボルトのファイル名のリストが表示されるように、ボルト挿入画面を更新する更新処理を行う（ステップＳ４０７）。
【００５７】
ボルト挿入ツールは、ステップＳ４０８で、ユーザからの操作（指示）を受け付け（ステップＳ４０８）、受け付けた指示がボルトの選択指示か判定する（ステップＳ４０９／選択指示受付手段に該当）。受け付けた指示がボルトの選択指示であった場合（ステップＳ４０９でＹＥＳ）、選択されたボルトを、当該ボルトが選択された行のフィーチャ名と対応付けて記憶し（ステップＳ４１２）、処理をステップＳ４０８の前に戻す。具体的には、ある行のプルダウンリスト表示部に対するクリック操作を受け付けると、ボルト挿入ツールは図７のボルト挿入画面７１０に示すように、クリックされた行の表示ボルト情報１３２３に格納されているボルト（ボルトのファイル名）のプルダウンリストを表示し、プルダウンリストからボルトの選択を受け付けた場合に当該ボルトの選択指示を受け付けたと判定し、当該選択されたボルトを、当該ボルトが選択されたプルダウンリスト（プルダウンリストＩＤ１３２２）に対応する行（行ＩＤ１３２１＝行ＩＤ１３１１）の挿入ボルト名１３１３に記憶する。ボルト選択後のボルト挿入画面８００を図８に示す。
【００５８】
また、ボルト挿入ツールは、選択されたボルトの画像を取得してボルト画像表示部７１１に表示する。当該ボルトの画像は、ボルトのファイル名に対応付けてサーバ２００の外部メモリに記憶されているものとする。
【００５９】
ボルト挿入ツールは、ステップＳ４０８で受け付けた指示がボルトの挿入実行指示か判定する（ステップＳ４１０）。例えば、ボルト挿入画面７００における「ボルト挿入」ボタン７１１の押下指示を受け付けた場合に、ボルトの挿入実行指示を受け付けたと判定する。
【００６０】
ボルト挿入ツールは、ステップＳ４０８で受け付けた指示がボルトの挿入実行指示でないと判定した場合（ステップＳ４１０でＮＯ）、処理をステップＳ４０８の前に戻す。
【００６１】
ステップＳ４０８で受け付けた指示がボルトの挿入実行指示であると判定した場合（ステップＳ４１０でＹＥＳ）、ボルト挿入ツールは、各行に表示されているフィーチャ名の穴フィーチャ（穴）に、各行で選択されているボルトを挿入するようＣＡＤソフトに指示する（ステップＳ４１１）。ＣＡＤソフトは当該指示を受け付け、展開中の３次元モデル上の該当する穴フィーチャの穴に選択されたボルトを挿入する。
【００６２】
具体的には、ボルト挿入ツールが表示リスト１３１０を外部メモリから取得して、フィーチャ名１３１２の穴フィーチャの位置に、当該穴フィーチャの方向と同じ方向で挿入ボルト名１３１３のボルトを挿入するよう、ＣＡＤソフトのＡＰＩを介してＣＡＤソフトに指示する。例えば、穴フィーチャの穴の軸と当該ボルトのコンポーネントの軸に平行合致をつけ、穴フィーチャの穴の位置と当該ボルトのコンポーネントの位置に一致合致をつけるようＣＡＤソフトに指示する。ボルトのコンポーネントの軸とは、ボルトのファイル自体に予め記憶されている軸フィーチャ（ボルトの軸をしめす情報）の示す軸である。また、ボルトのコンポーネントの位置とは、ボルトのファイル自体に予め記憶されている点フィーチャ（ボルトの配置する際に用いる位置／例えばボルトの頭部と円筒部とが接続されている接続部面（円）の中心点）の示す位置である。また、ＣＡＤソフトに対して当該挿入ボルト名１３１３のボルトのファイルパス１２１５を送信する。
【００６３】
ＣＡＤソフトは当該指示とボルトのファイルパスを受け付け取得すると、アセンブリ上のフィーチャ名１３１２と同じ階層に挿入ボルト名１３１３を参照するコンポーネント（挿入ボルト名１３１３のファイルパス１２１５を参照先とするショートカット）を生成して記憶する。また、当該コンポーネントの３次元空間上の位置、方向（例えば図１０の位置１０２３、方向１０２４）に、フィーチャ名１３１２の穴フィーチャの面ＩＤ１００４、位置１００５から特定される３次元空間上の穴フィーチャの位置の値、穴フィーチャの方向１０１７（穴フィーチャの軸方向）の値を設定して記憶する（例えば、穴フィーチャの穴の軸と当該ボルトのコンポーネントの軸に平行合致をつけ、穴フィーチャの穴の位置と当該ボルトのコンポーネントの位置に一致合致をつける）。
【００６４】
つまり、フィーチャ名１３１２の穴フィーチャの面ＩＤ１００４、位置１００５、方向１００６（方向１０１７）を取得して、面ＩＤ１００４、位置１００５、から特定される穴フィーチャの位置に、方向１００６（方向１０１７）の示す方向と同じ方向でボルトを挿入する（配置する）処理を行う。ボルト挿入前とボルト挿入後の３次元モデル表示画面をそれぞれ図９の９００及び９１０に示す。以上が図４の処理の説明である。
【００６５】
以上説明したように、本発明の第１の実施形態によれば、３次元モデルの挿入箇所に対して挿入する部品を容易に選択させることができる。
【００６６】
なお、アセンブリを用いたＣＡＤファイル（３次元モデルのファイル及び部品ファイル）の管理方法として、あるアセンブリのコンポーネントが参照している部品ファイルは、当該アセンブリと同じ階層かもしくは下の階層のフォルダに保存して管理することが行われている。当該管理の方法に従い、例えば、ステップＳ４１１で、上述したステップＳ４１１の処理と合わせて、ボルト挿入ツールが、挿入するボルトのファイルをサーバ２００の外部メモリからコピーしてＣＡＤソフトで展開中の（ボルトを挿入する対象の）アセンブリファイルと同じ階層のフォルダに保存し、当該保存したファイルのファイルパスをＣＡＤソフトに通知するようにしてもよい。当該通知を受け付けたＣＡＤソフトは、ステップＳ４１１で作成するコンポーネントの参照先のファイルパスを、ボルト挿入ツールから通知されたＰＣ１００上の、展開中のアセンブリファイルと同じ階層におけるファイルパスに置き換えて記憶し、当該ＰＣ１００上のファイルパスから挿入するボルトの部品ファイルを読み込んで（参照して）、上述したステップＳ４１１の通りに３次元空間上に配置して穴に挿入するようにしてもよい。
【００６７】
＜第２の実施形態＞
【００６８】
次に図５を参照して、本発明の第２の実施形態について説明する。図５は、本発明の第２の実施形態における、穴及びボルトのフィルタリング処理の流れを示すフローチャートである。
【００６９】
本発明の第２の実施形態によれば、部品の挿入箇所の径を用いて、当該挿入箇所に対して挿入する部品を容易に選択させることができる。
【００７０】
例えば、抽出した穴の外径に近い外径のボルトを、当該穴に挿入するボルトの候補として選択可能に表示することで、ボルトの選択を容易にする。
【００７１】
第２の実施形態において、第１の実施形態と共通する処理、データ、画面についての説明は割愛する。
【００７２】
図４のステップＳ４０８で指示を受け付けた場合に、図５の処理を開始するものとする。ボルト挿入ツールは、ステップＳ４０８で受け付けた指示が穴フィーチャの再取得指示か判定する（ステップＳ５０１）。具体的には、図７のボルト挿入画面における「穴ウィザード再取得」ボタン７０８の押下指示を受け付けた場合に、穴フィーチャの再取得指示がされたと判定する。
【００７３】
ステップＳ４０８で受け付けた指示が穴フィーチャの再取得指示であると判定した場合（ステップＳ５０１でＹＥＳ）、穴ウィザードフィルタ部７０７においてチェックがされている穴フィーチャの穴タイプを取得する（ステップＳ５０８）。当該チェックは、チェックボックスに対するユーザからの操作指示を受け付けることで、ボルト挿入ツールが実行するものである（指定受付手段に該当）。初回起動時の初期設定では、全ての穴タイプのチェックボックスにチェックが入っているものとする。
【００７４】
ボルト挿入ツールは、ＣＡＤソフトで展開中の３次元モデル（アセンブリファイル）のコンポーネントを全て取得する要求をＣＡＤソフトに送信し、ＣＡＤソフトが当該要求を受け付けてＣＡＤソフトが展開中の３次元モデルの全てのコンポーネントの情報（例えば図１０のコンポーネント一覧１０２０及び各コンポーネントに対応するフィーチャの情報であるフィーチャ一覧１０００）を記憶部から取得してボルト挿入ツールに送信する。ボルト挿入ツールは当該コンポーネント一覧１０２０、フィーチャ一覧１０００を取得する（ステップＳ５０９）。
【００７５】
ボルト挿入ツールは、ステップＳ５０９で取得したフィーチャ一覧１０００の中からステップＳ５０８で取得した穴タイプ（穴ウィザードフィルタ部７０７においてチェックがされている穴フィーチャの穴タイプ）を持つ穴フィーチャを取得して、穴フィーチャのリスト（図１０の穴フィーチャ構成情報１０１０）を作成して記憶部に記憶する。そして、図１３の表示リスト１３１０に示すように、作成した当該穴フィーチャ構成情報１０１０の穴フィーチャのフィーチャ名をボルト挿入画面の行に対応付けて記憶し、行ＩＤ１３１１の示すリスト表示部７０１上の行に、当該フィーチャ名１３１２の示す穴フィーチャの情報をそれぞれ表示し、リスト表示する（ステップＳ５１０）。
【００７６】
具体的には、行ＩＤ１３１１の示す行の、コンポーネント名表示部７０２に穴フィーチャ構成情報１０１０のコンポーネント名１０１１を、穴ウィザード名表示部７０３に穴フィーチャ構成情報１０１０のフィーチャ名１０１２（行に対応するフィーチャ名１３１２）を、穴径表示部７０４に穴の外径寸法１０１８の値を、挿入するよう各表示部に対応付けて記憶し、表示画面に表示する。その後、処理を図４のステップＳ４０７に移行する。
【００７７】
ボルト挿入ツールは、ステップＳ４０８で受け付けた指示が穴フィーチャの再取得指示でないと判定した場合（ステップＳ５０１でＮＯ）、ステップＳ４０８で受け付けた指示がボルトのフィルタリング指示か判定する（ステップＳ５０２）。
【００７８】
例えば、図７のボルト挿入画面のボルト挿入フィルタの欄において、「外径が近いボルトのみ選択」のチェックボックスにチェックが入った状態で閾値入力受付部７０９に対する数値の入力指示を受け付けた場合に、ボルトのフィルタリング指示を受け付けたと判定する。また、閾値入力受付部７０９に閾値の値が入力されている状態で、「外径が近いボルトのみ選択」のチェックボックスにチェックを入れる指示を受け付けた場合に、ボルトのフィルタリング指示を受け付けたと判定する。
【００７９】
当該閾値は、リスト表示部７０１に表示中の各穴フィーチャに対応するプルダウンリスト表示部７０６に各穴フィーチャの穴の外径からどの程度近い外径のボルトを表示するかを特定・決定するための数値であって、穴の外径を基準として、当該穴の外径からどの程度の近い外径のボルトをプルダウンリストに表示するかを特定するための値である。
【００８０】
例えば、閾値＝±１ｍｍの場合、外径１０１８（穴の外径寸法１０１８）が２５．５ｍｍの穴のプルダウンリストには、呼び径１２０４が２４．５ｍｍ〜２６．５ｍｍのボルトが設定される。
【００８１】
ボルト挿入ツールは、ステップＳ４０８で受け付けた指示がボルトのフィルタリング指示でないと判定した場合（ステップＳ５０２でＮＯ）、処理を図４のステップＳ４０９に移行する。ステップＳ４０８で受け付けた指示がボルトのフィルタリング指示であると判定した場合（ステップＳ５０２でＹＥＳ）、閾値入力受付部７０９に入力されている値を図１３のフィルタ閾値１３００（閾値記憶手段に該当）に設定してＰＣ１００の外部メモリに記憶し、取得する（ステップＳ５０３）。また、プルダウンリスト１３２０の表示ボルト情報１３２３の情報を全て削除して、ステップＳ５０４以降の処理を実行する。
【００８２】
ボルト挿入ツールは、表示リスト１３１０のフィーチャ名１３１２に記憶されているフィーチャ名の穴フィーチャ、つまり、リスト表示部７０１に表示中の全ての穴フィーチャについてステップＳ５０４〜ステップＳ５０７の処理を実行する。
【００８３】
ボルト挿入ツールは、表示リスト１３１０のフィーチャ名１３１２のうち未処理のフィーチャ名１３１２の穴フィーチャ（穴フィーチャ構成情報１０１０の情報）を１つ取得する（ステップＳ５０４）。
【００８４】
ボルト挿入ツールは、ステップＳ４０２で取得して外部メモリに記憶したボルト１２１０の全てのボルトに対してステップＳ５０５〜ステップＳ５０７の処理を実行する。ボルト挿入ツールは、ボルト１２１０から未処理のボルトを１つ取得し（ステップＳ５０５）、ステップＳ５０４で取得した穴フィーチャの穴の外径と、ステップＳ５０５で取得したボルトの外径の差が閾値以内か判定する（ステップＳ５０６）。例えば、フィルタ閾値１３００＝±１ｍｍで、穴の外径１０１８（穴の外径寸法１０１８）＝２５．５ｍｍの場合、ステップＳ５０５で取得したボルトの外径（呼び径１２０４）が２４．５ｍｍ〜２６．５ｍｍの範囲におさまる場合に、閾値の条件を満たす（閾値以内である）と判定する。
【００８５】
ステップＳ５０４で取得した穴フィーチャの穴の外径と、ステップＳ５０５で取得したボルトの外径の差が閾値以内であると判定した場合（ステップＳ５０６でＹＥＳ）、ステップＳ５０４で取得した穴フィーチャのフィーチャ名１３１２に対応する行ＩＤ１３１１を特定し、当該行ＩＤ１３１１に対応するプルダウンリスト（プルダウンリストＩＤ１３２２）の表示ボルト情報１３２３に当該閾値以内であると判定されたボルトのファイル名を挿入して記憶する（ステップＳ５０７）。つまり、穴に対応するプルダウンリストに当該穴の外径から所定範囲内の外径を持つボルトを設定する。
【００８６】
ステップＳ５０４で取得した穴フィーチャの穴の外径と、ステップＳ５０５で取得したボルトの外径の差が閾値以内でないと判定した場合（ステップＳ５０６でＮＯ）、処理をステップＳ５０５に戻して、未処理のボルトを取得する処理を行う。
【００８７】
ステップＳ５０５〜ステップＳ５０７の処理を全てのボルトに対して実行した後（つまり、ステップＳ５０４で取得した穴フィーチャ穴対応するプルダウンリストに当該穴フィーチャの外径から所定範囲内の外径を持つ全てのボルトを設定した後）、処理をステップＳ５０４に戻して未処理の穴フィーチャを取得する処理を行う。
【００８８】
ステップＳ５０４〜ステップＳ５０７の処理を全ての穴フィーチャ、全てのボルトに対して実行した場合、ボルトのフィルタリングを完了したものと判断して、処理を図４のステップＳ４０９に移行する。フィルタリング前後のプルダウンリストの様子をプルダウンリスト１３２０及びプルダウンリスト１３３０（フィルタ後プルダウンリスト）に示す。つまり、ステップＳ５０７の処理終了後にユーザからプルダウンリスト表示部７０６に対するクリック操作を受け付けると、ボルト挿入ツールは、クリックを受け付けた行のフィルタリング後のボルト名のリスト（図１３のプルダウンリスト１３３０の表示ボルト情報のリスト）を選択可能に表示する（部品表示手段に該当）。
【００８９】
以上説明したように、本発明の第２の実施形態によれば、部品の挿入箇所の径を用いて、当該挿入箇所に対して挿入する部品を容易に選択させることができる。
【００９０】
例えば、抽出した穴の外径に近い外径のボルトを、当該穴に挿入するボルトの候補として選択可能に表示することで、ボルトの選択を容易にすることができる。
【００９１】
なお、上述した第２の実施形態では、ユーザからの穴フィーチャの再取得指示、ボルトのフィルタ指示を受け付けることで、既にＣＡＤソフトから取得して表示されている穴フィーチャのフィルタリングとボルトのフィルタリングを行うものとしたが、例えばボルト挿入ツールの起動のタイミングで当該フィルタリングの処理を行うようにしてもよい。
【００９２】
具体的には、図４のステップＳ４０６においてボルト挿入ツールが図５のステップＳ５０８〜ステップＳ５１０の処理を実行し、また、ステップＳ４０７においてボルト挿入ツールが図５のステップＳ５０３〜ステップＳ５０７の処理を実行することにより、ボルト挿入ツール起動後に最初に表示するボルト挿入画面において、既に穴フィーチャやボルトがフィルタリングされたボルト挿入画面７００を表示可能である。
【００９３】
特に一度当該ボルト挿入ツールを使用した後に、ユーザが当該ボルト挿入ツールを再起動する場合、前回使用時に既に穴ウィザードフィルタ部７０７においてチェックが一部外されていたり、「外径が近いボルトのみ選択」のチェックボックスにチェックが入り且つ閾値入力受付部７０９に数値が入力されたりしていることが考えられるため、再起動のタイミングで自動で穴のフィルタリング、ボルトのフィルタリングを実行することが可能となる。また、当該起動タイミングでの穴のフィルタリング、ボルトのフィルタリングを行うことで、再起動後、ユーザに改めて「穴ウィザード再取得」ボタン７０８の押下指示、閾値入力受付部に対する数値の入力指示をさせる手間を軽減できる。
【００９４】
＜第３の実施形態＞
【００９５】
次に、図１４を参照して本発明の第３の実施形態について説明する。
【００９６】
本発明の第３の実施形態によれば、既に挿入されている部品を特定して表示することができる。
【００９７】
また、挿入されている部品を適切に削除させることができる。
【００９８】
第２の実施形態において、第１の実施形態、第２の実施形態と共通する処理、データ、画面についての説明は割愛する。
【００９９】
図１４は、本発明の第３の実施形態における、ボルトの削除処理の流れを示すフローチャートである。
【０１００】
ボルト挿入ツールは、図４のステップＳ４０７の処理を実行した後、ステップＳ１４０１の処理を実行する。
【０１０１】
ボルト挿入ツールは、リスト表示部７０１に表示している穴フィーチャの穴に合致している（穴フィーチャの穴の軸と位置に合致している）コンポーネントを取得する（ステップＳ１４０１）。例えば、穴フィーチャの穴に挿入されているボルトのコンポーネントの情報を取得する。具体的には、ボルト挿入ツールが表示リスト１３１０のフィーチャ名１３１２を全て取得してＣＡＤソフトに送信し、当該フィーチャ名１３１２の穴フィーチャ（穴フィーチャの穴）に合致しているコンポーネント（部品）をＣＡＤソフトに問い合わせる。ＣＡＤソフトが当該問合せを受け付けて、表示リスト１３１０のフィーチャ名１３１２の穴フィーチャに合致しているコンポーネント名を特定してどの穴フィーチャ（フィーチャ名）の穴にどのコンポーネント（コンポーネント名、コンポーネントの参照している参照ファイル名の情報）が合致しているかを示すリストを作成してボルト挿入ツールに送信する。そしてボルト挿入ツールが当該リストを取得して記憶部に記憶し、各穴フィーチャの穴に合致しているコンポーネントが参照しているボルトのファイル名を特定する。
【０１０２】
ボルト挿入ツールは、取得した各ボルトのファイル名を取得した各穴フィーチャのフィーチャ名１３１２に対応する挿入ボルト名１３１３に挿入して記憶する。そして、表示中のボルト挿入画面を更新し、プルダウンリスト表示部７０６に挿入ボルト名１３１３を表示する。例えば図１５の１５００のような画面を表示する。
【０１０３】
図１５の１５００は、ボルト挿入画面７００に「削除」ボタン１５０１と「一括削除」ボタン１５０２を加えたボルト挿入画面１５００である。「削除」ボタン１５０１は、当該削除ボタン１５０２の行のプルダウンリストにおいて表示されているボルトを、展開中の３次元モデル（アセンブリ）から削除するためのボタンである。つまり、「削除」ボタン１５０１と同じ行の穴に挿入済みのボルトを削除するためのボタンである。「一括削除」ボタン１５０２は、リスト表示部７０１のプルダウンリストに表示されているボルトを一括で、展開中の３次元モデルから全て削除するためのボタンである。
【０１０４】
ボルト挿入ツールは指示を受け付け（ステップＳ４０８／図４のステップＳ４０８と同じ）、受け付けた指示が暴ボルトの個別削除の指示か判定する（ステップＳ１４０３）。例えば、「削除」ボタン１５０１の押下指示を受け付けた場合に、個別削除の指示を受け付けたと判定する。
【０１０５】
個別削除の指示を受け付けたと判定した場合（ステップＳ１４０３でＹＥＳ）、ボルト挿入ツールは、削除ボタンに対応する行の行ＩＤ１３１１の穴フィーチャのフィーチャ名１３１２を特定し、ステップＳ１４０１で取得したコンポーネントの中で、当該穴フィーチャに合致するコンポーネント（ボルトのコンポーネント名）を特定する（ステップＳ１４０８）。
【０１０６】
ボルト挿入ツールは、ステップＳ１４０８で特定したコンポーネントのコンポーネント名をＣＡＤソフトに通知して、当該ステップＳ１４０８で特定したコンポーネントを削除するようＣＡＤソフトに指示し、当該指示を受け付けたＣＡＤソフトが指示されたコンポーネントを削除する（ステップＳ１４０６）。つまり、穴に挿入されているボルトの情報を削除する。ＣＡＤソフトは当該コンポーネントの削除に応じて、３次元モデル表示画面上の当該削除したコンポーネントが参照していた部品（ここではボルト）を非表示にする。
【０１０７】
コンポーネントの削除に応じた部品（ボルト）の非表示の様子を図１６に示す。
【０１０８】
ボルト挿入ツールは、当該削除した（削除するようＣＡＤソフトに指示した）コンポーネントのボルトのファイル名を、押下された削除ボタンの行（行ＩＤ１３１１）の挿入ボルト名１３１３から削除し、プルダウンリスト表示部７０６において当該ファイル名を非表示にする処理を行う（ステップＳ１４０７）。そして処理を図４のステップＳ４０８に移行する。
【０１０９】
削除したボルトをプルダウンリスト表示部７０６において非表示にする様子を図１５の１５１０に示す。なお、ボルト挿入ツールは、挿入ボルト名１３１３にボルトのファイル名が記憶されていない場合は、「削除」ボタン１５０１はグレーアウトして押下できないように表示するものとする。
【０１１０】
ボルト挿入ツールは、ステップＳ４０８で受け付けた指示が個別削除の指示でないと判定した場合（ステップＳ１４０３でＮＯ）、受け付けた指示が挿入済みのボルトの一括削除の指示か判定する。例えば図１５の「一括削除」ボタン１５０２の押下を受け付けた場合に一括削除の指示を受け付けたと判定する。
【０１１１】
受け付けた指示が挿入済みのボルトの一括削除の指示でないと判定した場合（ステップＳ１４０４でＮＯ）、処理を図４のステップＳ４０９に移行する。
【０１１２】
受け付けた指示が挿入済みのボルトの一括削除の指示であると判定した場合（ステップＳ１４０４でＹＥＳ）、ボルト挿入ツールは、表示リスト１３１０のフィーチャ名１３１２を全て取得して、ステップＳ１４０１で取得したコンポーネントであって、表示リスト１３１０のフィーチャ名１３１２と一致する名称の穴フィーチャに合致するコンポーネントを特定する（ステップＳ１４０５）。
【０１１３】
ボルト挿入ツールは、ステップＳ１４０５で特定したコンポーネントのコンポーネント名をＣＡＤソフトに通知して、当該ステップＳ１４０８で特定したコンポーネントを削除するようＣＡＤソフトに指示し、当該指示を受け付けたＣＡＤソフトが指示されたコンポーネントを削除する（ステップＳ１４０６）。つまり、穴に挿入されているボルトの情報を削除する。ＣＡＤソフトは当該コンポーネントの削除に応じて、３次元モデル表示画面上の当該削除したコンポーネントが参照していた部品（ここではボルト）を非表示にする。
【０１１４】
ボルト挿入ツールは、当該削除した（削除するようＣＡＤソフトに指示した）コンポーネントのボルトのファイル名を、削除するよう指示したコンポーネントのボルトが挿入されていた（合致していた）穴フィーチャに対応する挿入ボルト名１３１３から削除し、プルダウンリスト表示部７０６において当該ファイル名を非表示にする処理を行う（ステップＳ１４０７）。そして処理を図４のステップＳ４０８に移行する。以上が図１４の説明である。
【０１１５】
本発明の第３の実施形態によれば、既に挿入されている部品を特定して表示することができる。
【０１１６】
また、挿入されている部品を適切に削除させることができる。
【０１１７】
なお、上述した第３の実施形態においては、展開中のファイルの穴フィーチャの穴に合致するボルトを全て取得してプルダウンリスト表示部７０６に表示し、自由に削除切るものとしたが、例えば、当該ボルト挿入ツール以外で挿入の指示をして挿入したボルト以外の部品（ボルト）がユーザの手動操作等により穴に挿入（合致）されている場合がある。
【０１１８】
手動挿入したボルトは残しておき、ボルト挿入ツールで自動挿入したボルトのみ削除したいことが考えられる。
【０１１９】
よって、例えば図１７に示すように、ボルト挿入画面に「ツールで挿入したボルトのみ削除」ボタン１７０１を設け、当該ボタンの押下を受け付けることで、図１７に示すように、当該ボルト挿入ツールで挿入したボルトのみを削除するようにしてもよい（図１７において、ＢｏｌｔＳ．ｐａｒｔは、ボルト挿入ツールが挿入したボルトではないものとする）。
【０１２０】
具体的には、ボルト挿入ツールが、ステップＳ４１１でボルトの挿入を指示した穴フィーチャのフィーチャ名及び挿入を指示したボルトのファイル名を対応付けて外部メモリに記憶しておく。そして、ステップＳ１４０４で「一括削除」ボタン１５０２が押下されていないと判定した場合に（ステップＳ１４０４でＮＯ）、ステップＳ４０８で受け付けた指示が、ボルト挿入ツールで挿入したボルトのみ一括削除する指示か判定する。例えば、「ツールで挿入したボルトのみ削除」ボタン１７０１の押下を受け付けた場合、ツールで挿入したボルトのみ一括削除する指示を受け付けたと判定する。「ツールで挿入したボルトのみ削除」ボタン１７０１の押下を受け付けた場合、ボルト挿入ツールは、外部メモリに記憶してある、過去に当該ボルト挿入ツールがＣＡＤソフトに対してボルトの挿入を指示した穴フィーチャのフィーチャ名とボルトのファイル名のペアを読み出す。そして、表示リスト１３１０のフィーチャ名１３１２と挿入ボルト名１３１３のペアを１つ取得し、過去に挿入した穴フィーチャのフィーチャ名とボルトのファイル名のペアの中に、当該取得したペアと一致ペアがあるか判定する。一致するペアがある場合、当該表示リスト１３１０から取得したフィーチャ名の穴フィーチャに挿入（合致）されているコンポーネントを特定し、削除対象のコンポーネントのリストに追加してメモリ上に記憶する。表示リスト１３１０中の全てのフィーチャ名１３１２と挿入ボルト名１３１３のペアに対して、当該一致の判定、及び一致すると判定された場合における削除対象のコンポーネントのリストへの追加・記憶処理を実行した後、当該リストに記憶されているコンポーネントの名称をＣＡＤソフトに送信して、ＣＡＤソフトに対して当該コンポーネントを削除するよう指示する。ＣＡＤソフトは当該指示を受け付けて、指示されたコンポーネントをアセンブリ上から削除する処理を行う。その後、処理をステップＳ１４０７に移行する。
【０１２１】
また、そもそも、ボルト挿入ツールで自動挿入したボルトのみプルダウンリスト表示部７０６に表示するようにしてもよい。
【０１２２】
具体的には、ボルト挿入ツールは、ステップＳ１４０１の後、ステップＳ１４０１で取得したコンポーネントの参照ファイル名と、当該コンポーネントのボルトが挿入（合致）されている穴フィーチャのフィーチャ名のペアを特定する。そして、当該特定したペア一致するフィーチャ名とボルトのファイル名のペアが、過去にボルト挿入ツールがＣＡＤソフトに挿入を指示したフィーチャ名とファイル名のペアと一致した場合に、当該一致したペアのファイル名を、当該一致したペアのフィーチャ名をフィーチャ名１３１２に持つ挿入ボルト名１３１３に設定して記憶する。そして、挿入ボルト名１３１３に記憶したボルトのファイル名をプルダウンリスト表示部７０６に表示するようボルト挿入画面の表示を更新する。
【０１２３】
また、ボルト挿入ツールで挿入する、サーバ２００上に記憶されているオリジナルのボルト（ボルト１２１０の示すボルト）のみを展開中のアセンブリから削除したいことが考えられる。よって、例えば、「ツールで挿入したボルトのみ削除」ボタン１７０１の押下を受け付けることで、図１７に示すように、当該ボルト挿入ツールで管理しているボルト１２１０の示すボルトのみを削除するようにしてもよい（図１７において、ＢｏｌｔＳ．ｐａｒｔは、ボルト１２１０で管理されていない、例えばＣＡＤソフトが管理してＰＣ１００上のＣＡＤソフトと同じフォルダに記憶されているボルトであるものとする）。
【０１２４】
具体的には、ボルト挿入ツールが、ステップＳ１４０４で「一括削除」ボタン１５０２が押下されていないと判定した場合に（ステップＳ１４０４でＮＯ）、ステップＳ４０８で受け付けた指示が、ボルト挿入ツールで管理している、ボルト１２１０のボルトのみ一括削除する指示か判定する。例えば、「ツールで挿入したボルトのみ削除」ボタン１７０１の押下を受け付けた場合、ボルト挿入ツールで管理している、ボルト１２１０のボルトのみ一括削除する指示を受け付けたと判定する。「ツールで挿入したボルトのみ削除」ボタン１７０１の押下を受け付けた場合、ボルト挿入ツールはボルト１２１０を取得して、挿入ボルト名１３１３のボルトのうち、ボルト１２１０に記憶されているボルトの挿入ボルト名１３１３を特定する。そして、当該特定した挿入ボルト名１３１３に対応するフィーチャ名１３１２を特定して、当該フィーチャ名１３１２の穴フィーチャに挿入（合致）されているコンポーネントを特定し、当該コンポーネントの名称をＣＡＤソフトに送信して、ＣＡＤソフトに対して当該コンポーネントを削除するよう指示する。ＣＡＤソフトは当該指示を受け付けて、指示されたコンポーネント（ボルト１２１０のボルトを参照しているコンポーネント）をアセンブリ上から削除する処理を行う。その後、処理をステップＳ１４０７に移行する。
【０１２５】
また、そもそも、ボルト挿入ツールで管理しているボルト１２１０の示すボルトのみプルダウンリスト表示部７０６に表示するようにしてもよい。
【０１２６】
具体的には、ボルト挿入ツールは、ステップＳ１４０１の後、ステップＳ１４０１で取得したコンポーネントの参照ファイル名を特定し、当該参照ファイル名のうちボルト１２１０に一致するファイル名（ボルト）を特定して記憶する。そして、ステップＳ１４０３で当該ボルト１２１０に一致すると特定した参照ファイル名を、各コンポーネントが挿入（合致）されている各穴フィーチャの挿入ボルト名１３１３に記憶して、挿入ボルト名１３１３に記憶したボルトのファイル名をプルダウンリスト表示部７０６に表示するようボルト挿入画面の表示を更新する。
【０１２７】
＜第４の実施形態＞
【０１２８】
次に、本発明の第４の実施形態について説明する。
【０１２９】
本発明の第４の実施形態によれば、ボルト挿入ツールにより挿入されたボルトと、それ以外の手段で挿入されたボルトを容易に確認できる。
【０１３０】
第４の実施形態において、第１の実施形態、第２の実施形態、第３の実施形態と共通する処理、データ、画面についての説明は割愛する。
【０１３１】
第４の実施形態における、ボルト挿入ツールにより挿入されたボルトと、それ以外の手段で挿入されたボルトの識別表示の様子の一例を図１８に示す。
【０１３２】
ボルト挿入ツールは、例えばステップＳ４１１の後、ステップＳ４１１で挿入（合致）するよう指示した穴フィーチャのフィーチャ名を特定して、当該フィーチャ名のフィーチャ（ステップＳ４１１でボルトが挿入された穴フィーチャ）に挿入（合致）されているボルトのコンポーネントの色設定を変更するようＣＡＤソフトに指示する。例えば、ステップＳ４１１でボルト挿入ツールの指示により挿入されたボルトとそれ以外のボルトとを識別可能にすべく、コンポーネントの色設定に赤色を設定するようＣＡＤソフトに指示する。ＣＡＤソフトは当該指示を受け付けて、対象のコンポーネントの色設定を赤色に変更して記憶し、例えば当該色設定にしたがって、当該コンポーネントで参照して表示しているボルトを赤色に変色させて表示画面に表示する。
【０１３３】
以上説明したように、本発明の第４の実施形態によれば、ボルト挿入ツールにより挿入されたボルトと、それ以外の手段で挿入されたボルトを容易に確認できる。
【０１３４】
以上、本発明の実施形態について説明した。
【０１３５】
上述したように、本発明の実施形態によれば、３次元モデルの挿入箇所に対して挿入する部品を容易に選択できる。
【０１３６】
例えば、展開中の３次元モデルの穴フィーチャの穴に、いずれのボルトを挿入するかを容易に選択可能にすることができる。
【０１３７】
また、展開中のファイルのうちアクティブなファイルを対象とすることで、どのファイルに対して部品を挿入するかをユーザに選択させる手間を軽減することができる。
【０１３８】
なお、本発明の実施形態においては、穴フィーチャの構成情報が方向１０１７（軸方向）の情報を持つものとしたが、例えば当該方向１０１７の情報をフィーチャが持っていない場合は、ボルト挿入ツールが、ステップＳ４０６で取得した穴フィーチャのスケッチの情報をフィーチャの情報の中から取得して（ステップＳ４０６でＣＡＤソフトから取得した穴フィーチャの情報の中には、当該穴フィーチャによってかたち作られる穴の形状（スケッチラインやスケッチポイント）の情報が含まれているものとする）、当該スケッチの開始点である位置１００５から面に直行する方向に伸びたスケッチラインを特定して、当該スケッチラインの方向（板の面の表面から板の内側へと延びるベクトル）を穴フィーチャの軸方向として決定し、方向１０１７に格納することで、穴の方向を特定可能であるものとする。当該穴の方向の特定方法はあくまで一例であって、別の方法を用いるようにしてもよい。
【０１３９】
また、本発明の実施形態においては、ボルトの情報（図１２のデータ）はサーバ２００の外部メモリに記憶されているものとしたが、例えばＰＣ１００の、ＣＡＤソフトが管理するボルトが記憶されている領域とは別の領域に記憶し、当該記憶場所及び記憶されている図１２の各情報をボルト挿入ツールが管理するようにしてもよい。
【０１４０】
なお、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【０１４１】
また、上述した各種実施形態をそれぞれ組み合わせることで、各実施形態による複数の効果を一度に得ることが可能である。
【０１４２】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【０１４３】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１４４】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０１４５】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０１４６】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１４７】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１４８】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１４９】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１５０】
尚、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。
即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１５１】
１００  ＰＣ
１０１  ＬＡＮ
２００  サーバ
【図１】
2020057440.tif 000003
【図２】
2020057440.tif 000004
【図３】
2020057440.tif 000005
【図４】
2020057440.tif 000006
【図５】
2020057440.tif 000007
【図６】
2020057440.tif 000008
【図７】
2020057440.tif 000009
【図８】
2020057440.tif 000010
【図９】
2020057440.tif 000011
【図１０】
2020057440.tif 000012
【図１１】
2020057440.tif 000013
【図１２】
2020057440.tif 000014
【図１３】
2020057440.tif 000015
【図１４】
2020057440.tif 000016
【図１５】
2020057440.tif 000017
【図１６】
2020057440.tif 000018
【図１７】
2020057440.tif 000019
【図１８】
2020057440.tif 000020