(57)【要約】【課題】任意の複数のモジュール間において、該モジュールを連結する締結部品を配置可能な該モジュール上の領域を求める。【解決手段】設計支援装置１００は、連結対象となる複数のモジュールのモデルデータを取得するモデルデータ取得部１１１と、モジュールを連結する締結部品を選択する締結部品選択部１１３と、締結部品をモジュールに配置する際の制約に関する配置制約情報を取得する配置制約情報取得部１１２と、モデルデータと配置制約情報とを用いて複数のモジュールの各々において締結部品を配置可能な配置可能領域を抽出する配置可能領域抽出部１１４と、モジュールの連結の組合せの集合を表す組合せ情報を取得する組合せ情報取得部１１５と、複数のモジュールを組合せ情報に基づいて連結させるときの配置可能領域の共通部分である共通領域を抽出する共通領域抽出部１１６と、抽出した共通領域を出力する出力部１５０と、を備える。【選択図】図１
2018128891.tif 000002
【特許請求の範囲】
【請求項１】
連結対象となる複数のモジュールの３Ｄモデルのデータであるモデルデータを取得するモデルデータ取得部と、
前記複数のモジュールを連結する締結部品を選択する締結部品選択部と、
前記締結部品を前記モジュールに配置する際の制約に関する情報である配置制約情報を取得する配置制約情報取得部と、
前記モデルデータ取得部が取得したモデルデータと前記配置制約情報取得部が取得した配置制約情報とを用いて、前記複数のモジュールの各々において前記締結部品選択部が選択した締結部品を配置可能な領域である配置可能領域を抽出する配置可能領域抽出部と、
前記複数のモジュールの連結の組合せの集合を表す組合せ情報を取得する組合せ情報取得部と、
前記組合せ情報取得部が取得した組合せ情報に基づいて前記複数のモジュールを連結させるときの前記複数のモジュールの各々における前記配置可能領域の共通部分である共通領域を、前記組合せ情報と前記配置可能領域抽出部が抽出した配置可能領域とに基づいて抽出する共通領域抽出部と、
前記共通領域抽出部が抽出した前記共通領域を出力する出力部と、
を備える設計支援装置。
【請求項２】
前記配置可能領域抽出部は、前記締結部品選択部が選択した締結部品の３Ｄモデルによる形状情報も用いて、前記配置可能領域を抽出する、
請求項１に記載の設計支援装置。
【請求項３】
前記共通領域抽出部は、連結対象となる前記複数のモジュールの全てに共通する前記配置可能領域である共通領域が存在するか否かを、前記複数のモジュールの全ての前記配置可能領域を重ね合わせたときに共通部分が存在するか否かによって、判定する、
請求項１又は２に記載の設計支援装置。
【請求項４】
前記共通領域抽出部は、連結対象となる前記複数のモジュールの全てに共通する前記配置可能領域である共通領域が存在しないときには、前記複数のモジュールの全てを複数の組に分割し、それぞれの組において、該組の全てのモジュールに共通する前記配置可能領域である共通領域が存在するか否かを、該組のモジュール全ての前記配置可能領域を重ね合わせたときに共通部分が存在するか否かによって、判定する、
請求項１から３のいずれか１項に記載の設計支援装置。
【請求項５】
前記共通領域抽出部は、連結対象となる前記複数のモジュールの全てに共通する前記配置可能領域である共通領域が存在しないときには、前記複数のモジュールの全てを複数のグループに分割し、該グループの数が少ない方から順番に共通領域を抽出する、
請求項４に記載の設計支援装置。
【請求項６】
前記共通領域抽出部が抽出した前記共通領域の個数が基準共通領域個数を超える場合には、前記出力部は、前記グループの少ない方から順番に前記基準共通領域個数の前記共通領域を出力する、
請求項５に記載の設計支援装置。
【請求項７】
連結対象となる複数のモジュールの３Ｄモデルのデータであるモデルデータを取得するモデルデータ取得ステップと、
前記複数のモジュールを連結する締結部品を前記モジュールに配置する際の制約に関する情報である配置制約情報を取得する配置制約情報取得ステップと、
前記モデルデータ取得ステップで取得したモデルデータと前記配置制約情報取得ステップで取得した配置制約情報とを用いて、前記複数のモジュールの各々において前記締結部品を配置可能な領域である配置可能領域を抽出する配置可能領域抽出ステップと、
前記複数のモジュールの連結の組合せの集合を表す組合せ情報を取得する組合せ情報取得ステップと、
前記組合せ情報取得ステップで取得した組合せ情報に基づく組合せの対象となる前記複数のモジュールの各々の、前記配置可能領域抽出ステップで抽出した配置可能領域を重ね合わせることによって、前記配置可能領域の共通部分である共通領域を抽出する共通領域抽出ステップと、
前記共通領域抽出ステップで抽出した前記共通領域を出力する出力ステップと、
を含む設計支援方法。
【請求項８】
コンピュータに、
連結対象となる複数のモジュールの３Ｄモデルのデータであるモデルデータを取得するモデルデータ取得ステップ、
前記複数のモジュールを連結する締結部品を選択する締結部品選択ステップ、
前記締結部品を前記モジュールに配置する際の制約に関する情報である配置制約情報を取得する配置制約情報取得ステップ、
前記モデルデータ取得ステップで取得したモデルデータと前記配置制約情報取得ステップで取得した配置制約情報とを用いて、前記複数のモジュールの各々において前記締結部品選択ステップで選択した締結部品を配置可能な領域である配置可能領域を抽出する配置可能領域抽出ステップ、
前記複数のモジュールの連結の組合せの集合を表す組合せ情報を取得する組合せ情報取得ステップ、
前記組合せ情報取得ステップで取得した組合せ情報に基づく組合せの対象となる前記複数のモジュールの各々の、前記配置可能領域抽出ステップで抽出した配置可能領域を重ね合わせることによって、前記配置可能領域の共通部分である共通領域を抽出する共通領域抽出ステップ、及び、
前記共通領域抽出ステップで抽出した前記共通領域を出力する出力ステップ、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設計支援装置、設計支援方法及びプログラムに関する。
【背景技術】
【０００２】
製品を設計する際には、製品を特徴付ける機能、性能、デザイン等に基づいて、１つの製品を複数のモジュールに分割し、これらのモジュールを組み合わせることによって製品を構成するようにすると、効率的な設計が可能になる。なぜなら、製品のバリエーションの数は各特徴の種類数の積になるが、特徴毎にモジュールに分割すると、検討すべきバリエーションの数は、各特徴の種類数の和に抑えることができるからである。
【０００３】
このように、製品を複数のモジュールに分割して設計する場合、該製品を構成するためには各モジュールを連結する必要がある。そして、各モジュールを連結するためには、ネジ、ボルトといった締結部品を、連結させるモジュール間に貫通させる必要がある。そこで、このための設計支援を行うＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）システムが開発されている。例えば、特許文献１は、モジュールの形状の情報に基づいて該モジュールに存在するネジ穴を認識し、１つのネジが各モジュールのネジ穴を貫通するようにモジュールを自動的に位置決めするＣＡＤシステムを開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２５１４１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１が開示するＣＡＤシステムは、ネジ穴の存在するモジュールを自動的に位置決めすることができる。しかし、このシステムは、各モジュールにネジ穴が存在していることを前提としており、任意の複数のモジュール間において、該モジュールを連結するネジ穴を配置可能な該モジュール上の領域を求めることはできない。
【０００６】
本発明は、上述のような事情に鑑みてなされたものであり、任意の複数のモジュール間において、該モジュールを連結する締結部品を配置可能な該モジュール上の領域を求めることを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するため、本発明に係る設計支援装置は、モデルデータ取得部と、締結部品選択部と、配置制約情報取得部と、配置可能領域抽出部と、組合せ情報取得部と、共通領域抽出部と、出力部と、を備える。モデルデータ取得部は、連結対象となる複数のモジュールの３Ｄモデルのデータであるモデルデータを取得する。締結部品選択部は、複数のモジュールを連結する締結部品を選択する。配置制約情報取得部は、締結部品をモジュールに配置する際の制約に関する情報である配置制約情報を取得する。配置可能領域抽出部は、モデルデータ取得部が取得したモデルデータと配置制約情報取得部が取得した配置制約情報とを用いて、複数のモジュールの各々において締結部品選択部が選択した締結部品を配置可能な領域である配置可能領域を抽出する。組合せ情報取得部は、複数のモジュールの連結の組合せの集合を表す組合せ情報を取得する。共通領域抽出部は、組合せ情報取得部が取得した組合せ情報に基づいて複数のモジュールを連結させるときの複数のモジュールの各々における配置可能領域の共通部分である共通領域を、組合せ情報と配置可能領域抽出部が抽出した配置可能領域とに基づいて抽出する。出力部は共通領域抽出部が抽出した共通領域を出力する。
【発明の効果】
【０００８】
本発明によれば、設計支援装置は、各モジュールにおける締結部品を配置可能な領域の共通部分である共通領域を抽出するので、任意の複数のモジュール間において、該モジュールを連結する締結部品を配置可能な該モジュール上の領域を求めることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態に係る設計支援装置の構成を示すブロック図
【図２】実施の形態に係るモジュールの一例を示す図
【図３】実施の形態に係るモデルデータの一例を示す図
【図４】実施の形態に係る配置可能領域の一例を示す図
【図５】実施の形態に係る組合せ情報の一例を示す図
【図６】実施の形態に係る共通領域抽出部によって抽出される共通領域の一例を示す図
【図７】実施の形態に係る設計支援処理の流れを示すフローチャート
【図８】実施の形態に係る共通領域抽出処理の流れを示すフローチャート
【図９】実施の形態に係る共通領域抽出処理で抽出される各組合せの共通領域を格納するマトリクスの一例を示す図
【図１０】実施の形態に係る共通領域を格納するマトリクスの集合の一例を示す図
【図１１】実施の形態に係る共通領域を格納するマトリクスの集合の別の例を示す図
【図１２】実施の形態に係る共通領域抽出処理において、列に着目して共通領域を抽出したマトリクスの一例を示す図
【図１３】実施の形態に係る共通領域抽出処理において、列に着目して共通領域を抽出したマトリクスの別の例を示す図
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態に係る設計支援装置、設計支援方法及びプログラムについて、図面を参照しながら説明する。
【００１１】
本発明の実施の形態に係る設計支援装置は、複数のモジュールが連結して構成される製品を設計する際の、モジュール間インタフェースの設計を支援する装置である。ここで、モジュールとは、製品を構成する一部分である。モジュールの一例としては、一つのまとまった機能を提供する電子回路が搭載された基板が挙げられる。また、モジュール間インタフェースの設計とは、モジュール同士を連結するネジ、ナットといった締結部品の配置位置の設計を指す。この設計支援装置は、連結する対象となるモジュールの全ての組合せに適合する、締結部品の配置可能領域を抽出することにより、モジュール間インタフェースの設計を支援する。
【００１２】
設計支援装置１００は、図１に示すように、制御部１１０、記憶部１２０、通信部１３０、入力部１４０及び出力部１５０を備える。これらの各部位は、バスラインＢＬを介して相互に電気的に接続されている。
【００１３】
制御部１１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備え、記憶部１２０に記憶された各種の動作プログラムを読み出して実行することにより、設計支援装置１００の各構成部位を制御する。
【００１４】
制御部１１０は、機能的には、モデルデータ取得部１１１、配置制約情報取得部１１２、締結部品選択部１１３、配置可能領域抽出部１１４、組合せ情報取得部１１５及び共通領域抽出部１１６を有する。
【００１５】
モデルデータ取得部１１１は、設計支援の対象、つまり連結する対象となる各モジュールの３Ｄモデルのデータであるモデルデータを取得し、後述するモデルデータ記憶部１２１に記憶させる。モジュールの具体例として、モジュールａ３１１を図２に示す。この図は、モジュールａ３１１が、モジュールａ３１１を構成する構成部品４０２，４０３と、該構成部品を設置する基板４０１を含んでいることを示している。そして、モジュールの３Ｄモデルのデータであるモデルデータは、モジュールを構成する構成部品の形状情報及び配置情報、並びに、該構成部品を設置する基板の形状情報及び配置情報を含む。
【００１６】
このモデルデータの具体例を図３に示す。この具体例は、設計支援装置１００が、上部モジュール３１０と下部モジュール３２０とを連結する締結部を設計することを目的とした場合のモデルデータである。この例では、上部モジュール３１０として、モジュールａ３１１、モジュールｂ３１２、モジュールｃ３１３の３種類が存在しており、下部モジュール３２０として、モジュールｄ３２１、モジュールｅ３２２、モジュールｆ３２３の３種類が存在している。これらの各モジュールのモデルデータは、通常、ＣＡＤシステムで作成し、当該ＣＡＤシステムが記憶している。
【００１７】
モデルデータ取得部１１１は、当該ＣＡＤシステムが記憶しているモジュールのモデルデータを、通信部１３０を介して取得し、モデルデータ記憶部１２１に記憶させる。ただし、当該ＣＡＤシステムに、設計対象以外、つまり連結対象ではないモジュールのモデルデータも記憶されている場合は、それらのモジュールの中から連結対象となる各モジュールを選択し、選択した各モジュールのモデルデータをモデルデータ記憶部１２１に記憶させる。
【００１８】
連結対象となる各モジュールを選択する場合、モデルデータ取得部１１１は、製品の設計データに基づいて自動的に選択しても良いし、入力部１４０を介したユーザからの入力に基づいて選択しても良い。ユーザからの入力に基づいて選択する場合は、設計支援装置１００はＣＡＤシステムから取得した様々なモジュールを出力部１５０に表示するのが望ましい。そして、表示されたこれらのモジュールのどれを連結対象とするかについて、モデルデータ取得部１１１は、入力部１４０を介してユーザに選択してもらう。すると、モデルデータ取得部１１１は、ユーザが選択した各モジュールのモデルデータを取得する。
【００１９】
また、モデルデータ取得部１１１は、連結対象となるモジュールのモデルデータを、通信部１３０を介さずに、記憶部１２０から取得することができる場合がある。これは、設計支援装置１００が汎用コンピュータ、ワークステーション等の上に実装され、同じコンピュータ上にＣＡＤシステムも実装されている場合である。この場合、記憶部１２０は、本発明にかかる設計支援装置１００とＣＡＤシステムとで共用される。つまり、設計支援装置１００が実装されているコンピュータ上でＣＡＤシステムを実行して作成したモジュールのモデルデータは記憶部１２０に記憶される。したがって、モデルデータ取得部１１１は当該モデルデータを記憶部１２０から取得することができることになる。
【００２０】
図１に戻り、配置制約情報取得部１１２は、モジュールを連結させる締結部品をモジュールに配置する際の制約に関する情報である配置制約情報を取得し、配置制約情報記憶部１２２に記憶させる。締結部品とは、ネジ、ボルトといった、モジュール間を連結するための部品である。配置制約情報は、以下の情報を含む。
（１）モジュール上で、締結部品を配置可能であると設定した面（以下「配置面」と言う）。
（２）モジュールを構成する構成部品及び基板それぞれの端と締結部品との間の、配置面における許容可能な最小距離。
（３）締結部品を配置する位置における配置面の厚さの最小値及び最大値。
【００２１】
配置制約情報取得部１１２は、製品の設計データ及びモジュールのモデルデータに基づいて自動的に設定された配置制約情報を取得しても良いし、入力部１４０を介してユーザが設定した配置制約情報を取得しても良い。ユーザから取得する場合は、設計支援装置１００は、取得する配置制約情報の対象となるモジュールを出力部１５０に表示するのが望ましい。そして、表示されたモジュールのどの面に締結部品を配置可能とするか、モジュールを構成する構成部品及び基板の端と締結部品との最小距離をどれくらいに設定するか、等について、配置制約情報取得部１１２は、入力部１４０を介してユーザに入力してもらう。そして、配置制約情報取得部１１２は、該ユーザから入力してもらった配置制約情報を取得する。
【００２２】
締結部品選択部１１３は、後述する締結部品ライブラリ１２３に記憶されている締結部品の中から、モジュールの連結に使用する締結部品を選択する。そして、選択した締結部品の３Ｄモデルによる形状情報を締結部品ライブラリから取得して、締結部品情報記憶部１２４に記憶させる。
【００２３】
締結部品選択部１１３は、締結部品を、製品の設計データ、各モジュールのモデルデータ及び締結部品の形状情報に基づいて自動的に選択しても良いし、入力部１４０を介してユーザに選択してもらっても良い。ユーザが選択する場合は、設計支援装置１００は、締結部品ライブラリ１２３に記憶されている締結部品を出力部１５０に表示するのが望ましい。そして、表示された締結部品の中からどの締結部品を選択するかについて、締結部品選択部１１３は、入力部１４０を介してユーザに入力してもらう。すると、締結部品選択部１１３は、ユーザが選択した締結部品を選択し、該締結部品の形状情報を締結部品情報記憶部１２４に記憶させる。
【００２４】
配置可能領域抽出部１１４は、モデルデータ記憶部１２１に記憶された各モジュールのモデルデータと、配置制約情報記憶部１２２に記憶された配置制約情報と、締結部品情報記憶部１２４に記憶された締結部品の３Ｄモデルによる形状情報とに基づき、各モジュールにおいて締結部品を配置可能な領域である配置可能領域を抽出する。そして、抽出した配置可能領域を示す情報を配置可能領域記憶部１２５に記憶させる。
【００２５】
配置可能領域抽出部１１４によって抽出される配置可能領域の一例を図４に示す。この図は、配置制約情報として、モジュールａ３１１の基板４０１の存在する面が配置面に設定され、構成部品及び基板それぞれの端と締結部品との間の配置面における許容可能な最小距離が１ｍｍに設定された場合の例である。また、締結部品に選択されたネジの形状情報に、ネジの半径が１ｍｍであることが示されていた場合の例である。この例では、モジュールａ３１１のモデルデータと、当該配置制約情報と、当該ネジの形状情報とに基づいて、配置可能領域４１１が抽出されている。この例では、構成部品及び基板それぞれの端と締結部品との間の配置面における許容可能な最小距離１ｍｍと、ネジの半径１ｍｍの和である２ｍｍ分が構成部品及び配置面の縁から回避された領域が、配置可能領域４１１となっている。配置可能領域抽出部１１４は、抽出した配置可能領域４１１の形状及びモジュールａ３１１内における位置を示す情報を、配置可能領域を示す情報として配置可能領域記憶部１２５に記憶させる。
【００２６】
図１に戻り、組合せ情報取得部１１５は、連結対象であるモジュールの組合せの集合を表す組合せ情報を取得し、組合せ情報記憶部１２６に記憶させる。組合せ情報の一例を図５に示す。この例では、上部モジュールと下部モジュールとが連結することと、上部モジュールとしてモジュールａ，ｂ，ｃが、下部モジュールとしてモジュールｄ，ｅ，ｆがそれぞれ存在していることが示されている。そして、モジュールａと連結し得る下部モジュールはモジュールｄ，ｅ，ｆであり、モジュールｂと連結し得る下部モジュールはモジュールｄ，ｅであり、モジュールｃと連結し得る下部モジュールはモジュールｄ，ｆであることが示されている。つまり、この例では、モジュールａとモジュールｄの組合せ５０１と、モジュールａとモジュールｅの組合せ５０２と、モジュールａとモジュールｆの組合せ５０３と、モジュールｂとモジュールｄの組合せ５０４と、モジュールｂとモジュールｅの組合せ５０５と、モジュールｃとモジュールｄの組合せ５０６と、モジュールｃとモジュールｆの組合せ５０７の７つの組合せの集合が組合せ情報５００として示されている。
【００２７】
組合せ情報取得部１１５は、組合せの集合を表す組合せ情報を、製品の設計データに基づいて自動的に取得しても良いし、入力部１４０を介してユーザから取得しても良い。ユーザから取得する場合は、設計支援装置１００は、取得する組合せ情報に対応する複数のモジュールを出力部１５０に表示するのが望ましい。そして、表示された複数のモジュール間でどのモジュールとどのモジュールとが連結し得るのかを、組合せ情報取得部１１５は、入力部１４０を介してユーザに入力してもらう。このユーザからの入力により、組合せ情報取得部１１５は、組合せの集合を表す組合せ情報を取得する。
【００２８】
図１に戻り、共通領域抽出部１１６は、各モジュールを組合せ情報に基づいて連結させる場合に締結部品を配置可能な領域の共通部分である共通領域を抽出し、この共通領域を示す情報を共通領域記憶部１２７に記憶させる。共通領域抽出部１１６は、共通部分の抽出を、配置可能領域記憶部１２５に記憶された各モジュールにおける締結部品を配置可能な領域の情報と、組合せ情報記憶部１２６に記憶された組合せ情報とを照合することによって行う。この共通部分を抽出する処理である共通領域抽出処理の詳細は後述する。
【００２９】
共通領域抽出部１１６によって抽出される共通部分である共通領域の一例を図６に示す。この図は、上部モジュールであるモジュールａ３１１の配置可能領域４１１と、下部モジュールであるモジュールｄ３２１の配置可能領域４２１との共通部分が共通領域４３１として共通領域抽出部１１６によって抽出されることを示している。なお、この図で、モジュールａ３１１は、基板４０１の上に、構成部品４０２，４０３が取り付けられており、モジュールｄ３２１は、基板４０５の上に、構成部品４０６が取り付けられている。
【００３０】
図１に戻り、記憶部１２０は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の半導体メモリ、ハードディスクドライブ等を備える。また、記憶部１２０は、機能的には、モデルデータ記憶部１２１と、配置制約情報記憶部１２２と、締結部品ライブラリ１２３と、締結部品情報記憶部１２４と、配置可能領域記憶部１２５、組合せ情報記憶部１２６と、共通領域記憶部１２７と、を備える。
【００３１】
モデルデータ記憶部１２１は、モデルデータ取得部１１１が取得したモデルデータを記憶する。配置制約情報記憶部１２２は、配置制約情報取得部１１２が取得した配置制約情報を記憶する。締結部品ライブラリ１２３は、締結部品選択部１１３が選択対象とする各締結部品の３Ｄモデルによる形状情報を記憶する。締結部品情報記憶部１２４は、締結部品選択部１１３が選択した締結部品の３Ｄモデルによる形状情報を記憶する。配置可能領域記憶部１２５は、配置可能領域抽出部１１４が抽出した配置可能領域を示す情報を記憶する。組合せ情報記憶部１２６は、組合せ情報取得部１１５が取得した組合せ情報を記憶する。共通領域記憶部１２７は、共通領域抽出部１１６が抽出した、締結部品を配置可能な領域の共通部分を示す情報を記憶する。
【００３２】
通信部１３０は、外部装置と通信するためのモジュールであり、外部装置と無線通信する場合にはアンテナを含む無線モジュールである。例えば、通信部１３０は、無線ＬＡＮに基づく無線通信を行うための無線モジュールであり、制御部１１０の制御に従って、他のＣＡＤシステムからモジュールのモデルデータを受信する。
【００３３】
入力部１４０は、キーボード、マウス、タッチパネル、操作ボタン等を備え、ユーザの操作、データ入力等を受け付ける。具体的には、入力部１４０は、上述したモデルデータの選択、配置制約情報の入力、締結部品の選択、組合せ情報の入力等を受け付ける。
【００３４】
出力部１５０は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、ＰＤＰ（Ｐｌａｓｍａ  Ｄｉｓｐｌａｙ  Ｐａｎｅｌ）、有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ等の表示装置、プリンタ、スピーカ等を備え、例えば、共通領域抽出部１１６が抽出した共通領域を示す情報を出力する。
【００３５】
次に、設計支援装置１００が実行する設計支援処理について、図７に示すフローチャートを参照しながら説明する。設計支援処理は、ユーザによる指示（例えば、設計支援装置１００に搭載されている設計支援処理のためのアプリケーションソフトウェアの起動）により開始される。
【００３６】
まず、モデルデータ取得部１１１が、連結対象となるモジュールのモデルデータを取得し（ステップＳ１０１）、モデルデータ記憶部１２１に記憶させる。ステップＳ１０１は、モデルデータ取得ステップとも言う。
【００３７】
次に、配置制約情報取得部１１２が、モジュール間を連結させる締結部品の配置制約に関する配置制約情報を取得し（ステップＳ１０２）、配置制約情報記憶部１２２に記憶させる。ステップＳ１０２は、配置制約情報取得ステップとも言う。
【００３８】
次に、締結部品選択部１１３が、締結部品ライブラリ１２３に記憶されている締結部品の中から、モジュールの連結に使用する締結部品を選択する。そして、締結部品選択部１１３は、選択した締結部品の３Ｄモデルによる形状情報を締結部品ライブラリ１２３から取得して（ステップＳ１０３）、締結部品情報記憶部１２４に記憶させる。ステップＳ１０３は、締結部品選択ステップとも言う。
【００３９】
次に、配置可能領域抽出部１１４が、モデルデータ記憶部１２１に記憶された各モジュールのモデルデータと、配置制約情報記憶部１２２に記憶された配置制約情報と、締結部品情報記憶部１２４に記憶された締結部品の形状情報とに基づき、各モジュールにおいて締結部品を配置可能な領域をモジュール毎に抽出する（ステップＳ１０４）。ステップＳ１０４は、配置可能領域抽出ステップとも言う。そして、配置可能領域抽出部１１４は、抽出した各配置可能領域の形状及びモジュール内の位置を示す情報を配置可能領域記憶部１２５に記憶させる。
【００４０】
次に、制御部１１０は、ステップＳ１０４での配置可能領域の抽出において、配置可能領域が存在しないモジュールが存在したか否かを判定する（ステップＳ１０５）。配置可能領域が存在しないモジュールが存在する場合、そのモジュールは、他のモジュールと連結させることができないため、モジュール間インタフェースの設計をすることができない。したがって、配置可能領域が存在しないモジュールが存在するなら（ステップＳ１０５；Ｙｅｓ）、制御部１１０は出力部１５０を介して当該モジュールをユーザに通知し（ステップＳ１０６）、ユーザに、当該モジュールの削除、形状の変更、配置制約情報の変更、又は、締結部品の変更を促す。この場合、支援設計処理はここで終了する。
【００４１】
配置可能領域が存在しないモジュールが存在しないなら（ステップＳ１０５；Ｎｏ）、組合せ情報取得部１１５は、連結対象のモジュールの組合せの集合を表す組合せ情報を取得し（ステップＳ１０７）、組合せ情報記憶部１２６に記憶させる。ステップＳ１０７は、組合せ情報取得ステップとも言う。そして、共通領域抽出部１１６は、後述する共通領域抽出処理により共通領域を抽出し（ステップＳ１０８）、抽出した共通領域を共通領域記憶部１２７に記憶させる。ステップＳ１０８は、共通領域抽出ステップとも言う。
【００４２】
そして、制御部１１０は、共通領域記憶部１２７に記憶された、抽出された全ての共通領域を、出力部１５０を介してユーザに提示し（ステップＳ１０９）、設計支援処理を終了する。ステップＳ１０９は、出力ステップとも言う。
【００４３】
次に、ステップＳ１０８で実行される共通領域抽出処理について、図８に示すフローチャートを参照しながら説明する。
【００４４】
まず、共通領域抽出部１１６は、各モジュールの各組合せにおける共通領域を、配置可能領域記憶部１２５に記憶された配置可能領域の情報と、組合せ情報記憶部１２６に記憶された組合せ情報とに基づいて抽出し、図９に示すようなマトリクスに格納して共通領域記憶部１２７に記憶する（ステップＳ２０１）。
【００４５】
次に、共通領域抽出部１１６は、共通領域の存在しない組合せが存在するか否かを判定する（ステップＳ２０２）。共通領域の存在しない組合せが存在するなら（ステップＳ２０２；Ｙｅｓ）、共通領域抽出部１１６は、共通領域が存在しない当該組合せを出力部１５０を介してユーザに通知し（ステップＳ２０３）、共通領域抽出処理を終了する。共通領域の存在しない組合せが存在すると、その組合せについてモジュール間インタフェースの設計ができないためである。
【００４６】
全ての組合せに何らかの共通領域が存在するなら（ステップＳ２０２；Ｎｏ）、共通領域抽出部１１６は、全モジュールの共通領域が存在するか否かを判定する（ステップＳ２０４）。全モジュールの共通領域が存在するなら（ステップＳ２０４；Ｙｅｓ）、その全モジュールの共通領域を共通領域記憶部１２７に記憶して（ステップＳ２０５）、共通領域抽出処理を終了する。
【００４７】
全モジュールの共通領域は存在しないなら（ステップＳ２０４；Ｎｏ）、共通領域抽出部１１６は、組合せ情報記憶部１２６を参照して上部モジュールの種類数を取得し、変数ＵＮにセットする（ステップＳ２０６）。そして、上部モジュールの種類をカウントするための変数ＵＣに１をセットする（ステップＳ２０７）。
【００４８】
次に、共通領域抽出部１１６は、組合せ情報記憶部１２６を参照して、ＵＣ番目の上部モジュールと組み合わさる下部モジュールの種類数を変数ＤＮにセットする（ステップＳ２０８）。そして、抽出する共通領域の種類数を示す変数Ｃに１をセットする（ステップＳ２０９）。抽出する共通領域の種類数とは、共通領域を抽出する対象となるモジュールを何種類のグループに分割して共通領域を抽出するかを表す数である。
【００４９】
次に、共通領域抽出部１１６は、ＵＣ番目の上部モジュールと、当該上部モジュールと組み合わさる全ての下部モジュールとにおける配置可能領域の共通部分である共通領域の種類数がＣ種類に収まるか否かを判定する（ステップＳ２１０）。共通領域抽出部１１６は、共通領域を、配置可能領域記憶部１２５に記憶された各モジュールにおける配置可能領域の情報と、組合せ情報記憶部１２６に記憶された組合せ情報とに基づいて求める。
【００５０】
ここで、「共通領域がＣ種類に収まる」の意味を、ＵＣ番目の上部モジュールであるモジュールａと組み合わさる下部モジュールがモジュールｄとモジュールｅの２種類だった場合を例に説明する。説明の前提として、モジュールａとモジュールｄとにおける配置可能領域の共通部分を共通領域ＡＤとし、モジュールａとモジュールｅとにおける配置可能領域の共通部分を共通領域ＡＥとする。さらに、共通領域ＡＤと共通領域ＡＥとの間に共通部分があるなら、それを共通領域ＡＤＥとする。
【００５１】
この場合、もし共通領域ＡＤＥが存在するなら、ＵＣ番目の上部モジュールであるモジュールａと、モジュールａと組み合わさる全ての下部モジュールとにおける共通領域は、共通領域ＡＤＥのみの１種類に収まる。つまり、「共通領域が１種類に収まる」とは、ＵＣ番目の上部モジュールと組み合わさる下部モジュール全ての配置可能領域の共通部分と、当該上部モジュールの配置可能領域との間に共通部分が存在することを意味する。そしてまたこれは、下部モジュール全てが１つのグループとなって共通領域が抽出されることを意味する。
【００５２】
そして、もし共通領域ＡＤＥが存在しないなら、ＵＣ番目の上部モジュールであるモジュールａと組み合わさる下部モジュール全ての共通領域は、共通領域ＡＤ及び共通領域ＡＥの２種類になる。これは、下部モジュール全てが２つのグループとなって共通領域が抽出されることを意味する。モジュール間インタフェースの設計を効率化するためには、共通領域の種類数（グループ数）はできるだけ少ない方が良い。したがって、共通領域抽出部１１６は、共通領域の種類数が少ない方から共通領域の抽出を行っていく。
【００５３】
図８に戻り、共通領域がＣ種類に収まらなければ（ステップＳ２１０；Ｎｏ）、共通領域抽出部１１６は、変数Ｃの値をインクリメントし（ステップＳ２１１）、変数Ｃの値が変数ＤＮの値より大きいか否かを判定する（ステップＳ２１２）。
【００５４】
変数Ｃの値が変数ＤＮの値以下なら（ステップＳ２１２；Ｎｏ）、ステップＳ２１０に戻る。変数Ｃの値が変数ＤＮの値より大きいなら（ステップＳ２１２；Ｙｅｓ）、ＵＣ番目の上部モジュールと、当該上部モジュールと組み合わさる全ての下部モジュールとの間に、締結部品を配置可能な領域の共通部分が存在しないということなので、共通領域抽出部１１６は、出力部１５０を介して、「ＵＣ番目の上部モジュールには共通領域が存在しない」という旨をユーザに通知し（ステップＳ２１３）、ステップＳ２１５に進む。
【００５５】
一方、共通領域がＣ種類に収まるなら（ステップＳ２１０；Ｙｅｓ）、ＵＣ番目の上部モジュールと、当該上部モジュールと組み合わさる下部モジュールとの間に、配置可能領域の共通部分が存在するということであるから、共通領域抽出部１１６は、その共通部分を共通領域として、共通領域を格納するマトリクスのＵＣ番目の行にセットする（ステップＳ２１４）。
【００５６】
そして、共通領域抽出部１１６は、変数ＵＣをインクリメントし（ステップＳ２１５）、変数ＵＣが変数ＵＮよりも大きいか否かを判定する（ステップＳ２１６）。
【００５７】
共通領域抽出部１１６は、変数ＵＣが変数ＵＮ以下であれば（ステップＳ２１６；Ｎｏ）、ステップＳ２０８に戻る。変数ＵＣが変数ＵＮよりも大きければ（ステップＳ２１６；Ｙｅｓ）、共通領域抽出部１１６は、共通領域を格納するマトリクスの列における共通領域を抽出し（ステップＳ２１７）、共通領域抽出処理を終了する。ステップＳ２１７の処理の詳細については、具体例を用いて後述する。
【００５８】
次に、共通領域抽出処理について、具体例で説明する。ここでは、図３に示すモデルデータ及び図５に示す組合せ情報に基づいて、共通領域を抽出する場合を説明する。まず、ステップＳ２０１において、共通領域抽出部１１６は、各組合せの共通領域を抽出し、図９に示すような共通領域を格納するマトリクスに格納する。ここではモジュールｘとモジュールｙとにおける配置可能領域の共通部分を共通領域ＸＹと表すことにする。また、後述するが、共通領域ＸＹと共通領域ＹＺとの共通部分を共通領域ＸＹＺと表すことにし、さらに共通部分を重ね合わせていく場合も、同様にモジュールに対応する文字を増やして表すことにする。
【００５９】
次に、ステップＳ２０２において、共通領域抽出部１１６は、共通領域の存在しない組合せが存在するか否かを判定する。図９のマトリクスを参照すればわかるように、この例では、全ての組合せ５０１〜５０７について、共通領域が存在しているので、ここでの判定はＮｏとなり、ステップＳ２０４に進む。
【００６０】
ステップＳ２０４では、共通領域抽出部１１６は、全モジュールの共通領域が存在するか否かを判定する。これは、組み合わさる可能性のある全てのモジュールの配置可能領域を重ね合わせた場合に、共通部分が抽出できるか否かによって、判定できる。この例では、共通領域ＡＢＣＤＥＦが抽出できれば、ステップＳ２０４の判定はＹｅｓになり、ステップＳ２０５において、抽出した共通領域を共通領域記憶部１２７に記憶し、処理を終了する。この場合、当該共通領域に締結部品を配置することによって、全ての各モジュールの組合せにおいて、連結が可能な締結部を設計することができる。
【００６１】
共通領域ＡＢＣＤＥＦが抽出できない場合は、モジュールによって異なった位置に締結部を設ける必要がある。図９に示すマトリクスを参照すると、組合せ５０１〜５０７のそれぞれにおいて共通領域が存在するため、この共通領域の種類数は７種類になっている。つまり、共通領域間の共通部分を抽出しないと、締結部の配置位置に７種類のバリエーションが生じてしまう。したがって、締結部のバリエーションを減らすためには共通領域間の共通部分の抽出が必要である。ステップＳ２０６以降は、この共通領域間の共通部分の抽出のための処理になっている。
【００６２】
まず、ステップＳ２０６において、変数ＵＮに上部モジュールの種類数である３がセットされる。次にステップＳ２０７において、変数ＵＣに１がセットされる。次に、ステップＳ２０８において、１番目の上部モジュールであるモジュールａと組み合わさる下部モジュールの種類数である３が、組合せ情報（図５）を参照して取得され、変数ＤＮにセットされる。次にステップＳ２０９において、変数Ｃに１がセットされる。
【００６３】
次に、ステップＳ２１０において、ＵＣ番目つまり、１番目の上部モジュールであるモジュールａについて、共通領域が１種類に収まるか否かの判定を行う。つまり、１番目の上部モジュールであるモジュールａについての組合せ可能な全ての組合せにおける共通領域の共通部分が抽出できるか否かを判定する。これは、図９のモジュールａの行６１１に含まれる各組合せに対応する共通領域ＡＤ、共通領域ＡＥ及び共通領域ＡＦを重ね合わせて得られる共通部分である共通領域ＡＤＥＦがあるか否かを判定すれば良い。
【００６４】
もし、共通領域ＡＤＥＦが存在するなら、ステップＳ２１０における判定はＹｅｓになり、ステップＳ２１４に進み、共通領域ＡＤＥＦを、共通領域を格納するマトリクスの１行目にセットする。これは、図１０に示すマトリクス６２０の「モジュールａ」の行に対応する。後述するが、共通領域が複数抽出される場合には、共通領域を格納するマトリクスも複数用意する必要があるため、共通領域記憶部１２７は、マトリクスを要素とする集合を記憶する。したがって、図１０では、マトリクス６２０を要素とする集合７１０を示している。
【００６５】
次に、ステップＳ２１５において、変数ＵＣをインクリメントする。この結果、変数ＵＣは２となるが、変数ＵＮは３なので、ステップＳ２１６における判定はＮｏとなり、ステップＳ２０８に戻る。
【００６６】
一方、もし共通領域ＡＤＥＦが存在しないなら、ステップＳ２１０における判定はＮｏになり、ステップＳ２１１に進み、変数Ｃはインクリメントされて、２となる。変数ＤＮは３なので、ステップＳ２１２における判定はＮｏとなり、ステップＳ２１０に戻る。
【００６７】
ステップＳ２１０では、今度は共通領域が２種類に収まるか否かを判定する。ここでは、共通領域ＡＤＥＦは存在しないが、共通領域ＡＥＦ，ＡＤＥ，ＡＤＦが存在しているものとする。この場合、共通領域ＡＥＦと共通領域ＡＤとは共通部分を持たず、共通領域ＡＤＥと共通領域ＡＦとは共通部分を持たず、共通領域ＡＤＦと共通領域ＡＥとは共通部分を持たない。もし共通部分を持つなら、共通領域ＡＤＥＦが存在することになるからである。つまり、いずれの場合も、２種類の共通領域が存在することになるため、ステップＳ２１０の判定はＹｅｓになり、ステップＳ２１４に進む。
【００６８】
ステップＳ２１４では、抽出された共通領域を、共通領域を格納するマトリクスの１行目に格納する。ここでは、抽出された共通領域は、２種類の共通領域の組（共通領域ＡＥＦ，共通領域ＡＤ）、（共通領域ＡＤＥ，共通領域ＡＦ）、（共通領域ＡＤＦ，共通領域ＡＥ）の３つある。そこで、図１１に示すように、マトリクスを３つ用意し、各マトリクスの１行目にこれら２種類の共通領域の組を格納する。
【００６９】
すると、図１１に示すような、モジュールａの行に、共通領域ＡＥＦ及び共通領域ＡＤをセットしたマトリクス６３０、共通領域ＡＤＥ及び共通領域ＡＦをセットしたマトリクス６４０、並びに、共通領域ＡＤＦ及び共通領域ＡＥをセットしたマトリクス６５０という３つのマトリクスを要素とする集合７２０が、共通領域として共通領域記憶部１２７に記憶される。
【００７０】
次に、ステップＳ２１５において、変数ＵＣをインクリメントする。この結果、変数ＵＣは２となるが、変数ＵＮは３なので、ステップＳ２１６における判定はＮｏとなり、ステップＳ２０８に戻る。
【００７１】
ここでは、変数ＵＣは２になっているので、ステップＳ２０８では、２番目の上部モジュールであるモジュールｂと組み合わさる下部モジュールの種類数である２が、組合せ情報（図５）を参照して取得され、変数ＤＮにセットされる。この後のステップＳ２０９〜ステップＳ２１６の処理は、変数ＵＣが１の時と同様に進む。
【００７２】
ここでは、モジュールｂについては、図９のモジュールｂの行６１２に含まれる各組合せに対応する共通領域ＢＤ及び共通領域ＢＥを重ね合わせて得られる共通部分である共通領域ＢＤＥが存在しているものとする。また、モジュールｃについては、図９のモジュールｃの行６１３に含まれる各組合せに対応する共通領域ＣＤ及び共通領域ＣＦを重ね合わせて得られる共通部分である共通領域ＣＤＦが存在しているものとする。
【００７３】
すると、変数ＵＣが２のときも３のときも、変数Ｃが１のときに、ステップＳ２１０における判定がＹｅｓとなり、ステップＳ２１４において、共通領域を格納するマトリクスの２行目には共通領域ＢＤＥが、３行目には共通領域ＣＤＦが、それぞれセットされる。この結果、図１０又は図１１に示すような、モジュールｂの行に共通領域ＢＤＥをセットし、モジュールｃの行に共通領域ＣＤＦをセットしたマトリクスを要素とする集合が、共通領域として共通領域記憶部１２７に記憶される。
【００７４】
そして、ステップＳ２１５で変数ＵＣがインクリメントされると変数ＵＣの値は４となり、変数ＵＮの値である３よりも大きくなるため、ステップＳ２１６における判定はＹｅｓとなり、ステップＳ２１７に進む。
【００７５】
ステップＳ２１７では、共通領域を格納するマトリクスの列における共通領域を抽出する。これは、このマトリクスに記憶されている共通領域間の共通領域を、下部モジュールを基準にして抽出することを意味する。この共通領域抽出においても、マトリクスの行における共通領域抽出と同様に、共通領域の種類が少なくなる方から順に判定及び抽出を行う。つまり、最初に列の共通領域が１種類（１つのグループのみ）に収まるか否かを判定し、１種類に収まらなければ２種類（２つのグループ）に収まるか否かを判定する。そして、２種類に収まらなければ３種類（３つのグループ）に収まるか否かを判定するといった具合に処理を進めることによって、できるだけ共通領域の種類数（グループ数）が少ないものを抽出する。なお、これ以降は図１１に示すマトリクス６３０を例にして説明する。
【００７６】
まず、共通領域抽出部１１６は、マトリクス６３０におけるモジュールｄの列６３１の共通領域を抽出する。共通領域ＡＤ、共通領域ＢＤＥ及び共通領域ＣＤＦの３つの共通領域は、共通領域ＡＢＣＤＥＦである。ここで、共通領域ＡＢＣＤＥＦが存在するなら１種類（１つのグループ）の共通領域に収まることになる。しかし、共通領域ＡＢＣＤＥＦには共通領域ＡＤＥＦが含まれるが、上述したステップＳ２１０において、今回の例では、共通領域ＡＤＥＦは存在しないことになっている。したがって、共通領域ＡＢＣＤＥＦは存在しないこととなる。このように共通領域が存在しない場合には、共通領域抽出部１１６は、組合せを分割して共通領域を抽出する。
【００７７】
すると、共通領域抽出部１１６は、２種類（２つのグループ）の共通領域に収まる共通領域として、共通領域ＡＤと共通領域ＢＤＥの共通領域である共通領域ＡＢＤＥ、共通領域ＡＤと共通領域ＣＤＦの共通領域である共通領域ＡＣＤＦ、及び、共通領域ＢＤＥと共通領域ＣＤＦの共通領域である共通領域ＢＤＥＦの、３つのパターンを抽出する。
【００７８】
図１２に示すマトリクス６６０は、図１１のマトリクス６３０のモジュールｄの列６３１における共通領域の抽出において、共通領域抽出部１１６が、共通領域ＡＤと共通領域ＢＤＥの共通領域である共通領域ＡＢＤＥを抽出した場合のマトリクスである。共通領域抽出部１１６は、マトリクス６３０で共通領域ＡＤ及び共通領域ＢＤＥとなっていた部分を、抽出した共通領域ＡＢＤＥで置き換えている。
【００７９】
次に、共通領域抽出部１１６は、マトリクス６３０のモジュールｅの列６６１において共通領域の抽出を実施する。共通領域ＡＥＦと共通領域ＡＢＤＥの共通領域は、共通領域ＡＢＤＥＦになるが、共通領域ＡＢＤＥＦには共通領域ＡＤＥＦが含まれる。そして、共通領域ＡＤＥＦはステップＳ２１０にて存在しないことを確認した。そのため、共通領域ＡＢＤＥＦは存在しないこととなる。
【００８０】
そこで、共通領域抽出部１１６は、次の列であるモジュールｆの列６６２について共通領域の抽出を実行し、共通領域ＡＥＦと共通領域ＣＤＦの共通領域である共通領域ＡＣＤＥＦを抽出する。共通領域ＡＣＤＥＦにも共通領域ＡＤＥＦが含まれ、共通領域ＡＤＥＦはステップＳ２１０にて存在しないことを確認しているので、共通領域ＡＣＤＥＦは存在しないこととなる。モジュールｆの列が最後の列なので、図１１のマトリクス６３０についての抽出処理はここで終了し、図１２に示すマトリクス６６０が、図１１のマトリクス６３０についての最終的な抽出結果を表すマトリクスになる。
【００８１】
ここで、さらに共通領域が抽出される場合の処理を説明するために、仮に、モジュールｆの列における処理において、共通領域ＡＣＤＥＦが存在することとする。この場合、共通領域抽出部１１６は、共通領域ＡＥＦと共通領域ＣＤＦの部分を共通領域ＡＣＤＥＦで置き換える。その結果が図１３に示すマトリクス６７０である。マトリクス６７０を見ると、共通領域ＡＢＤＥと共通領域ＡＣＤＥＦの２種類の締結部を設計すれば、モジュールの組合せの集合全てを満足できることがわかる。
【００８２】
共通領域抽出部１１６は、同様にして、図１１のマトリクス６４０及びマトリクス６５０においても、共通領域を抽出する。そして、共通領域抽出部１１６は、最終的に得られたマトリクス全ての集合を、共通領域記憶部１２７に記憶し、共通領域抽出部の処理を終了する。
【００８３】
共通領域の抽出の順序は上記例に限定されない。図８に示した共通領域抽出処理及び上述したステップＳ２１７の処理では、上部モジュール（マトリクスの行）毎に共通領域を抽出した後に、下部モジュール（マトリクスの列）毎に共通領域を抽出した。しかし、これとは逆に、まず下部モジュール（マトリクスの列）毎に共通領域を抽出し、次に、上部モジュール（マトリクスの行）毎に共通領域を抽出しても良い。
【００８４】
また、上述した共通領域抽出処理においては、共通領域が存在するかどうかを判定基準としているが、この判定基準を予めユーザに設定させても良い。配置可能領域の面積の最小値、配置可能領域を包括する領域の最小サイズなどを判定基準として設定しておくことにより、締結部設計に十分必要な領域を確保することができる。
【００８５】
なお、設計支援処理（図７）のステップＳ１０９においては、抽出された全ての共通領域をユーザに提示すると、抽出された共通領域が多すぎてユーザが全ての抽出結果を確認するのが大変な状況が発生することが考えられる。そこで、制御部１１０は、抽出結果の並べ替えを行っても良い。また、制御部１１０は、基準共通領域個数（例えば５個）を超える共通領域が抽出された場合には、抽出結果の絞り込みを行っても良い。
【００８６】
例えば、各抽出結果における「マトリクスに含まれる共通領域の種類数」の昇順に並び替えて提示すると、ユーザは共通領域の種類数が少ない抽出結果を確認しやすくなる。そして、共通領域の種類数が少ない抽出結果を用いると、締結部のバリエーション数を少なくすることができる。また、「マトリクスに含まれる複数の共通領域の中で、最も面積が小さい共通領域の面積」の降順に並び替えて提示すると、ユーザは共通領域の面積が大きい抽出結果を確認しやすくなる。
【００８７】
また、「モジュールｘの行の共通領域の種類数」の昇順に並び替えて提示すると、ユーザは、特定のモジュールｘに対して締結部のバリエーションを少なくできる抽出結果を確認しやすくなる。
【００８８】
絞込みについても同様に、「マトリクスに含まれる共通領域の種類数」が基準種類数（例えば３）以下という条件や、「マトリクスに含まれる複数の共通領域の中で、最も面積が小さい共通領域の面積」が基準面積（例えば１平方ｃｍ）以上という条件で、抽出結果の絞込みを行うことができる。
【００８９】
さらに、複数の条件での絞込み、複数の条件での並び替え、並びに、絞込み及び並び替えの併用、を実施することで、よりユーザの希望に合う抽出結果を効率的に見つけることができるような提示を行うことができる。
【００９０】
以上に述べたように、本実施の形態によれば、設計支援装置１００は、任意のモジュール間における、締結部品を配置可能な該モジュール上の領域を求めることができる。
【００９１】
なお、本発明は、上記の実施の形態に限定されず、本発明の要旨を逸脱しない範囲での種々の変形及び応用が可能である。
【００９２】
上記の実施の形態において、制御部１１０のＣＰＵが実行する動作プログラムは、あらかじめＲＯＭに記憶されていた。しかしながら、本発明は、これに限定されず、上記の各種処理を実行させるための動作プログラムを、既存の汎用コンピュータ、ワークステーション等に実装することにより、上記の実施の形態に係る設計支援装置１００に相当する装置として機能させてもよい。
【００９３】
このようなプログラムの提供方法は任意であり、例えば、コンピュータが読取可能な記録媒体（フレキシブルディスク、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）−ＲＯＭ）等に格納して配布してもよいし、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより提供してもよい。
【００９４】
また、上記の処理をＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）とアプリケーションプログラムとの分担、又は、ＯＳとアプリケーションプログラムとの協働によって実行する場合には、アプリケーションプログラムのみを記録媒体やストレージに格納してもよい。また、搬送波にプログラムを重畳し、ネットワークを介して配信することも可能である。例えば、ネットワーク上の掲示板（Ｂｕｌｌｅｔｉｎ  Ｂｏａｒｄ  Ｓｙｓｔｅｍ：ＢＢＳ）に上記プログラムを掲示し、ネットワークを介してプログラムを配信してもよい。そして、このプログラムを起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、上記の処理を実行できるように構成してもよい。
【符号の説明】
【００９５】
１００…設計支援装置、１１０…制御部、１１１…モデルデータ取得部、１１２…配置制約情報取得部、１１３…締結部品選択部、１１４…配置可能領域抽出部、１１５…組合せ情報取得部、１１６…共通領域抽出部、１２０…記憶部、１２１…モデルデータ記憶部、１２２…配置制約情報記憶部、１２３…締結部品ライブラリ、１２４…締結部品情報記憶部、１２５…配置可能領域記憶部、１２６…組合せ情報記憶部、１２７…共通領域記憶部、１３０…通信部、１４０…入力部、１５０…出力部、３１０…上部モジュール、３１１，３１２，３１３，３２１，３２２，３２３…モジュール、３２０…下部モジュール、４０１，４０５…基板、４０２，４０３，４０６…構成部品、４１１，４２１…配置可能領域、４３１…共通領域、５００…組合せ情報、５０１，５０２，５０３，５０４，５０５，５０６，５０７…組合せ、６１０，６２０，６３０，６４０，６５０，６６０，６７０…マトリクス、６１１，６１２，６１３…行、６３１，６６１，６６２…列、７１０，７２０…マトリクスを要素とする集合、ＢＬ…バスライン
【図１】
2018128891.tif 000003
【図２】
2018128891.tif 000004
【図３】
2018128891.tif 000005
【図４】
2018128891.tif 000006
【図５】
2018128891.tif 000007
【図６】
2018128891.tif 000008
【図７】
2018128891.tif 000009
【図８】
2018128891.tif 000010
【図９】
2018128891.tif 000011
【図１０】
2018128891.tif 000012
【図１１】
2018128891.tif 000013
【図１２】
2018128891.tif 000014
【図１３】
2018128891.tif 000015