(57)【要約】【課題】三次元コンピュータ支援設計システムを利用した設計において、ユーザが容易に所望の部品の三次元モデルを見つけ出せるようにする。【解決手段】ライブラリ１０１は複数の部品の三次元モデルを記憶している。ライブラリモデルデータベース１０２は部品の仕様を表す複数の項目を含む。選択可能モデルデータベース１０８はライブラリモデルデータベース１０２の内容で初期化される。選択可能モデル仕様表示部１０９は、部品の種別と仕様を表す各項目について指定するためのメニューを表示する。該メニューを介してユーザにより指定された値にもとづき、選択可能モデル選別部１０７が選択可能モデルデータベース１０８を絞り込む。絞り込まれた選択可能モデルデータベース１０８にもとづき、値が未決定の項目がとりうる値のみが選択可能な選択肢として選択可能モデル仕様表示部１０９により表示される。【選択図】図１
2008225589.tif 000002
【特許請求の範囲】
【請求項１】
複数の部品の三次元モデルをそれぞれ識別情報と関連付けて記憶したライブラリの中から、部品の三次元モデルを、三次元コンピュータ支援設計システムとして機能するコンピュータに選別させるプログラムであって、
部品の種別を指定する種別指定ステップと、
前記種別に応じて予め定められた、前記部品の仕様を表す複数の項目の値をそれぞれ指定するためのメニューを、前記三次元コンピュータ支援設計システムの画面上に表示するメニュー表示ステップと、
前記仕様を表す前記複数の項目を前記識別情報と関連付けた、前記複数の部品それぞれについてのレコードを含むデータベースに対して、前記メニューを介して指定された前記値にもとづいて前記データベースのレコードを絞り込む操作を行う第一の選別ステップと、
前記メニューにおいて値が未決定の前記項目がとりうる値を、絞り込まれた前記データベースから抽出し、抽出した前記値にもとづいて、前記メニューで選択可能な選択肢を更新する第一のメニュー更新ステップと、
前記第一の選別ステップと前記第一のメニュー更新ステップを一回以上繰り返した後で一意に定まった前記部品の前記三次元モデルを、前記ライブラリからロードすべき三次元モデルに決定する決定ステップと、
を前記コンピュータに実行させることを特徴とするプログラム。
【請求項２】
前記三次元コンピュータ支援設計システムの設計対象である装置の三次元モデル上において、前記部品を配置しようとする場所を示す配置情報の入力を受け付ける配置情報受け付けステップと、
前記決定ステップで決定した前記部品の前記三次元モデルを、前記識別情報を指定して前記ライブラリからロードするロードステップと、
ロードした前記部品の前記三次元モデルを、前記配置情報が示す前記場所に配置する配置ステップと、
をさらに前記コンピュータに実行させることを特徴とする請求項１に記載のプログラム。
【請求項３】
前記種別に応じて予め定められた、前記部品の配置に関する制約条件を表す一つ以上の項目を、前記データベースがさらに含み、
指定された前記配置情報が示す前記場所の一つ以上の特徴を前記装置の前記三次元モデルから取得する特徴取得ステップと、
前記制約条件に前記特徴が適合するか否かを判断する判断ステップと、
をさらに前記コンピュータに実行させることを特徴とする請求項２に記載のプログラム。
【請求項４】
前記判断ステップは、前記決定ステップにより決定された前記部品の前記三次元モデルに対応する前記制約条件に、前記特徴が適合するか否かを判断するステップである、
ことを特徴とする請求項３に記載のプログラム。
【請求項５】
前記データベースに記憶されたそれぞれのレコードに対し、該レコードに対応する前記制約条件に前記特徴が適合するか否かを前記判断ステップにより判断し、前記データベースを、適合すると判断されたレコードのみに絞り込む第二の選別ステップと、
前記メニューにおいて値が未決定の前記項目がとりうる値を、前記第二の選別ステップにより絞り込まれたデータベースから抽出し、抽出した前記値にもとづいて、前記メニューで選択可能な選択肢を更新する第二のメニュー更新ステップと、
を前記コンピュータにさらに実行させることを特徴とする請求項３に記載のプログラム
。
【請求項６】
三次元コンピュータ支援設計システムとして機能するコンピュータが、複数の部品の三次元モデルをそれぞれ識別情報と関連付けて記憶したライブラリの中から、部品の三次元モデルを選別する方法であって、
部品の種別を指定する種別指定ステップと、
前記種別に応じて予め定められた、前記部品の仕様を表す複数の項目の値をそれぞれ指定するためのメニューを、前記三次元コンピュータ支援設計システムの画面上に表示するメニュー表示ステップと、
前記仕様を表す前記複数の項目を前記識別情報と関連付けた、前記複数の部品それぞれについてのレコードを含むデータベースに対して、前記メニューを介して指定された前記値にもとづいて前記データベースのレコードを絞り込む操作を行う選別ステップと、
前記メニューにおいて値が未決定の前記項目がとりうる値を、絞り込まれた前記データベースから抽出し、抽出した前記値にもとづいて、前記メニューで選択可能な選択肢を更新するメニュー更新ステップと、
前記選別ステップと前記メニュー更新ステップを一回以上繰り返した後で一意に定まった前記部品の前記三次元モデルを、前記ライブラリからロードすべき三次元モデルに決定する決定ステップと、
を含むことを特徴とする方法。
【請求項７】
複数の部品の三次元モデルをそれぞれ識別情報と関連付けて記憶したライブラリの中から、部品の三次元モデルを選別する機能を有する三次元コンピュータ支援設計システムであって、
部品の種別を指定する種別指定手段と、
前記種別に応じて予め定められた、前記部品の仕様を表す複数の項目の値をそれぞれ指定するためのメニューを表示するメニュー表示手段と、
前記仕様を表す前記複数の項目を前記識別情報と関連付けた、前記複数の部品それぞれについてのレコードを含むデータベースを記憶する記憶手段と、
前記メニューを介して指定された前記値にもとづいて前記データベースのレコードを絞り込む選別手段と、
前記メニューにおいて値が未決定の前記項目がとりうる値を、絞り込まれた前記データベースから抽出し、抽出した前記値にもとづいて、前記メニューで選択可能な選択肢を更新するメニュー更新手段と、
前記選別手段と前記メニュー更新手段による絞り込みと更新を一回以上繰り返した後で一意に定まった前記部品の前記三次元モデルを、前記ライブラリからロードすべき三次元モデルに決定する決定手段と、
を備えることを特徴とする三次元コンピュータ支援設計システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３Ｄ‐ＣＡＤ（三次元コンピュータ支援設計；3-Dimensional Computer Aided Design）システムにおいて、部品の三次元モデルを記憶したライブラリの利用を支援する技術に関する。
【背景技術】
【０００２】
コンピュータ技術の発展にともない、近年では３Ｄ‐ＣＡＤシステムを使って、各種装置を設計することが一般的となった。また、多くの装置で用いられるネジなどの一般的な部品の三次元モデルをライブラリに予め記憶しておき、そのライブラリを利用することによって、３Ｄ‐ＣＡＤシステムによる設計の効率化も図られている。しかし、従来のシステムでは、ユーザがライブラリを効率的に利用するのを支援する仕組みが十分に開発されていない。そのため、ユーザはいくつかの工程で、煩わしい手作業を行う必要がある。
【０００３】
このような従来の３Ｄ‐ＣＡＤシステムとライブラリについて図１５〜図１７を参照して説明する。なお、以下では三次元モデルを単に「モデル」と略記する。図１５は３Ｄ‐ＣＡＤシステムとライブラリを含む従来のシステムの構成例である。
【０００４】
図１５において、ライブラリ１００１にはネジ、ナット、リベットなどの一般的な部品のモデルが記憶され、保管されている。ライブラリにモデルが記憶される部品は、３Ｄ‐ＣＡＤシステム１００２を用いて装置を設計するのに必要な部品、または使用頻度の高い部品である。具体的には、例えば、一つの部品のモデルのデータが一つのファイルを構成し、各モデルのファイルの名前には図番が使われており、そのような複数のファイルがライブラリ１００１に登録され、含まれている。
【０００５】
図１５のシステムのユーザは各種装置の設計者である。ユーザは、３Ｄ‐ＣＡＤシステム１００２を用いて装置の設計を行う。
３Ｄ‐ＣＡＤシステム１００２は、部品のモデルのデータをライブラリ１００１から３Ｄ‐ＣＡＤシステム１００２にロードするモデルデータロード部１００３と、ユーザが指定したロード済みの部品のモデルを、ユーザが指定した位置に配置するモデル配置部１００４とを備える。
【０００６】
ユーザは設計の際、必要な部品のモデルを選択し、モデルデータロード部１００３に、そのモデルをロードさせる。ユーザは、設計しようとする装置のモデル上の適切な位置を、ロードされた部品のモデルを配置すべき位置として、モデル配置部１００４に指定する。モデル配置部１００４はその指定にしたがい、ロードされたモデルを指定された位置まで移動し、必要に応じて回転させ、その位置に配置する。このように、ライブラリ１００１を利用することにより、個々の設計者はネジなどの一般的な部品を設計しなくても済み、設計作業は効率化される。
【０００７】
一方で、ライブラリ１００１には非常に多数のモデルが記憶されているため、ユーザが所望の部品のモデルをライブラリ１００１の中から見つけ出したり、ライブラリ１００１のデータの管理を行ったりするのが難しい場合がある。そこで、ユーザを支援するためのデータ管理ツール１００５が使われる。
【０００８】
データ管理ツール１００５は、一般的なファイル検索ツールと同様のツールである。一般に、個々のモデルは、図番をファイル名として用いたファイルの形でライブラリ１００１に含まれる。よって、ユーザは、カタログや仕様書を参照して必要な部品の図番を予め
調べ、その図番をデータ管理ツール１００５に入力することにより、必要な部品のモデルを検索して取得することができる。また、ファイル名以外にも、モデルのファイルをライブラリ１００１に登録した登録者名やファイル作成年月日などが、データ管理ツール１００５における検索条件として一般に利用可能である。
【０００９】
図１５において、ライブラリ１００１とモデルデータロード部１００３とを結ぶ２本の矢印は、モデルを指定する情報をモデルデータロード部１００３がライブラリ１００１に与え、指定されたモデルのデータがライブラリ１００１からモデルデータロード部１００３へ送られることを表す。また、ユーザがデータ管理ツール１００５を利用する場合は、データ管理ツール１００５を介してモデルが指定され、ロードされる。このことは、ライブラリ１００１とデータ管理ツール１００５を結ぶ矢印およびデータ管理ツール１００５とモデルデータロード部１００３を結ぶ矢印により表される。一方、ロードと配置の操作はそれぞれ独立しているため、モデルデータロード部１００３とモデル配置部１００４は矢印で結ばれていない。
【００１０】
図１６は、図１５のシステムを利用した設計において一つの部品を配置する処理の流れを示すフローチャートである。各種装置などの設計の工程には、設計対象物のモデル上に、部品のモデルを配置する工程が含まれる。図１６は、そのような一つの部品の配置に関する処理のフローチャートである。
【００１１】
ステップＳ１００１でユーザはロードする部品のモデルを決定する。上記のように、モデルは図番を使ったファイル名で管理されている。よって、ユーザは、まず必要な部品の仕様を決定し、その仕様を満足する具体的な部品の図番を、カタログや仕様書などを使って調べ、決定する。次に、ユーザはステップＳ１００２でデータ管理ツール１００５を使って、ステップＳ１００１で決定したロード対象のモデルを検索する。ユーザが指定したモデルがライブラリ１００１にあれば、検索の結果、ロード対象のモデルが選択される。
【００１２】
選択されたモデルは、次のステップＳ１００３でモデルデータロード部１００３により３Ｄ‐ＣＡＤシステム１００２にロードされる。続くステップＳ１００４では、そのモデルを配置すべき位置および方向と、ロードされたモデルとをユーザが指定し、その指定にしたがってモデル配置部１００４が部品のモデルを設計対象物のモデル上に反映する。すなわち、モデル配置部１００４は、設計対象物のモデル上の指定された位置まで部品のモデルを移動し、必要に応じて回転させ、その位置に部品のモデルを配置する。
【００１３】
図１７は図１６の処理を模式的に示した図である。ネジ１００６のモデルが、ライブラリ１００１から３Ｄ‐ＣＡＤシステム１００２にロードされ、その後、板１００７と板１００８を締結するためのネジ穴に配置されることを、図１７は表している。
【００１４】
しかし、図１５〜図１７を参照して説明したような従来のシステムには次の問題がある。
第一の問題は、図１６のステップＳ１００１において、ユーザが図番を調べるのに手間がかかることである。多くの場合、上記の例のように部品のモデルは当該モデルの図番を利用したファイル名でライブラリ１００１に登録されている。
【００１５】
よって、ユーザは必要な部品の仕様に基づいて、具体的な図番を決定しなくてはならない。現状では、ユーザが、カタログや仕様書などを参照して、図番を決定するための調査を行っている。この調査は自動化されていないため、手間がかかる。
【００１６】
第二の問題は、決定した図番に対応するモデルをライブラリ１００１から探し出すのにも手間がかかることである。ライブラリ１００１に非常に多くのモデルが記憶されている
と、ユーザがその中から目的のモデルを探すのに手間がかかる。モデルが階層的にグループ分けされていたとしても、モデルの数が多ければ、深い階層をたどらないと目的のモデルを見つけ出すことができない。
【００１７】
また、その手間を減らすためにデータ管理ツール１００５を利用して、ファイル名をキーとする検索をユーザが行ってもよいが、その場合、ユーザは３Ｄ‐ＣＡＤシステム１００２とデータ管理ツール１００５という二つのアプリケーションを交互に操作しなくてはならず、作業効率が悪い。
【００１８】
上記の問題に関連する技術には、以下のようなものがある。
特許文献１に記載のプリント配線板設計支援装置は、水洗浄の可否などの製造条件を格納した部品ライブラリと、製造条件および／または部品の配置情報の組み合わせにより表される条件と製造性の良否とを対応付けて格納した製造条件ライブラリを備える。
【００１９】
設計者が必要な機能を指定すると、その機能を有する部品が部品ライブラリから検索される。設計者は、検索された部品の中から使用する部品を選択する。必要なすべての部品の選択後、設計者は各部品のプリント配線板上の配置位置を決定する。その後、プリント配線板設計支援装置は、選択された部品の製造条件および決定された配置位置を、製造条件ライブラリの内容と比較して、各部品の製造性を判定する。それにより、組み立てのノウハウを知らない設計者でも、製造性を検証し、必要に応じて設計を修正することが可能となる。
【００２０】
特許文献２に記載の部品選定システムでは、予め、同一機能特性を有する部品をグループにまとめてグループコードを割り当て、各部品の価格や寿命などのパラメータをライブラリに登録し、パラメータのソート条件により表される検索条件を定めておく。
【００２１】
設計時にはグループコードが設計者により指定され、検索条件にもとづいてグループの中から最適な部品が自動的に検索されて選定される。それにより、設計者の経験によらずに、的確な部品の選定を可能としている。
【特許文献１】特開２００１−１９６７２０号公報
【特許文献２】特開２００６−５９００６号公報
【発明の開示】
【発明が解決しようとする課題】
【００２２】
特許文献１および２に記載の発明は、複数の部品を機能にもとづいて一つのグループにまとめる点で共通している。しかし、そのようなグループ化は、上記の問題を解決するには不十分である。なぜなら、グループ数が厖大になることがあり、厖大な数のグループの中から所望のグループを見つけ出して指定することは、厖大な数の部品の中から所望の部品を見つけ出して指定することと同様に手間がかかるからである。
【００２３】
部品には様々な種類があり、特許文献１および２で例示された電子回路部品のほかに、ネジやナットなどの機械部品もある。しかし、同一の機能を表す仕様を満たし、互いに代替可能な複数の部品を一つのグループにまとめることは、機械部品には適さないことがある。
【００２４】
例えば、寸法が異なる二つのネジは、部材同士を締結するという一般的な機能は同じだが、特定の寸法のネジ穴が既に決められている状況では、互いに代替不能である。よって、異なる寸法の機械部品は、異なる機能に対応すると見なすべき場合があるので、異なるグループに分類されるべきである。
【００２５】
一方で、機械部品の寸法は様々である。しかも、一つの機械部品の寸法は、一つの値によって示されることは少なく、複数の部分のそれぞれの寸法の組み合わせによって示されることが多い。ある種の機械部品では、組み合わせの数が非常に多い。よって、寸法によって機械部品をグループ分けするとグループ数が厖大になる。
【００２６】
そのような厖大な数のグループの中からユーザが所望のグループを見つけ出すには手間がかかる。したがって、機能にもとづく部品のグループ化という方法は、上記の問題を解決するには不十分である。
【００２７】
そこで本発明の目的は、三次元コンピュータ支援設計システムを利用した設計において、ユーザが容易に所望の部品の三次元モデルを見つけ出せるようにすることである。
【課題を解決するための手段】
【００２８】
本発明によるプログラムは、複数の部品の三次元モデルをそれぞれ識別情報と関連付けて記憶したライブラリの中から、部品の三次元モデルを、三次元コンピュータ支援設計システムとして機能するコンピュータに選別させるプログラムである。該プログラムは、部品の種別を指定する種別指定ステップと、前記種別に応じて予め定められた、前記部品の仕様を表す複数の項目の値をそれぞれ指定するためのメニューを、前記三次元コンピュータ支援設計システムの画面上に表示するメニュー表示ステップと、前記仕様を表す前記複数の項目を前記識別情報と関連付けた、前記複数の部品それぞれについてのレコードを含むデータベースに対して、前記メニューを介して指定された前記値にもとづいて前記データベースのレコードを絞り込む操作を行う選別ステップと、前記メニューにおいて値が未決定の前記項目がとりうる値を、絞り込まれた前記データベースから抽出し、抽出した前記値にもとづいて、前記メニューで選択可能な選択肢を更新するメニュー更新ステップと、前記選別ステップと前記メニュー更新ステップを一回以上繰り返した後で一意に定まった前記部品の前記三次元モデルを、前記ライブラリからロードすべき三次元モデルに決定する決定ステップと、を前記コンピュータに実行させることを特徴とする。
【００２９】
また、本発明は、上記プログラムにしたがって上記コンピュータが実行する方法、および上記プログラムにより実現される三次元コンピュータ支援設計システムも提供する。
本発明によれば、仕様を表す複数の項目の値の組み合わせによって仕様の数が厖大になる場合でも、ユーザがメニューを介してそれぞれの項目の値を指定するだけで、自動的に絞り込みが行われ、指定された内容に合致する仕様のみが選択可能な選択肢として残る。
【発明の効果】
【００３０】
本発明によれば、三次元コンピュータ支援設計システムを利用した設計において、ユーザは従来よりも少ない手間で、簡単に目的の仕様の部品の三次元モデルを見つけ出すことが可能となる。したがって、本発明は設計時間の短縮に寄与する。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。なお、以下では、次のような用語を用いる。
・３Ｄ‐ＣＡＤシステムで利用される三次元モデルを単に「モデル」という。
【００３２】
・３Ｄ‐ＣＡＤシステムを用いて設計中の装置を「設計対象物」という。設計対象物は任意の装置でよく、例えば、携帯電話などの電子機器、車両などの移動体、その他種々の機械、器具、家具、建築物などである。
【００３３】
・設計対象物の設計者は３Ｄ‐ＣＡＤシステムのユーザである。一般には、設計対象物の設計者と、部品のモデルの作成者は異なる。特に断らない限り、単に「設計者」という
場合は、部品ではなく設計対象物の設計者を表す。
【００３４】
・部品そのものと、その部品のモデルを区別しない場合がある。例えば、ネジを表す図はネジのモデルを表す図と違いがないので、区別せずに説明する。また、ネジの仕様をネジのモデルの仕様ということもある。
【００３５】
・設計者が設計対象物のモデル上において部品のモデルを配置しようとする場所を「配置先」という。また、配置先を示す情報を「配置情報」という。
・詳しくは後述するが、使用する部品のモデルを一つに決定する過程において、部品のモデルは段階的に絞り込まれる。ある段階において「選択可能である」とは、直前の段階における絞り込みの結果、絞り込みの条件に適合し、ロードして配置すべきモデルの選択肢として残ったことを意味する。
【００３６】
図１は、本発明の一実施形態におけるシステム構成を機能ブロックにより表した図である。
ライブラリ１０１には、３Ｄ‐ＣＡＤシステム１０３にロードして利用するための、複数の部品のモデルのデータが記憶されている。部品の具体例は、ネジ、ボルト、ナット、座金、リベット、コネクタなどである。本実施形態では、部品を識別する識別情報として図番が使われる。また、図番とモデルを関連付けるために、各部品のモデルが当該モデルの図番をファイル名とするファイルの形式でライブラリ１０１に記憶されている。
【００３７】
ライブラリ１０１に記憶された各モデルの仕様および配置に関する制約条件が、各モデルの図番に関連付けられて、ライブラリモデルデータベース１０２に記憶されている。つまり、図番という識別情報によって、ライブラリ１０１内のデータと、ライブラリモデルデータベース１０２内のデータとが、対応付けられている。ライブラリモデルデータベース１０２のデータ構造の詳細な例は図３および図４とあわせて後述する。なお、部品の種別ごとに仕様や制約条件を表すのに必要な項目が異なるので、本実施形態では、ライブラリモデルデータベース１０２は、種別ごとに分かれた複数のデータベースの集合体として構成されている。
【００３８】
３Ｄ‐ＣＡＤシステム１０３は、モデル情報指定部１０４、選択可能モデル選別部１０７、選択可能モデルデータベース１０８、選択可能モデル仕様表示部１０９、モデルデータロード部１１１、モデル配置部１１２を備える。そして、モデル情報指定部１０４は、モデル仕様指定部１０５と配置情報指定部１０６を備え、選択可能モデル選別部１０７は配置情報チェック部１１０を備える。なお、３Ｄ‐ＣＡＤシステム１０３は、この他にも、一般的に３Ｄ‐ＣＡＤシステムに必要な各種の機能を備えているが、本発明に直接関係しないため図示していない。
【００３９】
ライブラリ１０１とライブラリモデルデータベース１０２を実現するハードウェアの例は、ハードディスクなどの不揮発性の大容量記憶装置である。また、３Ｄ‐ＣＡＤシステム１０３を実現するハードウェアの例は、一般的なコンピュータである。３Ｄ‐ＣＡＤシステム１０３の構成要素のうち、選択可能モデルデータベース１０８は、前記コンピュータが備えるＲＡＭ（Random Access Memory）などの記憶装置により実現される。その他の構成要素は、一般にはソフトウェアにより実現されるが、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組み合わせによって実現してもよいことは当然である。
【００４０】
なお、３Ｄ‐ＣＡＤシステム１０３としてコンピュータを機能させるプログラムと、ライブラリ１０１のデータと、ライブラリモデルデータベース１０２のデータとは、個別に開発あるいは提供されることが可能である。このことを表すため、図１では３Ｄ‐ＣＡＤ
システム１０３の外部にライブラリ１０１とライブラリモデルデータベース１０２を示している。しかし、ライブラリ１０１とライブラリモデルデータベース１０２が３Ｄ‐ＣＡＤシステム１０３の内部に含まれていてもよい。つまり、ライブラリ１０１とライブラリモデルデータベース１０２が、他の構成要素とより緊密に統合された形で３Ｄ‐ＣＡＤシステム１０３の中に組み込まれていてもよい。
【００４１】
３Ｄ‐ＣＡＤシステム１０３の内部については、ここでは概略のみ説明し、矢印で示した各構成要素同士の関係などは後述する。
３Ｄ‐ＣＡＤシステム１０３の内部の構成要素のうち、部品の仕様の選択を容易にする仕組みに関連するのは、モデル仕様指定部１０５、選択可能モデル選別部１０７、選択可能モデルデータベース１０８、および選択可能モデル仕様表示部１０９である。配置情報指定部１０６、配置情報チェック部１１０、モデルデータロード部１１１、およびモデル配置部１１２は、部品の仕様の選択以外にも従来必要だった種々の煩わしい操作を削減するための機能を実現するためのものである。したがって、図１のシステムを利用することによって、設計対象物の設計者は、モデルの選択以外の点でも従来に比べて効率的に設計を行うことができるようになる。
【００４２】
モデル情報指定部１０４は、ユーザからの入力にもとづいて部品のモデルに関する情報を指定する。具体的には、モデル仕様指定部１０５がモデルの仕様を、配置情報指定部１０６がモデルの配置情報を指定する。
【００４３】
選択可能モデルデータベース１０８には、ライブラリモデルデータベース１０２に記憶されたデータのうち、現時点で選択可能なモデルに関するデータのみが抽出されて記憶されている。選択可能モデルデータベース１０８は、一時的なデータの保管を行うデータベースなので、ＲＡＭなどの揮発性メモリを利用することができる。
【００４４】
選択可能モデルデータベース１０８が記憶するデータをこのように絞り込むための制御は、選択可能モデル選別部１０７が行う。その制御は、モデル仕様指定部１０５または配置情報指定部１０６により指定された内容にもとづく。また、配置情報チェック部１１０は、モデルの仕様とその配置先が制約条件を満たす関係にあるか否かをチェックする。選択可能モデル選別部１０７による制御は、そのチェック結果に応じてなされる。
【００４５】
選択可能モデル仕様表示部１０９は、ユーザからの入力を受け付けるための入力メニューを画面上に表示する。その入力メニューには、選択可能なモデルの仕様のみが、選択肢として表示される。選択可能モデル仕様表示部１０９によるメニューの表示、ユーザによる入力、入力内容にもとづくモデル情報指定部１０４による指定、およびその指定内容にもとづく選択可能モデル選別部１０７による選択可能モデルデータベース１０８の絞り込み、という一連の処理を繰り返すことにより、ユーザの所望の仕様のモデルが段階的に絞り込まれていく。
【００４６】
モデルデータロード部１１１は、部品のモデルをライブラリ１０１からロードし、モデル配置部１１２は、ロードされたモデルを、配置情報により示される場所に配置する。
次に、図２のフローチャートを参照して、本発明の一実施形態において行なわれる一つの部品に関する処理の概要を説明する。
【００４７】
ステップＳ１０１において、３Ｄ‐ＣＡＤシステム１０３に対し、ユーザは、モデルの仕様または配置情報を入力する。仕様を入力するためのメニューは、選択可能モデル仕様表示部１０９により画面上に表示されている。配置情報は、例えばマウスを用いて入力される。
【００４８】
そして、モデル情報指定部１０４内のモデル仕様指定部１０５または配置情報指定部１０６が、ユーザが入力した内容を選択可能モデル選別部１０７に指定する。選択可能モデル選別部１０７は、指定された内容にもとづいて選択可能モデルデータベース１０８を絞り込む。
【００４９】
次のステップＳ１０２では、そのように選択可能モデルデータベース１０８を絞り込んだ結果、モデルの仕様および配置情報が一意に確定したか否かをモデル情報指定部１０４が判定する。確定していれば判定は「はい」となってステップＳ１０３へ進み、確定していなければ判定は「いいえ」となってステップＳ１０１に戻る。
【００５０】
ステップＳ１０２の判定が「はい」となるまで、ステップＳ１０１とＳ１０２が繰り返される。例えば、複数の項目により部品の仕様が定義されている場合、すべての項目の値が一意に定まらないうちは、ステップＳ１０１とＳ１０２のループが繰り返される。
【００５１】
このようにして繰り返しステップＳ１０１が実行されると、選択可能モデルデータベース１０８に記憶されたレコードの数は、ステップＳ１０１の前回の実行時における数以下となる。すなわち、繰り返しのたびに、ステップＳ１０１で選択可能な範囲が狭まっていく。ユーザは、複数の項目についてそれぞれ選択肢のうちの一つを選択すればよく、手作業でカタログを調べるなどの煩雑な作業は必要ない。
【００５２】
また、仕様の選択用のメニューを表示する選択可能モデル仕様表示部１０９は、３Ｄ‐ＣＡＤシステム１０３に組み込まれている。よって、ユーザは、図１５の従来例のようにデータ管理ツール１００５と３Ｄ‐ＣＡＤシステム１００２を交互に操作する必要がない。
【００５３】
ステップＳ１０２の判定が「はい」となるとステップＳ１０３に進み、ここでモデルデータロード部１１１が、一意に確定した部品のモデルを、ライブラリ１０１から３Ｄ‐ＣＡＤシステム１０３へ自動的にロードする。
【００５４】
次のステップＳ１０４では、ロードしたモデルを、ステップＳ１０１の一回以上の実行により確定した場所に適切な方向で、モデル配置部１１２が自動的に配置する。このように、ステップＳ１０３とＳ１０４の間にはユーザの手作業が不要である。よって、ユーザの目から見ると、指示した場所に直接、部品のモデルがロードされて配置されたように見える。つまり、ユーザは、図１５の従来のシステムを使う場合のように、ロードと配置という別々のコマンドを３Ｄ‐ＣＡＤシステムに与える必要がない。
【００５５】
以上により、一つの部品に関する処理が終了する。設計対象物が複数の部品を含む場合には、部品の数の分、図２の処理が繰り返される。
次に、図３と図４を参照して、ライブラリモデルデータベース１０２のデータ構造の具体例について説明する。
【００５６】
図３と図４はそれぞれ、「ネジ・ボルト」という種別と「ナット」という種別の部品に関してライブラリモデルデータベース１０２に記憶されているデータの例を示す。図３と図４の比較から分かるとおり、一般には種別によって必要な項目が異なるので、ライブラリモデルデータベース１０２は、このようにモデルの種別ごとに分かれた複数のデータベースからなっている。種別には、上記の他に、ピン、座金、リベット、コネクタなどがあってもよい。
【００５７】
図３と図４の共通点は、識別情報としての図番に関連付けられて、仕様を表す一つ以上の項目と、配置に関する制約条件を表す一つ以上の項目とが記憶されている点である。図
３と図４では、一つのモデルに関するレコードが一行に表示されている。
【００５８】
仕様を表す項目は、図３では「ネジ・ボルト仕様」という見出しのもとにまとめられており、「ネジ・ボルト種」、「材質」、「ネジ径」、「ネジ長さ」という四項目がある。「ネジ・ボルト種」は、ネジ・ボルトという種別をさらに細かく分類するための詳細な種別であり、その値は「ナベコネジ」や「六角ボルト」などである。「材質」は、図３の例では、鋼とステンレスがそれぞれ「ＳＴＥＥＬ」と「ＳＵＳ」という値により表されている。「ネジ径」は、ＪＩＳ（日本工業規格；Japanese Industrial Standard）の規格にしたがって「Ｍ２」や「Ｍ３」などの符号で表されている。「Ｍ２」はネジ径が２．０ｍｍであることを示す。「ネジ長さ」は数値により表されており、単位はｍｍである。同様に、図４で仕様を表す項目は、「ナット仕様」という見出しのもとにまとめられた「ナット種」、「材質」、「ネジ径」という三項目である。
【００５９】
一方、配置に関する制約条件を表す項目は、図３では「ネジ・ボルト配置先条件」という見出しのもとにまとめられた「タップ穴径」、「すきま穴径」、「最小締付板厚」という三項目である。
【００６０】
一般に、雄ネジの切られたネジで二つの部材を締結する場合は、ネジ先の側の部材に開けられた穴の内表面にのみ雌ネジが切られる。この穴を以下では「タップ穴」と呼ぶ。一方、ネジの頭部の側の部材には、タップ穴よりもやや大きな直径の穴が開けられる。この穴を以下では「すきま穴」と呼ぶ。タップ穴とすきま穴はどちらもネジによる締結のための穴なので、以下では総称して「ネジ穴」と呼ぶこともある。
【００６１】
すきま穴の内表面には雌ネジが切られず、当然、ネジはタップ穴の内表面のみと噛み合う。例えば、図１７では、板１００８にタップ穴が、板１００７にはすきま穴が、それぞれ開けられている。
【００６２】
図３の「タップ穴径」と「すきま穴径」はそれぞれ、ネジの配置先のタップ穴とすきま穴の直径として許容される値を示す。また、本実施形態では、すきま穴の開けられた部材に最低限必要な厚みのことを「最小締付板厚」と定義している。例えば、図１７の例では、あるネジについて定められた最小締付板厚の値よりも板１００７が厚ければ、図１７のネジ穴の場所と当該ネジとは、最小締付板厚の制約条件を満たす。
【００６３】
同様に、図４で配置に関する制約条件を表す項目は、「ナット配置先条件」という見出しのもとにまとめられた「ネジ径」、「必要ネジ長さ」という２項目である。この「ネジ径」は、ナットと組み合わせるべきネジまたはボルトのネジ径の値として許容される値を定めている。「必要ネジ長さ」は、ナットと、ネジまたはボルトとのはめあい長さとして最低限必要な長さを定めている。
【００６４】
図３と図４の例に示したように、仕様を表す項目のデータ形式は、数値でもよく、符号でもよい。符号は文字列データとして表現されてもよく、数値によりコード化されて表現されてもよい。また、「ネジ・ボルト種」や「材質」などの項目のほかに、形状や色の特徴を符号で表した項目があってもよい。数値で表される項目は、「ネジ径」などの長さを示す項目だけではなく、例えば、部品の所定の部分の面積または部品の体積など、寸法を表す他の項目でもよく、部品の所定の部分の曲率半径など、形状の特徴を示す項目でもよく、部品の質量など、部品の物理的な特徴を示す項目でもよい。また、電子回路などの部品の場合は、部品の電気的特性を示す項目も、仕様を表す項目として用いられる。
【００６５】
次に、図５〜図７を参照して、選択可能モデル仕様表示部１０９が３Ｄ‐ＣＡＤシステム１０３の表示画面上に表示するメニューについて説明する。
図５はモデルの種別を選択するためのモデル種別選択メニュー２００の例である。モデル種別選択メニュー２００は、モデル種別指定部２０１を備える。モデル種別指定部２０１には、「モデル種別」という見出し２０２と、モデル種別として選択可能な選択肢のうちの一つをユーザが選択するための入力部２０３とがある。図５には、選択可能な選択肢として「ネジ・ボルト」と「ナット」が例示されている。
【００６６】
入力部２０３の具体的なユーザインタフェイスは、例えば、ラジオボタン、リストボックス、テキストボックス、リストボックスとテキストボックスの両者の機能を有するコンボボックスなど、実施形態によって任意でよい。テキストボックスやコンボボックスを利用する場合は、入力されたテキストが選択可能なモデル種別に該当するか否かのチェックなど、必要な処理が行われる。それにより、ユーザはモデル種別選択メニュー２００を利用して選択可能な選択肢の中から一つを選択することができる。以下では説明の便宜上、入力部２０３等のユーザインタフェイスをリストボックスと仮定して説明するが、ユーザインタフェイスの種類を限定する趣旨ではない。
【００６７】
モデル種別が選択されると、次に、選択可能モデル仕様表示部１０９は選択されたモデル種別に応じた情報入力メニューを表示画面上に表示する。図６は、モデル種別として「ネジ・ボルト」が選択された場合に表示されるネジ・ボルト用情報入力メニュー２１０の例であり、図７はモデル種別として「ナット」が選択された場合に表示されるナット用情報入力メニュー２２０の例である。つまり、モデルの種別ごとに必要な項目が異なるので、図５のモデル種別選択メニュー２００でユーザが指定した種別に応じて図６、図７、またはその他の情報入力メニューが画面に表示される。
【００６８】
図６において、ネジ・ボルト用情報入力メニュー２１０は、モデル仕様／図番指定部２１１と配置情報指定部２１２とを備える。モデル仕様／図番指定部２１１はモデルを一意に特定するための情報を指定するために使われる。配置情報指定部２１２はモデルを配置する場所に関する。
【００６９】
図６は図３と対応している。つまり、図３で「ネジ・ボルト」という種別の仕様を表す「ネジ・ボルト種」、「材質」、「ネジ径」、「ネジ長さ」という四項目の名称が、図６のモデル仕様／図番指定部２１１の見出し２１３に書かれている。モデル仕様／図番指定部２１１は四項目の見出し２１３に対応する入力部２１４も備えている。入力部２１４のユーザインタフェイスは、例えば、四項目それぞれに対応する四つのリストボックスである。
【００７０】
図３を見ると、例えば「ネジ・ボルト種」は「ナベコネジ」と「六角ボルト」という値をとりうる。よって、図６の「ネジ・ボルト種」に対応する入力部２１４には、選択可能な選択肢として「ナベコネジ」と「六角ボルト」が表示される。「材質」、「ネジ径」、「ネジ長さ」の三項目も同様に、選択可能な選択肢が入力部２１４に表示される。
【００７１】
また、モデル仕様／図番指定部２１１は、「図番」という見出し２１５と、それに対応する入力部２１６も備えている。図２のステップＳ１０１とＳ１０２からなるループを繰り返すたびに、すなわち、ネジ・ボルト用情報入力メニュー２１０を使ってユーザが情報を指定するたびに、指定された内容に合致するモデルが絞り込まれていく。つまり、選択可能な図番が次第に絞り込まれていく。よって、ユーザは、絞り込まれた少数の図番の中から一つの図番を選択して入力部２１６に入力することにより、一つのモデルを選択することができる。
【００７２】
このように、本発明によれば、仕様を表す項目が複数あり、それら複数の項目の組み合わせにより厖大な数の仕様がある場合でも、ユーザはメニューを介してそれぞれの項目の
値を指定するだけでよい。また、図５〜図７の各種メニューを表示する選択可能モデル仕様表示部１０９は３Ｄ‐ＣＡＤシステム１０３の一部であるから、ユーザは、３Ｄ‐ＣＡＤシステム１０３という一つのアプリケーションを操作するだけでよい。つまり、従来のように、図１５の３Ｄ‐ＣＡＤシステム１００２とデータ管理ツール１００５という異なる二つのアプリケーションを交互に操作する煩雑さが、本発明にはない。よって、所望の仕様のモデルを特定するためのユーザの手間は従来よりも少なくてすむ。
【００７３】
配置情報指定部２１２は、「配置面」および「タップ穴面」と書かれた見出し２１７と、この二項目に対応する表示部２１８を備える。モデルの配置先には、モデル種別に応じた定型的なパタンがあるので、配置情報指定部２１２は、そのパタンに従った項目を有する。
【００７４】
例えば、ネジおよびボルトの配置先は一般にネジ穴である。図６は、「配置面」と「タップ穴面」により、ネジ穴を特定する例を示している。なお、ここでネジまたはボルトの「配置面」とは、ネジまたはボルトにより締結する対象の部材の表面のうち、当該ネジまたはボルトの頭部の座面が接する面であり、例えば図１７の板１００７の上面である。また、「タップ穴面」とは、タップ穴の、雌ネジが切られた円筒状の内表面のことである。ネジまたはボルトにより締結する対象の部材のモデルが、タップ穴とすきま穴も含めて適切に作成済みであれば、配置面とタップ穴面を指定することにより、ネジまたはボルトの配置先の位置および当該ネジまたはボルトの向きが一意に定まる。
【００７５】
本実施形態では、ユーザがポインティングデバイスを利用して設計対象物のモデル上で配置面とタップ穴面を指定すると、指定された配置面とタップ穴面に関する情報が表示部２１８に表示される。しかし、それ以外のユーザインタフェイスを採用してもよいことは明らかである。表示部２１８に表示される内容の例は後述する。
【００７６】
以上により、モデル種別として「ネジ・ボルト」が選択された場合、ユーザは、ネジ・ボルト用情報入力メニュー２１０を介してモデルの仕様と配置先を指定することが可能である。同様に、モデル種別として「ナット」が選択された場合、ユーザは、図７のナット用情報入力メニュー２２０を介してモデルの仕様と配置先を指定することが可能である。
【００７７】
図７において、ナット用情報入力メニュー２２０は、モデル仕様／図番指定部２２１と配置情報指定部２２２とを備える。
モデル仕様／図番指定部２２１は図６のモデル仕様／図番指定部２１１と似ているが、具体的な項目が図６とは異なる。つまり、図７は図４と対応し、図４で「ナット」という種別の仕様を表す「ナット種」、「材質」、「ネジ径」という三項目の名称が、図７のモデル仕様／図番指定部２２１の見出し２２３に書かれている。モデル仕様／図番指定部２２１はこれら三項目の見出し２２３に対応する入力部２２４も備えている。入力部２２４のユーザインタフェイスが任意である点は、図６の入力部２１４と同様である。図７は、「ナット種」として「六角ナット１種」が選択済みであり、「材質」は未選択であって「ＳＴＥＥＬ」と「ＳＵＳ」という選択肢が選択可能である場合を例示している。
【００７８】
モデル仕様／図番指定部２２１は図６と同様に、「図番」という見出し２２５と、それに対応する入力部２２６も備えている。
配置情報指定部２２２は、「配置面」および「ネジ面」と書かれた見出し２２７と、この二項目に対応する表示部２２８と備える。ナットは一般に、ボルトと組み合わせて用いられる。ここで、ボルトが締結する二つの部材のうちボルトのネジ先の側の部材の外表面をナットの「配置面」と呼び、ボルトの軸部外表面、つまり雄ネジが切られた円筒状の外表面を「ネジ面」と呼ぶことにする。例えば図１７にさらにナットを配置する場合、ナットの配置面は板１００８の下面である。ナットを配置する位置および向きは、配置面にナ
ットが接し、かつ、ナットの雌ネジがネジ面の雄ネジと噛み合うという条件から一意に定まるので、図７では、ナットの配置情報として「配置面」と「ネジ面」を指定する場合を例示した。
【００７９】
なお、上記の例では、「配置面」など、既に存在する何らかの表面を示す情報を配置情報として利用しているが、配置情報は、実施形態に応じて様々である。例えば、次のような情報を配置情報として利用してもよい。
【００８０】
・ある一点を示す情報。例えばその点の三次元座標。
・表面同士の境界を示す情報。
・既にロードされて設計対象物のモデル上に配置され、設計対象物の一部として含まれている、他の部品のモデルを示す情報。例えばそのモデルの識別情報。
【００８１】
・設計対象物の特徴的な形状を有する部分を特定して示す情報。例えば、端部、突起などの凸部、スリットや穴などの凹部、すきま穴などの貫通孔などを示す情報。
例えば、ナットの配置情報として、図７の「ネジ面」のかわりに、ボルト自体を示す情報を使ってもよい。その場合、配置情報が示すボルトのモデルのデータにもとづいて、配置情報指定部１０６がボルトの「ネジ面」を検出するなど、付随的な動作が必要になることがある。
【００８２】
次に、図８Ａと図８Ｂを参照して、選択可能モデル選別部１０７の動作と選択可能モデルデータベース１０８が保持するデータの詳細を説明する。図８Ａと図８Ｂの例は、モデルの種別が「ネジ・ボルト」の場合の例である。
【００８３】
選択可能モデルデータベース１０８の内容は、一つの部品ごとに初期化され、一つの部品の選別が進む過程で絞り込まれる。選択可能モデル選別部１０７は、この初期化および絞り込みを制御する。なお、初期化は図１のライブラリモデルデータベース１０２から選択可能モデル選別部１０７への矢印および選択可能モデル選別部１０７から選択可能モデルデータベース１０８への矢印に対応し、絞り込みは図１の選択可能モデル選別部１０７から選択可能モデルデータベース１０８への矢印に対応する。
【００８４】
図８Ａは初期化された状態の選択可能モデルデータベース１０８の例である。選択可能モデル選別部１０７は、ライブラリモデルデータベース１０２の内容を選択可能モデルデータベース１０８にコピーして、選択可能モデルデータベース１０８を初期化する。
【００８５】
初期化のタイミングは、実施形態によって適宜定めてよい。例えば、ユーザが図５のモデル種別選択メニュー２００を使って種別を指定した後に、選択可能モデル選別部１０７が、その種別のデータベースのみをライブラリモデルデータベース１０２から選択可能モデルデータベース１０８にコピーしてもよい。図８Ａの例では、そのようなタイミングを仮定している。
【００８６】
あるいは、選択可能モデル選別部１０７が、種別が指定される前にすべての種別のデータベースをライブラリモデルデータベース１０２から選択可能モデルデータベース１０８にコピーしてもよい。その場合、選択可能モデル選別部１０７は、種別が選択された後に、無関係な種別のデータベースを選択可能モデルデータベース１０８から削除する。この削除も、選択可能なモデルに関するデータのみを残すための絞り込み操作の一種である。
【００８７】
初期化のタイミングがどちらであっても、種別として「ネジ・ボルト」が指定された直後の選択可能モデルデータベース１０８は、図３にライブラリモデルデータベース１０２の例として示した内容と同じ内容を保持した状態、つまり図８Ａの状態となる。
【００８８】
以下では、その後、ユーザが図６のネジ・ボルト用情報入力メニュー２１０を使って「ネジ・ボルト種」および「材質」としてそれぞれして「ナベコネジ」と「ＳＴＥＥＬ」を選択し、マウスを使ってタップ穴径が３．０ｍｍのタップ穴を配置先として指定した場合について説明する。図８Ａでは、この選択と指定の結果に合致するデータを網かけで示した。なお、ユーザが行う、「ネジ・ボルト種」の選択、「材質」の選択、およびタップ穴の指定、という三つの操作の順番は任意である。
【００８９】
図８Ａには、「ネジ・ボルト種」の値が「ナベコネジ」であり、「材質」の値が「ＳＴＥＥＬ」であり、かつ「タップ穴径」の値が「３．０」である、という三つの条件をすべて満たすレコードが三つ存在する。それら三つのレコードの「図番」の値は、「ＳＮＡ３‐０６ＳＴＥＥＬ」、「ＳＮＡ３‐０８ＳＴＥＥＬ」、および「ＳＮＡ３‐１０ＳＴＥＥＬ」である。よって、ユーザが「ネジ・ボルト種」の選択、「材質」の選択、およびタップ穴の指定、という三つの操作を行った後、選択可能モデルデータベース１０８は、図８Ｂに示したように、この三つのレコードのみに絞り込まれた状態になっている。
【００９０】
選択可能モデル選別部１０７はそのようなレコードの絞り込みを制御する。上記のように、ユーザが行う三つの操作の順番は任意だが、例えば、次のような順番で絞り込みが行われる。
【００９１】
ユーザがまず「ネジ・ボルト種」の選択を行うと、選択可能モデル選別部１０７は、「ネジ・ボルト種」の値が「ナベコネジ」である十二個のレコードだけに選択可能モデルデータベース１０８を絞り込む。次に、ユーザがタップ穴を指定すると、配置情報指定部１０６がそのタップ穴のタップ穴径を算出する。選択可能モデル選別部１０７はその算出結果の「３．０」という値を受け取って、上記十二個のレコードのうち、「タップ穴径」の値が「３．０」である三つのレコードだけに選択可能モデルデータベース１０８を絞り込む。その後、ユーザが「材質」の選択を行うと、選択可能モデル選別部１０７は、上記三つのレコードのうち「材質」の値が「ＳＴＥＥＬ」であるもののみに選択可能モデルデータベース１０８を絞り込む。ただし、この例では、三つのレコードはいずれも「材質」の値が「ＳＴＥＥＬ」なので、「材質」の選択によって削除されるレコードはなく、結果として、選択可能モデルデータベース１０８は、上記と同じく三つのレコードを保持した状態のままである。
【００９２】
なお、図１において、モデル仕様指定部１０５および配置情報指定部１０６から選択可能モデル選別部１０７への矢印は、ユーザが指定した内容を選択可能モデル選別部１０７に指定することを表す。また、その内容に応じた絞り込みは、選択可能モデル選別部１０７から選択可能モデルデータベース１０８への矢印に対応する。選択可能モデルデータベース１０８から選択可能モデル仕様表示部１０９への矢印は、選択可能モデルデータベース１０８の内容にもとづいて各種メニューが表示されることに対応する。選択可能モデル仕様表示部１０９からモデル仕様指定部１０５への矢印は、メニューに表示された選択肢の中から仕様が選択され、指定されることに対応する。
【００９３】
図９は、ネジ・ボルト用情報入力メニュー２１０で選択可能な選択肢と選択可能モデルデータベース１０８との関係を示す図であり、選択可能モデルデータベース１０８が図８Ｂのように絞り込まれた場合を例示している。図９に示したネジ・ボルト用情報入力メニュー２１０は、図６と同様のものだが、入力部２１４の一部で値が選択済みであり、表示部２１８の一部に情報が表示されている点で図６と異なる。
【００９４】
ネジ・ボルト用情報入力メニュー２１０は、選択可能モデル仕様表示部１０９が選択可能モデルデータベース１０８の内容にしたがって表示する。
図９の選択可能モデルデータベース１０８は、図８Ｂと同じ内容のものである。この選択可能モデルデータベース１０８を見ると、三つのレコードはいずれも、「ネジ径」の値が「Ｍ３」である。よって、この状態で「ネジ径」として選択可能な選択肢は「Ｍ３」しかない。よって、本実施形態では、「ネジ径」として自動的に「Ｍ３」が指定された状態となる。この自動的な指定は、選択可能モデル選別部１０７と選択可能モデル仕様表示部１０９により行われる。一方、「ネジ長さ」の値は三つのレコードでそれぞれ異なっているため、この状態で「ネジ長さ」として選択可能な選択肢は「６」、「８」、「１０」という三種類がある。
【００９５】
したがって、もし入力部２１４のユーザインタフェイスがリストボックス形式であれば、「ネジ径」のリストボックスには「Ｍ３」のみが表示され、しかもその「Ｍ３」は選択された状態になっており、「ネジ長さ」のリストボックスには「６」、「８」、「１０」の三つの値が表示される。同様に、この状態で「図番」として選択可能な選択肢は三つしかないので、図番によるモデルの指定も容易である。ユーザは、「ネジ長さ」または「図番」を指定することにより、モデルを一つに絞り込んで決定することができる。
【００９６】
なお、図９において「ネジ径」として自動的に「Ｍ３」が指定された状態となる過程を詳説すれば下記のごとくである。
項目Ａの値または部品の配置先が指定されたことによって、項目Ｂがとりうる値が値Ｘに一意に限定される場合には、選択可能モデル選別部１０７が、項目Ｂに値Ｘを指定して選択可能モデルデータベース１０８を絞り込む操作を行う。この操作によって選択可能モデルデータベース１０８のレコード数が変わることはない。
【００９７】
例えば、図８Ａの例において、タップ穴径が３．０ｍｍのタップ穴をユーザが指定した場合、「タップ穴径」の値が「３．０」のレコードのみに選択可能モデルデータベース１０８が絞り込まれる。ここで、図８Ａから明らかなように、「タップ穴径」の値が「３．０」のレコードはいずれも「ネジ径」の値が「Ｍ３」である。つまり、部品の配置先であるタップ穴が指定されることによって、「ネジ径」という項目がとりうる値が一意に定まる。
【００９８】
そこで、選択可能モデル選別部１０７は自動的に、「ネジ径」の値が「Ｍ３」であるという条件で選択可能モデルデータベース１０８を絞り込む操作を行う。その後、選択可能モデル仕様表示部１０９はネジ・ボルト用情報入力メニュー２１０を更新して、モデル仕様／図番指定部２１１において「ネジ径」として「Ｍ３」が選択された状態にする。
【００９９】
次に、図１０を参照して、配置情報チェック部１１０の動作の詳細を説明する。図１０の例は、ライブラリモデルデータベース１０２に図３のデータベースが記憶されており、既にネジ・ボルト用情報入力メニュー２１０の入力部２１４を介して、「ネジ・ボルト種」が「ナベコネジ」、「材質」が「ＳＴＥＥＬ」、「ネジ径」が「Ｍ３」と指定されている場合の例である。その場合、選択可能モデルデータベース１０８は、図１０の下部に示したように、三つのレコードのみに絞り込まれた状態である。この状態から、ユーザがタップ穴面と配置面を順に指定する場合を例に説明する。
【０１００】
まず、ユーザがマウスなどを用いて、Ｍ２のタップ穴３０１のタップ穴面を指定したとする。「Ｍ２」は、タップ穴径が２．０ｍｍであることを示す符号である。すると、配置情報指定部１０６は、Ｍ２のタップ穴３０１のモデルのデータにもとづいて、タップ穴径の値を取得する。具体的な取得方法は、モデルのデータ形式によって異なり、単純にデータの値を読み取れば取得できる場合もあり、何らかの計算が必要な場合もある。図１０ではタップ穴径を「ａ」という符号で表している。Ｍ２のタップ穴３０１のモデルのデータからは「２．０」という値が取得される。配置情報指定部１０６は、取得したタップ穴径
の値が２．０であることを選択可能モデル選別部１０７に通知する。この通知は、図１の配置情報指定部１０６から選択可能モデル選別部１０７への矢印に対応する。
【０１０１】
選択可能モデル選別部１０７内の配置情報チェック部１１０は、通知されたタップ穴径の値と、選択可能モデルデータベース１０８の各レコードの「タップ穴径」の値とを比較する。配置情報チェック部１１０がこの比較のために選択可能モデルデータベース１０８を参照することを、図１では選択可能モデルデータベース１０８から配置情報チェック部１１０への矢印により表している。
【０１０２】
図１０の例では、三つのレコードの「タップ穴径」の値はいずれも「３．０」なので、各レコードで「２．０」と「３．０」という値が比較される。その結果、選択可能モデルデータベース１０８には、「タップ穴径」が「２．０」に一致するレコードが存在しないことが判明する。
【０１０３】
ここで、タップ穴面の指定と、指定されたタップ穴面のタップ穴径と、選択可能モデルデータベース１０８内の「タップ穴径」という項目との関係を一般化して説明すると、次のとおりである。
【０１０４】
まず、図６に関して説明したように、タップ穴面を指定する情報は、配置先を表す配置情報の一種である。一方で、選択可能モデルデータベース１０８内の「タップ穴径」という項目は、ネジの配置に関する制約条件を表す項目である。図３からも明らかなとおり、制約条件を表す項目は、許容される値そのものにより表してもよく、許容される値の最大値または最小値により表してもよい。指定されたタップ穴面のタップ穴径は、配置情報により表される場所である配置先の特徴を示す値の一例である。すなわち、配置情報から配置先の特徴が取得され、特徴を示す値と制約条件を表す項目の値とが比較され、その比較結果にもとづいて、制約条件が満たされるか否かが判断される。
【０１０５】
なお、配置先の特徴は、実施形態に応じて、例えば次のように様々な種類のものの中から、適切なものが採用される。
・タップ穴径やタップ穴の深さなどの長さ。
【０１０６】
・タップ穴の底面積などの面積。
・円や六角形などの、配置先の形状の種類。
・曲率半径などの、配置先の形状を表すパラメータ。
【０１０７】
・配置先として指定された他の部品の材質。
図１０に示した三つのレコードしか選択可能モデルデータベース１０８にない状態で、Ｍ２のタップ穴３０１が指定された場合、その指定にしたがって選択可能モデル選別部１０７が選択可能モデルデータベース１０８をさらに絞り込むと、選択可能モデルデータベース１０８にはレコードが存在しなくなってしまう。つまり、Ｍ２のタップ穴３０１は配置不可能な場所である。そこで、この場合には、絞り込み操作を行わず、かわりに警告を発生して、Ｍ２のタップ穴３０１のタップ穴面の指定をキャンセルする、つまり取り消すことが望ましい。
【０１０８】
よって、配置不可能な場所が配置先として指定されたと配置情報チェック部１１０が判断した場合、選択可能モデル選別部１０７は、その判断にもとづいて、配置情報指定部１０６による指定内容を取り消す。つまり、この例では、Ｍ２のタップ穴３０１の指定が取り消されるので、「タップ穴径」が「２．０」に一致するレコードを抽出するという絞り込み操作は行なわれない。そして、選択可能モデル選別部１０７は警告を発して、指定された配置情報が不適切であることをユーザに通知する。なお、警告は、画面上に表示され
る視覚的な警告、スピーカから発せられる聴覚的な警告、両者の組み合わせのいずれでもよい。
【０１０９】
ユーザがその後、警告にしたがって別の適切なタップ穴面を指定すると、タップ穴面の指定内容が確定し、配置情報指定部２１２の表示部２１８に、確定したタップ穴面についての情報が表示される。図１０の例では、ユーザが警告にしたがってＭ３のタップ穴３０６のタップ穴面を指定しなおすことにより、タップ穴面の指定内容が確定し、表示部２１８には例えば「穴径３ｍｍ」などの情報が表示される。
【０１１０】
次に、このようにしてタップ穴面が確定した後、ユーザが配置面を指定した場合について説明する。図１０の例では、ユーザは、タップ穴３０６の開いた板３０３と、すきま穴３０５の開いた板３０２を締結するためにネジを配置しようとしている。この場合、板３０２の表面のうち板３０３と接している面とは逆側の面を、ネジの配置面３０４としてユーザがさらに指定することにより、ネジの配置先は一意に指定される。
【０１１１】
ユーザがマウスなどで配置面３０４を指定すると、配置情報指定部１０６は、配置面３０４とタップ穴３０６との距離を取得する。具体的な取得方法は板３０２などのモデルのデータの具体的な形式に応じて異なるが、図１０に符号「ｂ」で示した距離が取得される。図１０の例では板３０２の厚みが一定なので、配置面３０４とタップ穴３０６との距離ｂは、板３０２の厚みに等しい。そして、配置情報指定部１０６は取得した距離ｂを選択可能モデル選別部１０７に通知する。
【０１１２】
選択可能モデル選別部１０７内の配置情報チェック部１１０は、通知された距離ｂの値と、選択可能モデルデータベース１０８の各レコードの「最小締付板厚」の値を比較する。図１０の例では、三つのレコードの「最小締付板厚」の値は「０．５」と「０．７」と「０．９」である。配置情報チェック部１１０は、距離ｂの値が「最小締付板厚」の値以上となるレコードのみが制約条件を満たすレコードである、と判断する。例えば、ｂ＝０．３の場合は制約条件を満たすレコードが存在せず、ｂ＝０．５の場合は「図番」が「ＳＮＡ３‐０６ＳＴＥＥＬ」のレコードのみが制約条件を満たし、ｂ＝１．０の場合は三つすべてのレコードが制約条件を満たす。
【０１１３】
このように配置情報チェック部１１０は、選択可能モデルデータベース１０８の各レコードについて制約条件を満足するか否かをチェックする。チェックの結果、最小締付板厚に関する制約条件を満足する値を「最小締付板厚」の項目の値として保持するレコードが選択可能モデルデータベース１０８に存在しないことが判明すれば、選択可能モデル選別部１０７は警告を発生する。この警告も、視覚的、聴覚的、または両者の組み合わせでよい。
【０１１４】
警告が発されるのは、指定された配置面３０４にしたがって選択可能モデル選別部１０７が選択可能モデルデータベース１０８を絞り込んでしまうと、選択可能モデルデータベース１０８にはレコードが存在しなくなってしまう場合である。よって、この場合、選択可能モデル選別部１０７は絞り込み操作を行なわない。そのかわり、選択可能モデル選別部１０７は、配置面３０４の指定を取り消す。
【０１１５】
一方、チェックの結果、最小締付板厚に関する制約条件を満足するレコードが選択可能モデルデータベース１０８に一つ以上存在すれば、どのレコードが制約条件を満足するかという情報にもとづいて、選択可能モデル選別部１０７が選択可能モデルデータベース１０８を絞り込む。
【０１１６】
次に、図１１を参照して、上記で説明したモデルの選択の流れについて説明する。図１
１は、図２のステップＳ１０１とＳ１０２からなる部分をより詳細に示したフローチャートである。図１１のうちステップＳ２０１とＳ２０２は、図２では省略されている部分で、図１１のステップＳ２０３〜Ｓ２０９が図２のステップＳ１０１に相当し、図１１のステップＳ２１０が図２のステップＳ１０２に相当する。
【０１１７】
ステップＳ２０１において、図５のモデル種別選択メニュー２００を選択可能モデル仕様表示部１０９が画面上に表示し、モデル種別選択メニュー２００を介してユーザがモデルの種別を選択する。モデル仕様指定部１０５は、その選択結果を選択可能モデル選別部１０７に指定する。
【０１１８】
続いて、ステップＳ２０２では、選択可能モデル選別部１０７が選択可能モデルデータベース１０８を初期化する。つまり、選択可能モデル選別部１０７は、ステップＳ２０１でユーザが選択した種別のライブラリモデルデータベース１０２の情報に選択可能モデルデータベース１０８を置き換える。例えば、ステップＳ２０１で「ネジ・ボルト」が選択されていれば図３の情報に、「ナット」が選択されていれば図４の情報に、選択可能モデルデータベース１０８が置き換えられて、初期化される。
【０１１９】
ステップＳ２０２の後のステップＳ２０３〜Ｓ２１０は、ループを形成しており、ステップＳ２１０で「いいえ」と判断されるまで繰り返し実行される。
ステップＳ２０３で、選択可能モデル仕様表示部１０９が、選択可能なモデルの仕様の表示情報を作成する。つまり、選択可能モデル仕様表示部１０９は、選択可能モデルデータベース１０８からデータを読み取り、読み取った内容にもとづいて、図６や図７の情報入力メニューに表示する情報、具体的には、見出しや選択肢として表示する情報を生成する。
【０１２０】
次に、ステップＳ２０４で、選択可能モデル仕様表示部１０９は、選択可能な仕様の数が１となる項目、つまり、選択可能な選択肢が一つに限定される項目があるか否かを判定する。そのような項目があれば「はい」と判定されて処理はステップＳ２０５に進み、なければ処理はステップＳ２０６に進む。例えば、図９の「ネジ径」という項目では「Ｍ３」という値の仕様のみが選択肢として選択可能なので、図９の例ではステップＳ２０４で「はい」と判定される。
【０１２１】
ステップＳ２０５では、ステップＳ２０４で選択可能な選択肢が一つしかないと判定された項目に関して、選択可能モデル仕様表示部１０９が、情報入力メニューにその唯一の選択肢を反映し、その選択肢を選択された状態にして画面に表示する。例えば、選択された選択肢を反転表示する形式のリストボックスが図９において入力部２１４のユーザインタフェイスとして採用される場合には、選択可能モデル仕様表示部１０９が、「ネジ径」という項目の「Ｍ３」という値の選択肢を選択された状態にし、反転表示する。
【０１２２】
ステップＳ２０４で選択可能な選択肢が一つしかないと判定された項目が複数ある場合は、選択可能モデル仕様表示部１０９は、それら複数の項目のそれぞれについて情報入力メニューに、唯一選択可能な仕様を反映させる。
【０１２３】
ステップＳ２０６は、ステップＳ２０５の処理後、またはステップＳ２０４で「いいえ」と判定された後に実行される。ステップＳ２０６では、モデルの仕様または配置情報を指定する入力をユーザからモデル情報指定部１０４が受け付け、モデル情報指定部１０４が入力内容を選択可能モデル選別部１０７に指定する。ユーザは、モデルの仕様を入力する場合は情報入力メニューを介して入力する。また、モデルの配置情報の入力方法は任意だが、例えば、画面上に表示されている設計対象物のモデル上の所望の場所を、ユーザがマウスなどで指定してもよい。
【０１２４】
配置情報チェック部１１０は、ステップＳ２０６で指定された内容にしたがって、ステップＳ２０７で、選択可能モデルデータベース１０８内に、ユーザが選択した内容の情報が含まれるか否かを判断する。ユーザが選択した内容の情報とは、具体的には、ユーザが直前のステップＳ２０６で仕様を指定した場合は、指定された仕様と合致するモデルに関するレコードのことであり、ユーザが直前のステップＳ２０６で配置情報を指定した場合は、指定された配置情報が示す場所との関係が、制約条件を満たす関係にあるモデルに関するレコードのことである。
【０１２５】
選択可能モデルデータベース１０８内にユーザが選択した内容の情報が含まれるなら判定は「はい」となって処理はステップＳ２０９に進み、含まれないなら判定は「いいえ」となって処理はステップＳ２０８に進む。換言すれば、判定が「いいえ」となるのは、ステップＳ２０６で指定された条件にしたがって選択可能モデルデータベース１０８を絞り込むと選択可能モデルデータベース１０８にレコードがなくなってしまう場合である。
【０１２６】
したがって、ステップＳ２０８では、選択可能モデル選別部１０７が、ステップＳ２０６で入力された情報をキャンセルして、警告を発する。
ステップＳ２０９は、ステップＳ２０８の処理後、またはステップＳ２０７で「はい」と判定された後に実行される。ステップＳ２０９では、選択可能モデル選別部１０７が選択可能モデルデータベース１０８に絞り込み条件を指定して、絞り込みを行い、選択可能モデルデータベース１０８を更新する。
【０１２７】
ステップＳ２０７で「はい」と判定されてステップＳ２０９が実行される場合には、ステップＳ２０９の絞り込み操作によって、選択可能モデルデータベース１０８のレコード数が減少するが、ゼロになることはない。
【０１２８】
一方、ステップＳ２０７で「いいえ」と判定されてステップＳ２０９が実行される場合には、選択可能モデルデータベース１０８のレコード数がステップＳ２０９の実行前と同じままで、減少しない。なぜなら、ステップＳ２０９の前にステップＳ２０８が実行されているので、ステップＳ２０９で選択可能モデル選別部１０７が指定する絞り込み条件は、現状の選択可能モデルデータベース１０８のレコード集合が作成されたときと同じだからである。
【０１２９】
なお、ある仕様または配置情報が指定されることにより、他の仕様も連鎖的に一意に決定されることがある。例えば、図８Ａの例では、タップ穴径が３．０ｍｍの穴を配置情報として指定することにより、連鎖的に、「ネジ径」は「Ｍ３」のみに限定される。
【０１３０】
本実施形態では、ステップＳ２０９において、このように連鎖的に一意に決定される項目を選択可能モデル選別部１０７が検出している。そして、そのような項目が一つ以上存在する場合、選択可能モデル選別部１０７は、それら一つ以上の項目のそれぞれについても、一意に決定される値を絞り込み条件として指定して、選択可能モデルデータベース１０８を絞り込んでいる。
【０１３１】
例えば、図８Ａの状態の選択可能モデルデータベース１０８は、ステップＳ２０３〜Ｓ２１０のループを繰り返すことにより、段階的に絞り込まれる。例えば、一回目のループでは、ステップＳ２０６で「ネジ・ボルト種」として「ナベコネジ」が指定され、二回目のループではステップＳ２０６で「材質」として「ＳＴＥＥＬ」が指定され、三回目のループではステップＳ２０６でタップ穴が指定された場合を考える。
【０１３２】
この場合、一回目のループのステップＳ２０９では、
「ネジ・ボルト種」＝「ナベコネジ」
なる絞り込み条件が使われる。二回目のループのステップＳ２０９では、
「ネジ・ボルト種」＝「ナベコネジ」  かつ  「材質」＝「ＳＴＥＥＬ」
なる絞り込み条件が使われる。三回目のループのステップＳ２０９では、
「ネジ・ボルト種」＝「ナベコネジ」  かつ  「材質」＝「ＳＴＥＥＬ」  かつ
「タップ穴径」＝「３．０」
なる絞り込み条件が使われる。そして、その結果として選択可能モデルデータベース１０８は図８Ｂの状態となる。図８Ｂは、まだユーザから直接指定されていない「ネジ径」という項目の値が、「Ｍ３」のみに限定されることを表している。そこで、選択可能モデル選別部１０７は、三回目のループのステップＳ２０９において、このように連鎖的に「ネジ径」が一意に決定されることを検出し、再度、
「ネジ・ボルト種」＝「ナベコネジ」  かつ  「材質」＝「ＳＴＥＥＬ」  かつ
「タップ穴径」＝「３．０」  かつ  「ネジ径」＝「Ｍ３」
なる絞り込み条件により選択可能モデルデータベース１０８を絞り込む。つまり、本実施形態では、三回目のループのステップＳ２０９において、二回の絞り込みが実行される。二回目の絞り込みでは、選択可能モデルデータベース１０８のレコード数への影響はないが、一意に決定した項目がすべて二回目の絞り込み条件に含まれる。
【０１３３】
以上のようにしてステップＳ２０９で選択可能モデルデータベース１０８が更新されると、処理はステップＳ２１０に進む。ステップＳ２１０では、モデルの仕様と配置情報のうち、未決定の情報があるか否かが判断される。
【０１３４】
ここで、「未決定の情報」とは、ユーザがまだ指定していない情報という意味とはやや異なる。上記のとおり、ユーザが直接指定しなくても、他の仕様または配置情報にもとづいて連鎖的に一意に決定される項目があるためである。つまり、ユーザから直接指定されてもおらず、ユーザにより指定された情報から連鎖的に、すなわち間接的に決定されてもいない情報が、「未決定の情報」である。
【０１３５】
未決定の情報がまだ残っていれば、処理はステップＳ２０３に戻り、すべての情報が決定済みならば図１１の処理が終了する。
このように、本実施形態では、ロードして配置すべきモデルを選択する過程において、配置に関する制約条件を満たすモデルのみが自動的に選別される。図１５の従来の３Ｄ‐ＣＡＤシステム１００２を利用する場合、ユーザは、手作業で事前にネジ穴の径を確認し、その径に合うネジの仕様を調べており、手間がかかっていた。図１１の実施形態によれば、その手間は大きく削減される。
【０１３６】
また、特許文献１の発明と比べても、図１１の実施形態には利点がある。特許文献１の発明では、各部品の配置位置を決定した後で製造性の判定をしている。しかし、ある部品とある場所が配置に関する制約条件を満たさない関係にある場合、すべての部品の配置位置を決定した後に制約条件を満たさないと判定するのでは、判定のタイミングが遅い分、余計な作業のやり直しが生じることがある。一方、本発明の図１１実施形態では、そのような判定のタイミングの遅れがない。
【０１３７】
次に、図１２を参照して、モデルデータロード部１１１とモデル配置部１１２の動作の詳細を説明する。図１１で説明した手順は、使用する部品のモデルを一意に決定し、かつ、そのモデルと制約条件を満たす関係にある配置先を決定するための手順である。よって、実際の設計においては、次に、その部品のモデルをライブラリ１０１から３Ｄ‐ＣＡＤシステム１０３にロードし、実際に配置先に配置する手順が必要である。その手順とは、具体的には、モデルデータロード部１１１により実行される図２のステップＳ１０３と、モデル配置部１１２により実行される図２のステップＳ１０４である。
【０１３８】
図１２も、種別として「ネジ・ボルト」が選択された場合の例なので、画面上に表示される情報入力メニューはネジ・ボルト用情報入力メニュー２１０である。図１２では、すべての項目が指定済みであり、「図番」も選択済みである。上記のとおり、本実施形態における「図番」は、モデルを識別する識別情報である。よって、図１２のネジ・ボルト用情報入力メニュー２１０は、選択可能モデルデータベース１０８が一つのレコードにまで絞り込まれた状態に対応する。
【０１３９】
モデル仕様指定部１０５は、モデルデータロード部１１１に選択された「図番」の値を指定する。この指定は、図１の、モデル仕様指定部１０５からモデルデータロード部１１１への矢印に対応する。
【０１４０】
モデルデータロード部１１１はその「図番」の値を使ってライブラリ１０１を参照し、その「図番」に対応するモデルのデータをライブラリ１０１から３Ｄ‐ＣＡＤシステム１０３に読み出す。この参照と読み出しは、図１の、ライブラリ１０１とモデルデータロード部１１１とを結ぶ二本の矢印に対応する。例えば、ライブラリ１０１がハードディスクに記憶されている場合、モデルデータロード部１１１は、「図番」により指定されたモデルのデータを３Ｄ‐ＣＡＤシステム１０３用のＲＡＭ上の領域に、ハードディスクからロードする。
【０１４１】
図１２の矢印Ａは、ネジ・ボルト用情報入力メニュー２１０のうちモデル仕様／図番指定部２１１に含まれる項目によってネジ３０７のモデルが一意に決定され、その決定されたモデルがロードされることを模式的に表している。
【０１４２】
また、モデルデータロード部１１１は、モデル配置部１１２に対し、ロードされたモデルの種別や配置情報を通知するとともに、ロードされたモデルを配置するよう指令を与える。この指令は、図１の、モデルデータロード部１１１からモデル配置部１１２への矢印に対応する。モデルを配置すべき位置を示す配置情報は、配置情報指定部１０６がモデル配置部１１２に与える。このことは、図１の、配置情報指定部１０６からモデル配置部１１２への矢印に対応する。モデル配置部１１２は、モデルデータロード部１１１からの指令と配置情報指定部１０６からの配置情報とにもとづいて、ロードされたモデルを配置情報により示される位置に適切な向きで配置する。
【０１４３】
図１２の矢印Ｂは、ネジ・ボルト用情報入力メニュー２１０のうち配置情報指定部２１２に示される項目によってネジ３０７の配置先、より正確にはネジ３０７を配置する位置と方向が決定されることを模式的に表している。ネジ３０７の配置先は、板３０２と板３０３を締結するために板３０３に開けられたタップ穴のタップ穴面と、すきま穴を開けられた板３０２の上面である配置面３０４により決定される。板３０２と板３０３は設計対象物の一部である。
【０１４４】
また、矢印Ｃは、その決定された位置に決定された方向でネジ３０７のモデルが配置されることを模式的に表している。具体的には、ネジ３０７は、図示したごとく、軸部３０８が板３０２と板３０３を貫通し、頭部３０９の座面３１０が板３０２の配置面３０４に接するように配置される。
【０１４５】
配置に関する「座面３１０と配置面３０４が接する」などの具体的な条件は、配置すべきモデルの種別が「ネジ・ボルト」であることから予め決まっている。そのため、タップ穴面と配置面が指定されるだけで、個々の具体的なネジのモデルを配置すべき詳細な位置および方向が一意に定まる。
【０１４６】
なお、図１２に示した符号「ａ」、「ｂ」、「ｃ」はそれぞれ、タップ穴径、配置面３０４とタップ穴との距離、すきま穴径を表す。タップ穴径はネジ３０７のネジ径と等しく、配置面３０４とタップ穴との距離は板３０２の板厚に等しい。
【０１４７】
次に、モデルデータロード部１１１とモデル配置部１１２のより詳細な動作について、二つの態様を説明する。なお、以下の説明では、設計対象物がｘｙｚ座標系により表現され、座標は（ｘ，ｙ，ｚ）なる行ベクトルにより表されると仮定する。
【０１４８】
第一の態様は、モデルのデータがライブラリに記憶されたときにそのモデルが位置していた座標と同じ座標に、モデルがロードされる仕組みの３Ｄ‐ＣＡＤシステムに、本発明を適用する態様である。この場合、ライブラリ１０１の提供者は、モデルの種別ごとに予め一つの座標を定め、モデルがその座標に位置する状態で、モデルをライブラリ１０１に記憶する。
【０１４９】
例えば、「ネジ・ボルト」という種別のモデルに対しては、（ｘ１，ｙ１，ｚ１）なる座標が予め定められる。ｘ１，ｙ１，ｚ１はいずれも定数である。ライブラリ１０１の提供者は、ネジのモデルを作成する場合は常に、そのモデルが座標（ｘ１，ｙ１，ｚ１）に位置するように調整してからライブラリ１０１に記憶させる。
【０１５０】
すると、モデルデータロード部１１１がネジのモデルを３Ｄ‐ＣＡＤシステム１０３にロードしたとき、必ずそのモデルは座標（ｘ１，ｙ１，ｚ１）に位置する。よって、種別が「ネジ・ボルト」の部品を配置するには、単にモデル配置部１１２が、座標（ｘ１，ｙ１，ｚ１）にあるモデルを、配置情報指定部１０６により指定された場所へと移動させ、必要に応じて回転させればよい。
【０１５１】
モデルデータロード部１１１とモデル配置部１１２に関する第二の態様は、モデルの所定の位置を原点とするローカルな座標系が付与されたモデルを利用する態様である。
例えば、図１２では、ネジ３０７の中心軸がＺ軸となり、頭部３０９と軸部３０８が接する面とＺ軸との交点が原点となるようなＸＹＺ座標系がネジ３０７のモデルに付与されている。図１２では、左から右へ向かう軸がＸ軸、紙面手前から奥へ向かう軸がＹ軸として定められている。
【０１５２】
第二の態様ではこのように、種別が「ネジ・ボルト」のモデルはすべて、ネジまたはボルトの中心軸がＺ軸となり、座面がＸＹ平面となるようにローカルな座標系が付与される。他の種別のモデルでも、種別ごとの形状および組み立ての方向などの特徴を考慮して、座標系の付与の仕方が予め適宜定められている。
【０１５３】
モデルデータロード部１１１は、モデルのデータをロードすると、ロードしたデータの中から、そのモデルの座標系に関する情報を読み取る。それにより、モデルデータロード部１１１は、ロードしたモデルに付与されたローカルなＸＹＺ座標系の原点の位置および各座標軸の方向と、設計対象物を表すグローバルなｘｙｚ座標系との関係を把握する。モデルデータロード部１１１は、この関係をモデル配置部１１２に通知する。モデル配置部１１２は、配置情報指定部１０６によって指定された場所に指定された方向でそのモデルを配置するための、移動方向、移動量、回転方向、および回転量を、モデルデータロード部１１１から通知された関係にもとづいて算出し、モデルを移動および回転させ、配置先に配置する。
【０１５４】
上記の第一および第二の態様のいずれにおいても、モデルと配置情報が一意に定まった後は、ユーザが何も操作をする必要なく、配置情報により示される場所に適切な方向でモデルが自動的に配置される。このような自動的な配置は、従来のシステムに比べて本発明
が優れている点である。
【０１５５】
図１５に示したような従来の３Ｄ‐ＣＡＤシステム１００２においては、モデルデータロード部１００３とモデル配置部１００４が連携していない。よって、モデルデータロード部１００３が部品のモデルをロードしても、モデル配置部１００４はそのモデルがロードされた位置を把握していない。
【０１５６】
そのため、従来、ユーザは、必要な部品のモデルを設計対象物のモデルに反映するのに、モデルをロードするロードコマンドと部品を配置する配置コマンドの二つのコマンドを３Ｄ‐ＣＡＤシステム１００２に与える必要があった。すなわち、従来ユーザは次のような煩雑な操作を行っており、その煩雑さは、特許文献１および２の発明によっても解決されなかったものである。
【０１５７】
まず、ユーザは、ロードコマンドをモデルデータロード部１００３に与え、部品のモデルを一旦３Ｄ‐ＣＡＤシステム１００２にロードさせる。そして、ユーザは、モデルがロードされた場所を表示画面上で確認してから、配置コマンドを３Ｄ‐ＣＡＤシステム１００２に与える。その際、ユーザは、部品のモデルを指定することによりその部品のモデルがロードされた位置の情報を指定する必要があり、また、その部品のモデルを配置すべき場所と配置すべき方向の情報も指定する必要がある。
【０１５８】
また、従来の３Ｄ‐ＣＡＤシステム１００２は、個々の部品のモデルの種別について把握していない。よって、ユーザは、「ネジの座面が配置面に接する」などの細かい情報も、配置コマンドを発するたびに指定しなくてはならず、ネジ穴とネジが配置に関する制約条件を満たすか否かのチェックも、手間をかけて行わなくてはならなかった。
【０１５９】
一方、本発明の上記の実施形態には次の利点がある。まず、モデルを一つに決定する過程においてモデルの種別が特定済みなので、モデルの詳細な位置と方向をユーザが指定しなくても、モデル配置部１１２がモデルの種別に応じてモデルを適切に配置することができる。さらに、配置に関する制約条件を満たすモデルのみが選択されるので、ユーザは個々のタップ穴径などを手作業で調べる必要がない。このような利点が得られる理由は、ライブラリモデルデータベース１０２に、モデルの仕様と配置に関する制約条件の双方が記憶されており、その双方がモデルの絞り込みにおいて考慮されるためである。
【０１６０】
したがって、従来のようにロードコマンドと配置コマンドの双方をそのコマンドに必要な情報とともにユーザが指定する必要がなく、モデルデータロード部１１１とモデル配置部１１２が連携してロードから配置までを自動的に行うことが可能である。結果として、ユーザの手間が削減されて設計時間が短縮され、設計が制約条件を満たしているか否かを、設計を進めながらタイムリーかつ自動的にチェックすることが可能となり、手作業にともなう設計ミスもなくなる。
【０１６１】
次に、図１３を参照して、ライブラリ１０１に部品のモデルを追加する処理について説明する。ライブラリ１０１へのモデルの追加は、設計対象物の設計者が行ってもよいが、一般には、ライブラリ１０１を提供する部品設計者が行う。
【０１６２】
ステップＳ３０１で、部品設計者は、ライブラリ１０１に追加する対象部品を決定する。その後、ステップＳ３０２〜Ｓ３０５からなる工程Ａと、ステップＳ３０６〜Ｓ３１３からなる工程Ｂがそれぞれ行われる。工程Ａと工程Ｂは並行して同時に実行してもよく、工程Ａの後で工程Ｂを実行しても、逆順に実行してもよい。
【０１６３】
工程Ａは、ライブラリ１０１にデータを追加する工程である。部品設計者は、ステップ
Ｓ３０２において対象部品の外形情報を入手し、ステップＳ３０３において、適当な３Ｄ‐ＣＡＤシステムを利用して対象部品の三次元モデルを作成する。また、部品設計者は、実施形態に応じて必要ならば、ステップＳ３０４で部品の三次元モデルにモデルのローカルな座標系を表す原点情報を付与する。そして、部品設計者は、対象部品の三次元モデルのデータをライブラリ１０１に保存する。
【０１６４】
工程Ｂは、ライブラリモデルデータベース１０２にデータを追加し、３Ｄ‐ＣＡＤシステム１０３の一部を変更する工程である。部品設計者は、ステップＳ３０６で、対象部品の種別、すなわちライブラリ１０１に追加するモデルの種別を判定し、ステップＳ３０７で、その種別が新規の種別か否かを判定する。新規の種別とは、ライブラリモデルデータベース１０２に既存のデータベースが存在しない種別のことである。例えば、ライブラリモデルデータベース１０２に図３のデータベースしかない場合、対象部品がナットなら新規の種別と判定され、対象部品がネジなら新規の種別ではないと判断される。
【０１６５】
部品設計者は、ステップＳ３０７で新規の種別と判定すると、ステップＳ３０８〜Ｓ３１２を実行してからステップＳ３１３を実行し、ステップＳ３０７で新規の種別ではないと判定するとステップＳ３１３に進む。
【０１６６】
ステップＳ３０８では、ライブラリモデルデータベース１０２に登録する仕様を部品設計者が決定する。例えば、対象部品がナットの場合、「ナット種」、「材質」、「ネジ径」という項目を仕様としてライブラリモデルデータベース１０２に登録することを部品設計者は決定する。
【０１６７】
次にステップＳ３０９で、部品設計者は、新規のモデルの種別用のモデルの配置情報の指定方法と、配置情報のチェック用の項目を決定する。例えば、対象部品がナットの場合、ナットの配置情報として指定すべき情報は、ナットと組み合わせるべきボルトのネジ面を指定する情報と、そのボルトによって締結される部材の、ナットが接する表面である配置面を指定する情報である、と部品設計者が決定する。さらに部品設計者は、配置情報のチェック用の項目として「ネジ径」と「必要ネジ長さ」の二項目をライブラリモデルデータベース１０２に設けることを決定する。
【０１６８】
次にステップＳ３１０で、部品設計者は、新規のモデルの種別用のデータフォーマットを作成する。例えば、対象部品がナットの場合、「必要ネジ長さ」は数値である、といったデータフォーマットを部品設計者が定める。
【０１６９】
次にステップＳ３１１で、部品設計者は、新規のモデルの種別用の仕様選択メニューを作成して３Ｄ‐ＣＡＤシステム１０３に追加する。ステップＳ３１１は、具体的には例えば、選択可能モデル仕様表示部１０９としてコンピュータを機能させるプログラムにサブルーチンを追加することに相当する。そのサブルーチンとは、例えば対象部品がナットの場合、図７のようなメニューを画面上に表示するためのものである。
【０１７０】
続いてステップＳ３１２で、部品設計者は、新規のモデルの種別用の、モデルの配置機能と配置情報のチェック機能を作成して追加する。ステップＳ３１２は、具体的には例えば、モデル配置部１１２および配置情報チェック部１１０としてコンピュータを機能させるプログラムに、それぞれサブルーチンを追加することに相当する。例えば対象部品がナットの場合、モデル配置部１１２用のプログラムに追加されるサブルーチンは、以下のようなステップを含む。
【０１７１】
・配置情報で指定されたネジ面にもとづき、ボルトの中心軸を検出するステップ。
・検出した中心軸とナットの中心軸を揃え、配置情報で指定された配置面にナットの表
面が接するように、ナットを配置するステップ。
【０１７２】
また、配置情報チェック部１１０用のプログラムに追加されるサブルーチンは、以下のようなステップを含む。
・ナットの配置先として指定されたネジ面を有するボルトのネジ径と、ボルトとナットのはめあい長さとを、ボルトとナットのモデルから算出するステップ。
【０１７３】
・選択可能モデルデータベース１０８から、制約条件としての「ネジ径」と「必要ネジ長さ」の値を読み出すステップ。
・算出したボルトのネジ径と読み出したネジ径の値が等しく、かつ、算出したはめあい長さが読み出した必要ネジ長さ以上であるか否かを判断するステップ。
【０１７４】
そして、工程Ｂの最後に、ステップＳ３１３において部品設計者は、ステップＳ３０１で決定した対象部品に関する各種情報を、モデルの種別ごとのライブラリモデルデータベース１０２に登録する。つまり、部品設計者は、例えば図４に示したような各項目のデータをライブラリモデルデータベース１０２に登録する。
【０１７５】
以上のようにして、ライブラリ１０１、ライブラリモデルデータベース１０２、および３Ｄ‐ＣＡＤシステム１０３が適宜更新される。
図１４は、本発明のプログラムを実行するコンピュータのブロック図である。図１４のコンピュータは、ＣＰＵ（Central Processing Unit）４０１、ＲＯＭ（Read Only Memory）４０２、ＲＡＭ４０３、通信インターフェイス４０４、入力装置４０５、出力装置４０６、記憶装置４０７、可搬型記憶媒体４１０の駆動装置４０８を備え、これらのすべてがバス４０９によって接続されている。
【０１７６】
また、図１４のコンピュータは、通信インターフェイス４０４を介してネットワーク４１１に接続されている。ネットワーク４１１は、ＬＡＮ（Local Area Network）やインターネットなど任意のネットワークでよい。このコンピュータは、ネットワーク４１１を介して別の記憶装置４１２を参照するよう構成されていてもよい。
【０１７７】
入力装置４０５は、例えばマウスやタッチペンなどのポインティングデバイスやキーボードである。ユーザは、モデル種別選択メニュー２００などのメニューへの入力および配置情報の入力を、入力装置４０５を介して行う。出力装置４０６は、例えば液晶ディスプレイなどの表示装置である。出力装置４０６には、設計対象物や部品のモデル、モデル種別選択メニュー２００などのメニュー、制約条件に合致するレコードが存在しない場合の警告などが表示される。
【０１７８】
記憶装置４０７および４１２は、ハードディスクなどの磁気ディスク装置でもよく、他の種類の記憶装置でもよい。記憶装置４０７またはＲＯＭ４０２には、本発明によるプログラムが格納されている。そのプログラムをＣＰＵ４０１が実行することにより、図２および図１１の処理が行われる。ライブラリ１０１およびライブラリモデルデータベース１０２は、記憶装置４０７、可搬型記憶媒体４１０、または記憶装置４１２に記憶されている。
【０１７９】
図１１のステップＳ２０３およびＳ２０９では選択可能モデルデータベース１０８への参照が必要である。したがって、ＣＰＵ４０１からの参照に時間がかかる記憶装置４１２などに選択可能モデルデータベース１０８を記憶されていることは、処理の高速化およびユーザの待ち時間の削減という観点から、好ましくない。つまり、選択可能モデルデータベース１０８は、ＣＰＵ４０１が記憶装置４０７などよりも高速に参照することが可能なＲＡＭ４０３に記憶されていることが好ましい。しかし、選択可能モデルデータベース１
０８のデータ量によっては、ＲＡＭ４０３と記憶装置４０７を併用してもよい。
【０１８０】
本発明によるプログラムは、プログラム提供者によって記憶装置４１２に記憶され、ネットワーク４１１および通信インターフェイス４０４を介して提供され、記憶装置４０７に記憶され、ＣＰＵ４０１によって実行されてもよい。また、可搬型記憶媒体４１０に本発明によるプログラムが記憶され、可搬型記憶媒体４１０が駆動装置４０８にセットされ、記憶されたプログラムがＲＡＭ４０３にロードされてＣＰＵ４０１によって実行されてもよい。可搬型記憶媒体４１０としては、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disk）などの光ディスク、光磁気ディスク、フレキシブルディスクなど様々な形式の記憶媒体を使用することができる。
【０１８１】
上記のように、本発明は設計工数を大幅に削減する効果があり、特に上記の実施形態は、様々な面において設計時間を大幅に短縮する効果がある。しかし、本発明は上記の実施形態に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
【０１８２】
図３や図４などでは、ライブラリモデルデータベース１０２のデータ構造をテーブル形式で図示したが、ライブラリモデルデータベース１０２の形式は任意であり、例えば、ＸＭＬ（Extensible Markup Language）データベースなどでもよい。一般には、部品の種別ごとに仕様や制約条件を表すのに必要な項目が異なるので、テーブルを用いてライブラリモデルデータベース１０２を実現する場合は、種別ごとにテーブルを分ける必要がある。そのため、ライブラリモデルデータベース１０２は、種別ごとのデータベースの集合体として構成される。一方、ＸＭＬデータベースによりライブラリモデルデータベース１０２を実現する場合、異なる種別のモデルに関するデータを混在させてライブラリモデルデータベース１０２を構成することも可能である。なお、選択可能モデルデータベース１０８の形式も、ライブラリモデルデータベース１０２と同様に任意である。
【０１８３】
また、図５〜図７に示した各種メニューの体裁は例示にすぎない。各種メニューのユーザインタフェイスは任意である。例えば、図６の入力部２１４のユーザインタフェイスがリストボックスの場合、選択可能な選択肢しか表示されないが、テキストボックスまたはコンボボックスの場合、ユーザは適当な値を入力することが可能である。
【０１８４】
しかし、ユーザインタフェイスとしてコンボボックスを採用した場合に、適当な値の入力のすべてが絞り込み条件として採用されるわけではないのは当然である。例えば、ユーザにより適当に入力された値をモデル仕様指定部１０５が選択可能モデル選別部１０７に指定し、その値が選択可能な選択肢に該当するか否かを選択可能モデル選別部１０７内の配置情報チェック部１１０がチェックし、その値が選択可能な選択肢に該当しないと判明した場合は、選択可能モデル選別部１０７が警告を発して入力内容をキャンセルする。このように、採用するユーザインタフェイスによって、必要なチェック機能は異なる。
【０１８５】
実施形態によっては、図５のようなメニューにより種別を選択する必要がないこともある。例えば、部品の種別が一種類しか存在しない場合や、複数の種別で同一の項目により仕様が定義されている場合などがその例である。それらの場合、先に種別を選択する必要なく、図６や図７のような情報入力メニューによる仕様の指定を行うことが可能である。
【０１８６】
図３や図４に示した項目は例示である。例示した以外の項目をさらに利用してもよく、例示した項目のうち一部の項目を利用しなくてもよい。また、配置に関する制約条件を表すための項目は、数値で表される項目でなくてもよく、「材質」のように記号で表される項目でもよい。
【０１８７】
また、実施形態によっては、図３や図４に示したライブラリモデルデータベース１０２
のすべての項目が利用されなくてもよい場合や、図６や図７に示した情報入力メニューのすべての項目が指定されなくてもよい場合がある。その例は、複数の部品のモデルを設計対象物のモデル上に配置する順序が任意の場合である。例えば、ナットはボルトと組み合わせて利用されるが、３Ｄ‐ＣＡＤシステム１０３を使った設計において、ナットとボルトのどちらのモデルを先に配置するかは任意のことがある。
【０１８８】
ボルトが先に配置されている場合、後からナットを配置しようとする場所の配置情報を配置情報指定部１０６が指定すると、そのボルトとナットが図４の「ナット配置先条件」を満たすか否かを配置情報チェック部１１０がチェックする。また、この場合、ボルトとナットの配置先は、それぞれ図６と図７に示した項目により指定可能である。
【０１８９】
一方、ナットが先に配置されている場合は、後からボルトを配置しようとする場所の配置情報を配置情報指定部１０６が指定すると、そのボルトの配置に関して制約条件が満たされるか否かを配置情報チェック部１１０がチェックする必要がある。図３にはナットとの関係を示す項目がないが、ナットを配置した後でボルトを配置することを許可する実施形態においては、図３に、ナットとの関係から配置に関する制約条件を定義する項目を付け加えることが望ましい。
【０１９０】
また、この場合、ボルトの配置先は、図６に示した「配置面」と「タップ穴面」の組み合わせではなく、例えば、配置面とナットの組み合わせによって指定することも可能である。一方、ナットの配置先は、そのナットと組み合わせるべきボルトがまだ配置されていないため、図７の「ネジ面」を使って指定することができない。よって、例えば、ボルトを配置すべきタップ穴のタップ穴面と、ナットの配置面の組み合わせによって、ナットの配置先を指定するなど、図７とは違う項目で配置先を指定しなくてはならない。
【０１９１】
よって、ナットとボルトのどちらのモデルを先に配置するかの順序が任意の場合、例えば、図３の「ネジ・ボルト配置先条件」にはナットとの関係を規定する項目が追加され、図６の配置情報指定部２１２にはナットを指定する項目が追加され、図７の配置情報指定部２２２にはタップ穴面を指定する項目が追加される。しかし、これらの追加された項目は、ボルトを先に配置する場合には使用されない。同様に、図７の「ネジ面」は、ナットを先に配置する場合には使用されない。
【０１９２】
このように、複数の部品のモデルを設計対象物のモデル上に配置する順序が任意の場合、どの順序も受け付けられるようにするために、ライブラリモデルデータベース１０２や情報入力メニューの項目数が増えることがある。その結果、ある特定の順序で部品を配置する場合に、一部の項目のみが使用され、一部の項目が使用されないことがある。
【０１９３】
また、仕様を表す項目を、配置先の制約条件を満たすか否かのチェックにおいて参照してもよい。例えば、図３の「ネジ長さ」はネジの仕様を表す項目である。配置先の制約条件として、上記で説明した制約条件以外に、さらに、タップ穴とすきま穴の深さの和と「ネジ長さ」の値との比較にもとづく制約条件を予め定義しておき、その制約条件の判定のために「ネジ長さ」の値を配置情報チェック部１１０が参照してもよい。
【０１９４】
また、３Ｄ‐ＣＡＤシステム１０３にロードされた個々の部品のモデルのデータが、３Ｄ‐ＣＡＤシステム１０３の設計対象物のモデルのデータ上で、図番とともに管理される実施形態においては、配置情報指定部１０６または配置情報チェック部１１０は次のように動作してもよい。
【０１９５】
例えば、ナットの配置情報としてユーザが画面上でボルトのネジ面を指定すると、配置情報指定部１０６が、設計対象物のモデルのデータからそのボルトの図番を取得する。配
置情報指定部１０６は、取得した図番をキーにしてライブラリモデルデータベース１０２を検索し、そのボルトの仕様を取得し、その中からボルトのネジ径など、ナットの配置に関わる項目の値を読み出す。そして、配置情報指定部１０６は、読み出した値を選択可能モデル選別部１０７に通知し、選択可能モデル選別部１０７内の配置情報チェック部１１０はその通知された値にもとづいて、ボルトとナットが制約条件を満たす関係にあるか否かを判定する。
【０１９６】
あるいは、配置情報指定部１０６はボルトの図番を選択可能モデル選別部１０７に通知し、選択可能モデル選別部１０７が図番をキーにしてライブラリモデルデータベース１０２を検索してボルトの仕様を取得してもよい。
【０１９７】
逆に、一旦３Ｄ‐ＣＡＤシステム１０３にロードされたモデルの図番を３Ｄ‐ＣＡＤシステム１０３が管理しない実施形態でもよい。その場合でも、モデルを表す三次元の形状データにもとづいて、配置情報指定部１０６がタップ穴径などを算出することが可能である。
【０１９８】
以上説明したことを概観すれば本発明は以下のような構成を備えるものである。
（付記１）
複数の部品の三次元モデルをそれぞれ識別情報と関連付けて記憶したライブラリの中から、部品の三次元モデルを、三次元コンピュータ支援設計システムとして機能するコンピュータに選別させるプログラムであって、
部品の種別を指定する種別指定ステップと、
前記種別に応じて予め定められた、前記部品の仕様を表す複数の項目の値をそれぞれ指定するためのメニューを、前記三次元コンピュータ支援設計システムの画面上に表示するメニュー表示ステップと、
前記仕様を表す前記複数の項目を前記識別情報と関連付けた、前記複数の部品それぞれについてのレコードを含むデータベースに対して、前記メニューを介して指定された前記値にもとづいて前記データベースのレコードを絞り込む操作を行う第一の選別ステップと、
前記メニューにおいて値が未決定の前記項目がとりうる値を、絞り込まれた前記データベースから抽出し、抽出した前記値にもとづいて、前記メニューで選択可能な選択肢を更新する第一のメニュー更新ステップと、
前記第一の選別ステップと前記第一のメニュー更新ステップを一回以上繰り返した後で一意に定まった前記部品の前記三次元モデルを、前記ライブラリからロードすべき三次元モデルに決定する決定ステップと、
を前記コンピュータに実行させることを特徴とするプログラム。
（付記２）
前記仕様を表す前記項目は、前記部品の形状もしくは材質、または前記部品の所定の部分の長さもしくは面積のうち、少なくとも一つを表すことを特徴とする付記１に記載のプログラム。
（付記３）
前記決定ステップは、前記識別情報の値の入力を受け付け、受け付けた前記値にもとづいて前記データベースのレコードを一つに絞り込んで前記部品の前記三次元モデルを一意に定めるステップを含む、
ことを特徴とする付記１に記載のプログラム。
（付記４）
前記三次元コンピュータ支援設計システムの設計対象である装置の三次元モデル上において、前記部品を配置しようとする場所を示す配置情報の入力を受け付ける配置情報受け付けステップと、
前記決定ステップで決定した前記部品の前記三次元モデルを、前記識別情報を指定して
前記ライブラリからロードするロードステップと、
ロードした前記部品の前記三次元モデルを、前記配置情報が示す前記場所に配置する配置ステップと、
をさらに前記コンピュータに実行させることを特徴とする付記１に記載のプログラム。（付記５）
前記配置情報は、ある一点、前記装置に既に含まれている他の部品、または、前記装置もしくは前記他の部品の表面、表面同士の境界、端部、凸部、凹部、もしくは貫通孔を指定する情報を含むことを特徴とする付記４に記載のプログラム。
（付記６）
前記部品の前記三次元モデルは、予め決められた座標に対応付けられて前記ライブラリに記憶されており、
前記ロードステップでは前記部品の前記三次元モデルが前記予め決められた座標にロードされ、
前記配置ステップでは、前記予め決められた座標から前記配置情報が示す前記場所への移動が行われる、
ことを特徴とする付記４に記載のプログラム。
（付記７）
前記配置ステップでは、前記部品の前記三次元モデルが前記ロードステップでロードされた座標が検出され、検出された前記座標から前記配置情報が示す前記場所への移動が行われる、
ことを特徴とする付記４に記載のプログラム。
（付記８）
前記種別に応じて予め定められた、前記部品の配置に関する制約条件を表す一つ以上の項目を、前記データベースがさらに含み、
指定された前記配置情報が示す前記場所の一つ以上の特徴を前記装置の前記三次元モデルから取得する特徴取得ステップと、
前記制約条件に前記特徴が適合するか否かを判断する判断ステップと、
をさらに前記コンピュータに実行させることを特徴とする付記４に記載のプログラム。（付記９）
前記特徴は、前記配置情報により表される形状、該形状に関わる長さもしくは面積、または前記装置の前記場所における材質であり、
前記判断ステップでは、前記制約条件を表す前記項目の値と、前記特徴の値との比較にもとづく判断が行われる、
ことを特徴とする付記８に記載のプログラム。
（付記１０）
前記判断ステップは、前記決定ステップにより決定された前記部品の前記三次元モデルに対応する前記制約条件に、前記特徴が適合するか否かを判断するステップである、
ことを特徴とする付記８に記載のプログラム。
（付記１１）
前記データベースに記憶されたそれぞれのレコードに対し、該レコードに対応する前記制約条件に前記特徴が適合するか否かを前記判断ステップにより判断し、前記データベースを、適合すると判断されたレコードのみに絞り込む第二の選別ステップと、
前記メニューにおいて値が未決定の前記項目がとりうる値を、前記第二の選別ステップにより絞り込まれたデータベースから抽出し、抽出した前記値にもとづいて、前記メニューで選択可能な選択肢を更新する第二のメニュー更新ステップと、
を前記コンピュータにさらに実行させることを特徴とする付記８に記載のプログラム。（付記１２）
前記第一の選別ステップおよび前記第一のメニュー更新ステップによる前記メニューの更新と、前記第二の選別ステップおよび前記第二のメニュー更新ステップによる前記メニューの更新の実行順序は任意である、ことを特徴とする付記１１に記載のプログラム。
（付記１３）
前記判断ステップを実行した結果、前記特徴が適合する前記制約条件のレコードが前記データベースに存在しないことが判明したら、警告を発して、前記配置情報受け付けステップで受け付けた前記配置情報を取り消す警告ステップを、
さらに前記コンピュータに実行させることを特徴とする付記８に記載のプログラム。
（付記１４）
前記第一の選別ステップを実行すると、前記データベースにレコードが存在しなくなる場合は、警告を発して、直近に前記メニューを介して指定された前記値を取り消す警告ステップを、
さらに前記コンピュータに実行させることを特徴とする付記１に記載のプログラム。
（付記１５）
前記種別に応じて予め定められた、前記仕様を表す前記複数の項目を前記識別情報と関連付けた、前記複数の部品それぞれについてのレコードを含む外部データベースが、前記コンピュータが参照可能な第一の記憶手段に記憶され、
前記データベースは、前記第一の記憶手段よりも高速に前記コンピュータが参照することが可能な第二の記憶手段に記憶され、
前記第一の記憶手段から前記外部データベースの内容を読み込み、前記データベースの内容を前記外部データベースから読み込んだ前記内容に初期化する初期化ステップをさらに前記コンピュータに実行させる、
ことを特徴とする付記１に記載のプログラム。
（付記１６）
前記メニューは、選択可能な一つ以上の前記選択肢を並べた形式、または、値の入力を受け付けて、入力された値が選択可能な前記選択肢と一致するか否かを検査する形式である、
ことを特徴とする付記１に記載のプログラム。
（付記１７）
三次元コンピュータ支援設計システムとして機能するコンピュータが、複数の部品の三次元モデルをそれぞれ識別情報と関連付けて記憶したライブラリの中から、部品の三次元モデルを選別する方法であって、
部品の種別を指定する種別指定ステップと、
前記種別に応じて予め定められた、前記部品の仕様を表す複数の項目の値をそれぞれ指定するためのメニューを、前記三次元コンピュータ支援設計システムの画面上に表示するメニュー表示ステップと、
前記仕様を表す前記複数の項目を前記識別情報と関連付けた、前記複数の部品それぞれについてのレコードを含むデータベースに対して、前記メニューを介して指定された前記値にもとづいて前記データベースのレコードを絞り込む操作を行う選別ステップと、
前記メニューにおいて値が未決定の前記項目がとりうる値を、絞り込まれた前記データベースから抽出し、抽出した前記値にもとづいて、前記メニューで選択可能な選択肢を更新するメニュー更新ステップと、
前記選別ステップと前記メニュー更新ステップを一回以上繰り返した後で一意に定まった前記部品の前記三次元モデルを、前記ライブラリからロードすべき三次元モデルに決定する決定ステップと、
を含むことを特徴とする方法。
（付記１７）
付記１６に記載の方法によって選別された前記部品の前記三次元モデルを、前記コンピュータが、前記ライブラリからロードして、前記三次元コンピュータ支援設計システムの設計対象である装置の三次元モデル上に配置する工程を含むことを特徴とする、前記装置の設計方法。
（付記１８）
複数の部品の三次元モデルをそれぞれ識別情報と関連付けて記憶したライブラリの中か
ら、部品の三次元モデルを選別する機能を有する三次元コンピュータ支援設計システムであって、
部品の種別を指定する種別指定手段と、
前記種別に応じて予め定められた、前記部品の仕様を表す複数の項目の値をそれぞれ指定するためのメニューを表示するメニュー表示手段と、
前記仕様を表す前記複数の項目を前記識別情報と関連付けた、前記複数の部品それぞれについてのレコードを含むデータベースを記憶する記憶手段と、
前記メニューを介して指定された前記値にもとづいて前記データベースのレコードを絞り込む選別手段と、
前記メニューにおいて値が未決定の前記項目がとりうる値を、絞り込まれた前記データベースから抽出し、抽出した前記値にもとづいて、前記メニューで選択可能な選択肢を更新するメニュー更新手段と、
前記選別手段と前記メニュー更新手段による絞り込みと更新を一回以上繰り返した後で一意に定まった前記部品の前記三次元モデルを、前記ライブラリからロードすべき三次元モデルに決定する決定手段と、
を備えることを特徴とする三次元コンピュータ支援設計システム。
【図面の簡単な説明】
【０１９９】
【図１】本発明の一実施形態におけるシステム構成を機能ブロックにより表した図である。
【図２】本発明の一実施形態において行なわれる一つの部品に関する処理のフローチャートである。
【図３】ライブラリモデルデータベースのデータ構造の具体例である。
【図４】ライブラリモデルデータベースのデータ構造の具体例である。
【図５】モデル種別選択メニューの例である。
【図６】ネジ・ボルト用情報入力メニューの例である。
【図７】ナット用情報入力メニューの例である。
【図８Ａ】初期化された状態の選択可能モデルデータベースの例である。
【図８Ｂ】絞り込まれた状態の選択可能モデルデータベースの例である。
【図９】ネジ・ボルト用情報入力メニューで選択可能な選択肢と選択可能モデルデータベースとの関係を示す図である。
【図１０】配置情報チェック部の動作の詳細を説明する図である。
【図１１】モデルの選択の流れを示すフローチャートである。
【図１２】モデルデータロード部とモデル配置部の動作を説明する図である。
【図１３】ライブラリに部品のモデルを追加する処理のフローチャートである。
【図１４】本発明のプログラムを実行するコンピュータのブロック図である。
【図１５】３Ｄ‐ＣＡＤシステムとライブラリを含む従来のシステムの構成例である。
【図１６】従来のシステムにおいて一つの部品を配置する処理の流れを示すフローチャートである。
【図１７】図１６の処理を模式的に示した図である。
【符号の説明】
【０２００】
１０１  ライブラリ
１０２  ライブラリモデルデータベース
１０３  ３Ｄ‐ＣＡＤシステム
１０４  モデル情報指定部
１０５  モデル仕様指定部
１０６  配置情報指定部
１０７  選択可能モデル選別部
１０８  選択可能モデルデータベース
１０９  選択可能モデル仕様表示部
１１０  配置情報チェック部
１１１  モデルデータロード部
１１２  モデル配置部
２００  モデル種別選択メニュー
２０１  モデル種別指定部
２０２、２１３、２１５、２１７、２２３、２２５、２２７  見出し
２０３、２１４、２１６、２２４、２２６  入力部
２１０  ネジ・ボルト用情報入力メニュー
２１１、２２１  モデル仕様／図番指定部
２１２、２２２  配置情報指定部
２１８、２２８  表示部
２２０  ナット用情報入力メニュー
３０１、３０６  タップ穴
３０２、３０３  板
３０４  配置面
３０５  すきま穴
３０７  ネジ
３０８  軸部
３０９  頭部
３１０  座面
４０１  ＣＰＵ
４０２  ＲＯＭ
４０３  ＲＡＭ
４０４  通信インターフェイス
４０５  入力装置
４０６  出力装置
４０７、４１２  記憶装置
４０８  駆動装置
４０９  バス
４１０  可搬型記憶媒体
４１１  ネットワーク
１００１  ライブラリ
１００２  ３Ｄ‐ＣＡＤシステム
１００３  モデルデータロード部
１００４  モデル配置部
１００５  データ管理ツール
１００６  ネジ
１００７、１００８  板
【図１】
2008225589.tif 000003
【図２】
2008225589.tif 000004
【図３】
2008225589.tif 000005
【図４】
2008225589.tif 000006
【図５】
2008225589.tif 000007
【図６】
2008225589.tif 000008
【図７】
2008225589.tif 000009
【図８Ａ】
2008225589.tif 000010
【図８Ｂ】
2008225589.tif 000011
【図９】
2008225589.tif 000012
【図１０】
2008225589.tif 000013
【図１１】
2008225589.tif 000014
【図１２】
2008225589.tif 000015
【図１３】
2008225589.tif 000016
【図１４】
2008225589.tif 000017
【図１５】
2008225589.tif 000018
【図１６】
2008225589.tif 000019
【図１７】
2008225589.tif 000020