(57)【特許請求の範囲】
【請求項１】
部品モデルを示す第一のＣＡＤデータを取得する取得部と、
前記取得部により取得されたＣＡＤデータが示す部品モデルの複数の最外側平面における部品モデルの形状を、複数の最外側平面ごとに抽出する抽出部と、
前記抽出部により抽出された前記部品モデルの形状が、前記部品モデルの端子に対応する形状に合致する場合に、合致する前記部品モデルの形状に対応する最外側平面を、第二のＣＡＤデータが示すプリント板モデルに搭載する側の面として決定する決定部と
を有することを特徴とする設計支援装置。
【請求項２】
前記決定部は、前記部品モデルの端子に対応する形状に合致しない前記部品モデルの形状に対応する最外側平面を、前記プリント板モデルに搭載する側の面の候補から外すことで、複数の最外側平面の中から前記プリント板モデルに搭載する側の面を決定する
ことを特徴とする請求項１に記載の設計支援装置。
【請求項３】
前記抽出部は、複数の最外側平面における前記部品モデルの形状、および、前記部品モデルの形状の面積を、複数の最外側平面ごとに抽出し、
前記決定部は、前記部品モデルの形状の数が同一となる平行な２つの最外側平面、および前記部品モデルの形状の面積の差が閾値内となる平行な２つの最外側平面を、前記プリント板モデルに搭載する側の面の候補から外す
ことを特徴とする請求項２に記載の設計支援装置。
【請求項４】
前記抽出部は、複数の最外側平面における前記部品モデルの形状を、複数の最外側平面ごとに抽出し、
前記決定部は、前記部品モデルの形状の数が１つとなる最外側平面を、前記プリント板モデルに搭載する側の面の候補から外す
ことを特徴とする請求項２に記載の設計支援装置。
【請求項５】
前記抽出部は、複数の最外側平面における前記部品モデルの形状、および、前記部品モデルの形状の面積を、複数の最外側平面ごとに抽出し、
前記決定部は、前記部品モデルの形状間の距離がそれぞれ異なるか、または、全ての前記部品モデルの形状の面積のうち、少なくとも一部の形状の面積が同一でない最外側平面を、前記プリント板モデルに搭載する側の面の候補から外す
ことを特徴とする請求項２に記載の設計支援装置。
【請求項６】
前記抽出部は、複数の最外側平面における前記部品モデルの形状、および複数の最外側平面のそれぞれに部品モデルを投影させた場合の最外側平面上の部品モデルの領域を、複数の最外側平面ごとに抽出し、
前記決定部は、前記部品モデルの形状の中心位置と、前記領域の中心位置との差が閾値以上となる最外側平面を、前記プリント板モデルに搭載する側の面の候補から外す
ことを特徴とする請求項２に記載の設計支援装置。
【請求項７】
前記決定部により前記プリント板モデルに搭載する側の面として決定された最外側平面における前記部品モデルの形状に基づいて、前記プリント板モデル上の前記部品モデルを搭載するためのフットプリントを生成する生成部
をさらに有することを特徴とする請求項１〜６のいずれか１つに記載の設計支援装置。
【請求項８】
コンピュータに、
部品モデルを示す第一のＣＡＤデータを取得し、
取得されたＣＡＤデータが示す部品モデルの複数の最外側平面における部品モデルの形状を、複数の最外側平面ごとに抽出し、
抽出された前記部品モデルの形状が、前記部品モデルの端子に対応する形状に合致する場合に、合致する前記部品モデルの形状に対応する最外側平面を、第二のＣＡＤデータが示すプリント板モデルに搭載する側の面として決定する
各処理を実行させることを特徴とする設計支援プログラム。
【請求項９】
コンピュータが実行する設計支援方法であって、
部品モデルを示す第一のＣＡＤデータを取得し、
取得されたＣＡＤデータが示す部品モデルの複数の最外側平面における部品モデルの形状を、複数の最外側平面ごとに抽出し、
抽出された前記部品モデルの形状が、前記部品モデルの端子に対応する形状に合致する場合に、合致する前記部品モデルの形状に対応する最外側平面を、第二のＣＡＤデータが示すプリント板モデルに搭載する側の面として決定する
ことを特徴とする設計支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設計支援装置、設計支援プログラムおよび設計支援方法に関する。
【背景技術】
【０００２】
複数のＣＡＤ（Computer  Aided  Design）システムのそれぞれで用いられるＣＡＤデータを連携して、回路などの設計を支援する装置で用いる技術がある。例えば、かかる技術では、三次元ＣＡＤデータと二次元ＣＡＤデータとを連携する。三次元ＣＡＤデータの一例としては、機械設計を支援するＣＡＤシステムで使用される電子部品などのデータが挙げられる。また、二次元ＣＡＤデータの一例としては、プリント板設計を支援するＣＡＤシステムで使用されるプリント板などのデータが挙げられる。
【０００３】
かかる技術では、機械設計を支援するＣＡＤシステムで生成した電子部品の三次元モデルを、プリント板設計を支援するＣＡＤシステムに用いる場合には、三次元モデルからプリント板設計で用いる電子部品の線画情報がユーザにより手動で生成される。そして、生成された線画情報が二次元ＣＡＤでのプリント板設計に用いられる。
【０００４】
また、二次元のフットプリントを定義するためのパラメータが予め設定された三次元ＣＡＤデータから、パラメータを抽出し、パラメータから二次元のフットプリントを生成するＣＡＤシステムがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−３２３１７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の従来の技術では、簡易に、複数のＣＡＤシステムで用いられるＣＡＤデータの連携を図れないという問題がある。具体例を挙げて説明すると、従来の技術では、異なるＣＡＤシステムで用いるＣＡＤデータを連携させる際に、ユーザが電子部品の線画情報を生成する工数がかかる。また、上記の従来のフットプリントを生成するＣＡＤシステムでは、ユーザなどによって、予め三次元ＣＡＤデータにパラメータが設定される。そのため、パラメータを設定するための工数がかかる。したがって、上記の従来の技術では、簡易に、複数のＣＡＤシステムで用いられるＣＡＤデータの連携を図れない。
【０００７】
１つの側面では、本発明は、簡易にＣＡＤデータの連携を図ることができる設計支援装置、設計支援プログラムおよび設計支援方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願の開示する設計支援装置は、１つの態様において、取得部と、抽出部と、決定部とを有する。取得部は、部品モデルを示す第一のＣＡＤデータを取得する。抽出部は、取得部により取得されたＣＡＤデータが示す部品モデルの複数の最外側平面における部品モデルの特徴を、複数の最外側平面ごとに抽出する。決定部は、抽出部により抽出された特徴が所定の条件に合致する場合に、合致する特徴に対応する最外側平面を、第二のＣＡＤデータが示すプリント板モデルに搭載する側の面として決定する。
【発明の効果】
【０００９】
本願の開示する設計支援装置、設計支援プログラムおよび設計支援方法の一つの態様によれば、簡易にＣＡＤデータの連携を図ることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１に係る設計支援装置が適用されるシステム構成の一例を示す図である。
【図２】図２は、第一のデータが示す部品モデルの一例を示す図である。
【図３】図３は、実施例１に係る設計支援装置により実行される処理の一例を説明するための図である。
【図４】図４は、実施例１に係る設計支援装置により実行される処理の一例を説明するための図である。
【図５】図５は、実施例１に係る設計支援装置により実行される処理の一例を説明するための図である。
【図６】図６は、実施例１に係る設計支援装置により実行される処理の一例を説明するための図である。
【図７】図７は、実施例１に係る設計支援装置により実行される処理の一例を説明するための図である。
【図８】図８は、実施例１に係る設計支援装置により実行される処理の一例を説明するための図である。
【図９】図９は、取得される特徴の一例を示す図である。
【図１０】図１０は、中心位置の一例を説明するための図である。
【図１１】図１１は、中心位置の一例を説明するための図である。
【図１２】図１２は、部品モデルの一例を示す図である。
【図１３】図１３は、図１２の例での部品モデルの最外側平面における形状の一例を示す図である。
【図１４】図１４は、ユーザによる搭載面の指定を受け付ける画面の一例を示す図である。
【図１５】図１５は、各形状が格子状に配置されているか否かを判定する方法の一例を説明するための図である。
【図１６】図１６は、実施例１に係る設計支援装置により実行される処理の一例を説明するための図である。
【図１７】図１７は、実施例１に係る設計支援装置により実行される処理の一例を説明するための図である。
【図１８】図１８は、実施例１に係る設計支援装置により実行される処理の一例を説明するための図である。
【図１９】図１９は、実施例１に係る設計支援装置により実行される処理の一例を説明するための図である。
【図２０】図２０は、実施例１に係る設計支援装置により実行される処理の一例を説明するための図である。
【図２１】図２１は、実施例１に係る設計支援装置により実行される処理の一例を説明するための図である。
【図２２】図２２は、実施例１に係る連携処理の手順を示すフローチャートである。
【図２３】図２３は、実施例１に係る特徴抽出処理の手順を示すフローチャートである。
【図２４】図２４は、実施例１に係る搭載面決定処理の手順を示すフローチャートである。
【図２５】図２５は、実施例１に係る搭載面決定処理の手順を示すフローチャートである。
【図２６】図２６は、実施例１に係るフットプリント生成処理の手順を示すフローチャートである。
【図２７】図２７は、実施例１に係る部品搭載領域決定処理の手順を示すフローチャートである。
【図２８】図２８は、実施例１に係る高さ決定処理の手順を示すフローチャートである。
【図２９】図２９は、設計支援プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する設計支援装置、設計支援プログラムおよび設計支援方法の各実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１２】
実施例１に係る設計支援装置について説明する。図１は、実施例１に係る設計支援装置が適用されるシステム構成の一例を示す図である。図１の例では、システム１は、設計支援装置１０と、メカニカルＣＡＤシステム２０と、プリント板ＣＡＤシステム２１とを有する。設計支援装置１０と、メカニカルＣＡＤシステム２０およびプリント板ＣＡＤシステム２１とは、通信可能である。
【００１３】
メカニカルＣＡＤシステム２０は、プリント板に搭載される機械製品、機械ユニットなどの機械設計を行う。メカニカルＣＡＤシステム２０は、設計対象部品である筐体、電子部品、機構部品などの部品が定義されたＣＡＤデータを生成する。このＣＡＤデータによって、部品モデルが定義される。すなわち、メカニカルＣＡＤシステム２０は、部品モデルを示すＣＡＤデータを生成する。なお、以下の説明では、部品モデルを示すＣＡＤデータを、「第一のデータ」と表記する。
【００１４】
図２は、第一のデータが示す部品モデルの一例を示す図である。図２の例では、部品モデル２２は、部品本体２２ａと、フットプリントに搭載される端子２２ｂとを有する。
【００１５】
プリント板ＣＡＤシステム２１は、設計対象基板であるプリント板の外形や、プリント板上の配線パターンなどの電気設計を行ってプリント板に関するＣＡＤデータを生成する。このＣＡＤデータによって、プリント板モデルが定義される。すなわち、プリント板ＣＡＤ２１は、プリント板モデルを示すＣＡＤデータを生成する。ここで、配線パターンには、電子部品などの端子が載置されて半田などにより取り付けられるフットプリントなどが含まれる。なお、以下の説明では、プリント板モデルを示すＣＡＤデータを、「第二のデータ」と表記する場合がある。
【００１６】
設計支援装置１０は、メカニカルＣＡＤシステム２０およびプリント板ＣＡＤシステム２１のそれぞれから第一のデータおよび第二のデータを取得する。そして、設計支援装置１０は、部品モデルの複数の複数の最外側平面における部品モデルの特徴を、複数の最外側平面ごとに抽出する。そして、設計支援装置１０は、抽出した特徴が所定の条件に合致する場合に、合致する特徴に対応する最外側平面を、第二のデータが示すプリント板モデルに搭載する側の面として決定する。このように、設計支援装置１０は、自動的な処理によって、部品モデルのプリント板モデルに搭載される側の面を決定する。したがって、設計支援装置１０によれば、ユーザなどにより部品モデルのプリント板モデルに搭載される側の面を決定する工数が削減されるため、簡易にＣＡＤデータの連携を図ることができる。また、以下の説明では、プリント板モデルに搭載する側の面を、「搭載面」と表記する場合がある。
【００１７】
［設計支援装置の機能構成］
図１に示すように、設計支援装置１０は、入力部１１と、表示部１２と、Ｉ／Ｆ（InterFace）１３と、記憶部１４と、制御部１５とを有する。
【００１８】
入力部１１は、各種情報を制御部１５に入力する。例えば、入力部１１は、ユーザから、メカニカルＣＡＤシステム２０およびプリント板ＣＡＤシステム２１からＣＡＤデータを取得する指示を受け付けて、受け付けた指示を制御部１５に入力する。また、入力部１１は、ユーザから、後述の連携処理などの各処理を実行する各指示を受け付けて、受け付けた指示を制御部１５に入力する。入力部１１のデバイスの一例としては、マウスやキーボードなどの操作受付デバイスなどが挙げられる。
【００１９】
出力部１２は、各種の情報を出力する。例えば、出力部１２は、液晶ディスプレイなどであり、後述の決定部１５ｃによって、後述する搭載面を指定するための画面を表示する。また、出力部１２は、後述の配置部１５ｅによって、部品モデルがプリント板モデルに配置された組み立てモデルを表示する。
【００２０】
Ｉ／Ｆ１３は、各装置間の通信を行うためのものである。例えば、Ｉ／Ｆ１３には、設計支援装置１０の制御部１５と、メカニカルＣＡＤシステム２０およびプリント板ＣＡＤシステム２１とが図示しないネットワークを介して接続される。これにより、設計支援装置１０と、メカニカルＣＡＤシステム２０およびプリント板ＣＡＤシステム２１とが通信を行うことができる。
【００２１】
記憶部１４は、各種情報を記憶する。例えば、記憶部１４は、第一のデータベース（Data  Base）１４ａと、第二のデータベース１４ｂと、候補面情報１４ｃとを記憶する。以下の説明では、データベースを「ＤＢ」と表記する。
【００２２】
第一のＤＢ１４ａには、第一のデータが登録される。例えば、第一のＤＢ１４ａには、後述の取得部１５ａによりメカニカルＣＡＤシステム２０から取得された第一のデータが登録される。
【００２３】
第二のＤＢ１４ｂには、第二のデータが登録される。例えば、第二のＤＢ１４ｂには、後述の取得部１５ａによりプリント板ＣＡＤシステム２１から取得された第二のデータが登録される。
【００２４】
候補面情報１４ｃには、後述の搭載面の候補となる最外側平面の識別情報が登録される。例えば、候補面情報１４ｃには、後述の決定部１５ｃにより最外側平面の識別情報が登録される。
【００２５】
記憶部１４は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部１４は、上記の種類の記憶装置に限定されるものではなく、ＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory)であってもよい。
【００２６】
制御部１５は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。図１に示すように、制御部１５は、取得部１５ａと、抽出部１５ｂと、決定部１５ｃと、生成部１５ｄと、配置部１５ｅとを有する。
【００２７】
取得部１５ａは、メカニカルＣＡＤシステム２０およびプリント板ＣＡＤシステム２１のそれぞれから第一のデータおよび第二のデータを取得する。例えば、取得部１５ａは、入力部１１から、メカニカルＣＡＤシステム２０およびプリント板ＣＡＤシステム２１からＣＡＤデータを取得する指示を受信すると、次のような処理を行う。すなわち、取得部１５ａは、メカニカルＣＡＤシステム２０に第一のデータを設計支援装置１０に送信する指示を、Ｉ／Ｆ１３を介して送信する。これにより、メカニカルＣＡＤシステム２０から第一のデータが設計支援装置１０に送信される。また、取得部１５ａは、プリント板ＣＡＤシステム２１に第二のデータを設計支援装置１０に送信する指示を、Ｉ／Ｆ１３を介して送信する。これにより、メカニカルＣＡＤシステム２０から第一のデータが設計支援装置１０に送信される。このようにして、取得部１５ａは、第一のデータおよび第二のデータを取得する。なお、取得部１５ａは、所定時間間隔、例えば、１時間ごとに、メカニカルＣＡＤシステム２０に第一のデータを設計支援装置１０に送信する指示、および、プリント板ＣＡＤシステム２１に第二のデータを設計支援装置１０に送信する指示を送信することもできる。
【００２８】
また、取得部１５ａは、受信した第一のデータを第一のＤＢ１４ａに登録し、第二のデータを第二のＤＢ１４ｂに登録する。また、入力部１１から、連携処理を実行する指示を受信すると、取得部１５ａは、第一のＤＢ１４ａから第一のデータを取得し、第二のＤＢから第二のデータを取得する。
【００２９】
抽出部１５ｂは、部品モデルの複数の複数の最外側平面における部品モデルの特徴を、複数の最外側平面ごとに抽出する。
【００３０】
具体例を挙げて説明する。抽出部１５ｂは、取得部１５ａにより第一のＤＢ１４ａから取得された第一のデータが示す電子部品モデルの複数の面を抽出する。図２の例では、抽出部１５ｂは、電子部品モデルである部品モデル２２の部品本体２２ａの６つの面を抽出する。
【００３１】
そして、抽出部１５ｂは、抽出した複数の面の中から、最大の面積の面を抽出する。図２の例では、抽出部１５ｂは、６つの面のうち、面２３を抽出する。続いて、抽出部１５ｂは、抽出した最大の面積の面を含む平面を、第一基準平面として設定および定義する。図３は、実施例１に係る設計支援装置により実行される処理の一例を説明するための図である。図３の例では、抽出部１５ｂは、面２３を含む平面２４を第一基準平面として設定および定義する。
【００３２】
そして、抽出部１５ｂは、第一基準平面２４と直交し、かつ、互いに直交する第二基準平面および第三基準平面を設定および定義する。ここで、第二基準平面および第三基準平面のそれぞれは、抽出した電子部品モデルの複数の面のいずれかに対して、平行な面である。図３の例では、抽出部１５ｂは、第一基準平面２４と直交し、かつ互いに直交する第二基準平面２５および第三基準平面２６を設定および定義する。
【００３３】
続いて、抽出部１５ｂは、第一のデータに基づいて、電子部品の部品モデルの最も外側の位置を取得する。なお、以下の説明では、部品モデルの最も外側の位置を、「最外形位置」と表記する。図４は、実施例１に係る設計支援装置により実行される処理の一例を説明するための図である。図４の例では、抽出部１５ｂは、部品モデルに定義された三次元の直交座標系におけるＸ軸、Ｙ軸、Ｚ軸の各軸について、最大座標値および最小座標値の６箇所の位置２７ａ〜２７ｆを、最外形位置として取得する。
【００３４】
そして、抽出部１５ｂは、取得した最外形位置において、第一基準平面、第二基準平面および第三基準平面のいずれか１つに平行な面を設定および定義する。なお、以下の説明では、この平行な面を「最外側平面」と表記する。図４の例では、抽出部１５ｂは、Ｚ軸の最大座標値２７ａを含み、かつ第一基準平面２４に平行な最外側平面２８ａを設定および定義する。また、図４の例では、抽出部１５ｂは、Ｚ軸の最小座標値２７ｂを含み、かつ第一基準平面２４に平行な最外側平面２８ｂを設定および定義する。また、図４の例では、抽出部１５ｂは、Ｘ軸の最小座標値２７ｃを含み、かつ第三基準平面２６に平行な最外側平面２８ｃを設定および定義する。また、図４の例では、抽出部１５ｂは、Ｘ軸の最大座標値２７ｄを含み、かつ第三基準平面２６に平行な最外側平面２８ｄを設定および定義する。また、図４の例では、抽出部１５ｂは、Ｙ軸の最大座標値２７ｅを含み、かつ第二基準平面２５に平行な最外側平面２８ｅを設定および定義する。また、図４の例では、抽出部１５ｂは、Ｙ軸の最小座標値２７ｆを含み、かつ第三基準平面２６に平行な最外側平面２８ｆを設定および定義する。
【００３５】
そして、抽出部１５ｂは、部品モデルの最外側平面における閉じた形状を、最外側平面ごとに取得する。図５および図６は、実施例１に係る設計支援装置により実行される処理の一例を説明するための図である。図６の例では、図５の例における各矢印ａ〜ｆの各方向に対応する部品モデル２２の各最外側平面２８ａ〜２８ｆにおける特徴の一例が示されている。図６の例は、最外側平面２８ａにおける部品モデル２２の形状２９ａを示す。また、図６の例は、最外側平面２８ｂにおける部品モデル２２の形状２９ｂを示す。また、図６の例は、最外側平面２８ｃにおける部品モデル２２の形状２９ｃを示す。また、図６の例は、最外側平面２８ｄにおける部品モデル２２の形状２９ｄを示す。また、図６の例は、最外側平面２８ｅにおける部品モデル２２の形状２９ｅを示す。また、図６の例は、最外側平面２８ｆにおける部品モデル２２の形状２９ｆを示す。
【００３６】
図６の例では、抽出部１５ｂは、最外側平面２８ａ〜２８ｆのそれぞれに対して、部品モデル２２の形状２９ａ〜２９ｆのそれぞれを取得する。
【００３７】
続いて、抽出部１５ｂは、各形状の面積を、最外側平面ごとに算出する。図６の例では、抽出部１５ｂは、最外側平面２８ａにおける閉じた形状２９ａの面積を３０［ｍｍ２］と算出する。また、図６の例では、抽出部１５ｂは、最外側平面２８ｂにおける閉じた形状２９ｂの８個の形状のそれぞれの面積を２．５［ｍｍ２］と算出する。また、図６の例では、抽出部１５ｂは、最外側平面２８ｃにおける閉じた形状２９ｃの４個の形状のそれぞれの面積を２［ｍｍ２］と算出する。また、図６の例では、抽出部１５ｂは、最外側平面２８ｄにおける閉じた形状２９ｄの４個の形状のそれぞれの面積を２［ｍｍ２］と算出する。また、図６の例では、抽出部１５ｂは、最外側平面２８ｅにおける閉じた形状２９ｅの面積を１０［ｍｍ２］と算出する。また、図６の例では、抽出部１５ｂは、最外側平面２８ｆにおける閉じた形状２９ｆの面積を１０［ｍｍ２］と算出する。
【００３８】
続いて、抽出部１５ｂは、各形状の面積の合計を、最外側平面ごとに算出する。以下の説明では、面積の合計を、「合計面積」と表記する。図６の例では、抽出部１５ｂは、最外側平面２８ａにおける閉じた形状２９ａの合計面積を３０［ｍｍ２］と算出する。また、図６の例では、抽出部１５ｂは、最外側平面２８ｂにおける閉じた形状２９ｂの合計面積を２０［ｍｍ２］と算出する。また、図６の例では、抽出部１５ｂは、最外側平面２８ｃにおける閉じた形状２９ｃの合計面積を８［ｍｍ２］と算出する。また、図６の例では、抽出部１５ｂは、最外側平面２８ｄにおける閉じた形状２９ｄの合計面積を８［ｍｍ２］と算出する。また、図６の例では、抽出部１５ｂは、最外側平面２８ｅにおける閉じた形状２９ｅの合計面積を１０［ｍｍ２］と算出する。また、図６の例では、抽出部１５ｂは、最外側平面２８ｆにおける閉じた形状２９ｆの合計面積を１０［ｍｍ２］と算出する。
【００３９】
また、抽出部１５ｂは、部品モデルを最外側平面に投影させて、投影された領域の面積を複数の最外側平面ごとに算出する。図６の例では、抽出部１５ｂは、部品モデル２２を最外側平面２８ａ〜２８ｆのそれぞれに投影させて、最外側平面２８ａ〜２８ｆのそれぞれについて、投影された領域の面積を算出する。以下の説明では、投影された領域を「投影領域」と表記する。
【００４０】
そして、抽出部１５ｂは、合計面積を投影領域の面積で除した値（合計面積／投影領域の面積）が、所定値、例えば、０．１より小さいか否かを判定する。図７および図８は、実施例１に係る設計支援装置により実行される処理の一例を説明するための図である。図７の例は、位置決め用のボス３０ａを有する電子部品の部品モデル３０を示す。図７の例では、ボス３０ａ側の面にフットプリントに搭載される端子３０ｂを有する。すなわち、図７の例では、ボス３０側の面が搭載面である。ここで、図８に示すように、ボス３０側の最外側平面３１における部品モデル３０の形状３２は、ボス３０ａの先端部分となる。そのため、詳細は後述するが、部品モデルの形状として、図８に示すような形状３２が抽出されると、後述の決定部１５ｃによりボス３０側の面が搭載面として決定されなくなる。これは、ボス３０ａなどの突起物の存在により得られた最外側平面における部品モデルの形状が、搭載面を決定する際に用いられる形状として、不適切であるからである。
【００４１】
そこで、抽出部１５ｂは、このような突起物により得られた最外側平面における部品モデルの形状の面積が、投影領域の面積よりも非常に小さいことを利用して、搭載面を決定する際に用いられる形状として不適切な形状を排除する。すなわち、抽出部１５ｂは、合計面積を投影領域の面積で除した値が、所定値より小さい場合には、取得した形状が搭載面を決定する際に用いられる形状として不適切であるため、最外側平面を部品の内側に所定量移動させて、再び、部品モデルの形状を取得する。かかる所定量の一例としては、１ｍｍなどが挙げられる。そして、抽出部１５ｂは、移動後の最外側平面において、上述した方法と同様の方法で、各形状の面積、合計面積などを算出する。抽出部１５ｂは、最外側平面を内側に移動させて、最外側平面における部品モデルの形状を取得する処理を、（合計面積／投影領域の面積）が、所定値より小さくなるまで繰り返す。図９は、取得される特徴の一例を示す図である。上記のような不適切な最外側平面における部品モデルの形状を排除する結果、抽出部１５ｂは、図９の例に示すように、最外側平面３１における部品モデル３０の形状として、端子３０ｂに対応する形状３３を取得する。
【００４２】
また、抽出部１５ｂは、各形状の個数を、最外側平面ごとに算出する。図６の例では、抽出部１５ｂは、最外側平面２８ａにおける閉じた形状２９ａに含まれる形状の個数を１と算出する。また、図６の例では、抽出部１５ｂは、最外側平面２８ｂにおける閉じた形状２９ｂに含まれる形状の個数を８と算出する。また、図６の例では、抽出部１５ｂは、最外側平面２８ｃにおける閉じた形状２９ｃに含まれる形状の個数を４と算出する。また、図６の例では、抽出部１５ｂは、最外側平面２８ｄにおける閉じた形状２９ｄに含まれる形状の個数を４と算出する。また、図６の例では、抽出部１５ｂは、最外側平面２８ｅにおける閉じた形状２９ｅに含まれる形状の個数を１と算出する。また、図６の例では、抽出部１５ｂは、最外側平面２８ｆにおける閉じた形状２９ｆに含まれる形状の個数を１と算出する。
【００４３】
そして、抽出部１５ｂは、各形状間の距離を、最外側平面ごとに算出する。図６の例では、抽出部１５ｂは、最外側平面２８ａ〜２８ｆの形状２９ａ〜２９ｆのそれぞれに含まれる形状について、最も近い形状との距離を、形状ごとに算出する。
【００４４】
続いて、抽出部１５ｂは、形状の中心位置を、最外側平面ごとに算出する。そして、抽出部１５ｂは、投影領域の中心位置を、最外側平面ごとに算出する。図６の例では、抽出部１５ｂは、形状２９ａ〜２９ｆのそれぞれについて、中心位置を算出し、最外側平面２８ａ〜２８ｆのそれぞれの投影領域の中心位置を算出する。図１０および図１１は、中心位置の一例を説明するための図である。図１０の例は、形状２９ｂの中心位置ｃ１および最外側平面２８ｂの投影領域の中心位置ｃ２を示す。図１０の例では、中心位置ｃ１および中心位置ｃ２とが同一である。これは、最外側平面２８ｂが搭載面であり、搭載面における形状の中心位置と投影領域の中心位置とが一致することに起因する。図１１の例は、形状２９ｄの中心位置ｃ１および最外側平面２８ｄの投影領域の中心位置ｃ２を示す。図１１の例では、中心位置ｃ１と中心位置ｃ２とが同一でない。これは、最外側平面２８ｄが搭載面でないことに起因する。
【００４５】
決定部１５ｃは、抽出部１５ｂにより抽出された特徴が所定の条件に合致する場合に、合致する特徴に対応する最外側平面を、第二のデータが示すプリント板モデルに搭載する側の面として決定する。
【００４６】
具体例を挙げて説明する。決定部１５ｃは、候補面情報１４ｃに、抽出部１５ｂにより設定および定義された全ての最外側平面の識別情報を登録する。
【００４７】
そして、決定部１５ｃは、候補面情報１４ｃに登録された全ての最外側平面の中から平行な最外側平面のペアを決定し、それぞれのペアについて次のような処理を行う。すなわち、決定部１５ｃは、ペアとなる２つの最外側平面の形状の個数が同一か否かを判定する。また、決定部１５ｃは、ペアとなる２つの最外側平面のそれぞれの合計面積の比が所定範囲内となるか否かを判定する。ここで、ペアとなる２つの最外側平面のいずれかが、搭載面である場合には、ペアとなる２つの最外側平面の形状の個数は異なる。また、ペアとなる２つの最外側平面のいずれかが、搭載面である場合には、ペアとなる２つの最外側平面のそれぞれの合計面積は大きく異なり、その２つの面積の比は、所定範囲内に収まらない。そこで、決定部１５ｃは、ペアとなる２つの最外側平面の形状の個数が同一である場合には、そのペアとなる２つの最外側平面は搭載面でないと考えられるため、ペアとなる２つの最外側平面の識別情報を候補面情報１４ｃから削除する。また、決定部１５ｃは、ペアとなる２つの最外側平面のそれぞれの合計面積の比が所定範囲内、例えば、０．９から１．１までの範囲内である場合には、次のような処理を行う。すなわち、決定部１５ｃは、そのペアとなる２つの最外側平面は搭載面でないと考えられるため、ペアとなる２つの最外側平面の識別情報を候補面情報１４ｃから削除する。
【００４８】
図６の例では、決定部１５ｃは、平行な最外側平面のペアとして、最外側平面２８ａおよび２８ｂのペア、最外側平面２８ｃおよび２８ｄのペア、最外側平面２８ｅおよび２８ｆのペアを決定する。そして、図６の例では、決定部１５ｃは、最外側平面２８ｃおよび２８ｄのペアの各形状の個数、最外側平面２８ｅおよび２８ｆのペアの各形状の個数が同一であるため、候補面情報１４ｃから、最外側平面２８ｃ、２８ｄ、２８ｅ、２８ｆの識別情報を削除する。
【００４９】
そして、決定部１５ｃは、候補面情報１４ｃに登録された最外側平面のそれぞれについて、形状の個数が複数か否かを判定する。ここで、搭載面となる最外側平面では、複数の端子が形状として取得されるため、取得された形状が１つである場合には、その形状に対応する最外側平面は、搭載面でないと考えられる。そこで、決定部１５ｃは、形状の個数が複数でない場合、すなわち、１つの場合には、その形状に対応する最外側平面の識別情報を候補面情報１４ｃから削除する。
【００５０】
続いて、決定部１５ｃは、候補面情報１４ｃに登録された最外側平面の数が１つであるか否かを判定する。１つである場合には、候補面情報１４ｃに識別情報が登録された最外側平面を搭載面として決定する。１つでない場合には、決定部１５ｃは、候補面情報１４ｃに登録された最外側平面のそれぞれについて、次のような処理を行う。すなわち、決定部１５ｃは、抽出部１５ｂで算出された各形状の面積が全て同一、または、全部の形状のうち所定の割合の個数の形状、例えば、全部の形状のうち、半分の個数の形状の面積が同一であるか否かを判定する。同様に、決定部１５ｃは、候補面情報１４ｃに登録された最外側平面のそれぞれについて、次のような処理を行う。すなわち、決定部１５ｃは、抽出部１５ｂで算出された各形状間の距離が全て同一、または、全部の形状のうち所定の割合の個数の形状、例えば、全部の形状のうち、半分の個数の形状間の距離が同一であるか否かを判定する。ここで、面に複数の部品が設けられた電子部品の部品モデルについて説明する。図１２は、部品モデルの一例を示す図である。図１２の例は、部品本体の面に複数の部品３４ａ〜３４ｅが設けられた部品モデル３４を示す。図１３は、図１２の例での部品モデルの最外側平面における形状の一例を示す図である。図１３の例は、最外側平面３５ａ〜３５ｆにおける部品モデル３４の形状を示す。図１３の例では、最外側平面３５ａにおいて、部品３４ａ〜３４ｅに対応する形状３６ａ〜３６ｆが存在する。
【００５１】
ここで、電子部品の端子は、搭載部分の面積が全て同じか、または、全ての端子のうち所定の割合の個数の面積が同じである。一方、図１２に示すように、部品本体の面に設けられた複数の部品３４ａ〜３４ｅは、その面積が全て異なるか、または、全ての部品３４ａ〜３４ｅのうち所定の割合の個数の部品の面積が同一とならない。
【００５２】
また、電子部品の端子は、最も近い他の端子との距離が全て端子について同じか、または、全ての端子のうち所定の割合の個数の端子間の距離が同じである。一方、図１２に示すように、部品本体の面に設けられた複数の部品３４ａ〜３４ｅは、部品間の距離が全て異なるか、または、全ての部品３４ａ〜３４ｅのうち所定の割合の個数の部品間の距離が同一とならない。
【００５３】
そこで、決定部１５ｃは、各形状の面積が全て同一、または、全部の形状のうち所定の割合の個数の形状の面積が同一でない場合には、その形状に対応する最外側平面の識別情報を候補面情報１４ｃから削除する。また、決定部１５ｃは、各形状間の距離が全て同一、または、全部の形状のうち所定の割合の個数の形状間の距離が同一でない場合には、その形状に対応する最外側平面の識別情報を候補面情報１４ｃから削除する。
【００５４】
続いて、決定部１５ｃは、候補面情報１４ｃに登録された最外側平面の数が１つであるか否かを判定する。１つである場合には、候補面情報１４ｃに識別情報が登録された最外側平面を搭載面として決定する。１つでない場合には、決定部１５ｃは、候補面情報１４ｃに登録された最外側平面のそれぞれについて、次のような処理を行う。すなわち、決定部１５ｃは、抽出部１５ｂで算出された形状の中心位置と、投影領域の中心位置とが一致するか否かを判定する。上述したように、形状の中心位置と投影領域の中心位置とが一致する場合には、対応する最外側平面は搭載面と考えられ、一致しない場合には、対応する最外側平面は搭載面でないと考えられる。そこで、決定部１５ｃは、形状の中心位置と、投影領域の中心位置とが一致しない場合には、その形状に対応する最外側平面の識別情報を候補面情報１４ｃから削除する。
【００５５】
続いて、決定部１５ｃは、候補面情報１４ｃに登録された最外側平面の数が１つであるか否かを判定する。１つである場合には、候補面情報１４ｃに識別情報が登録された最外側平面を搭載面として決定する。１つでない場合には、決定部１５ｃは、ユーザによる搭載面の指定を受け付ける画面を表示するように、出力部１２を制御する。図１４は、ユーザによる搭載面の指定を受け付ける画面の一例を示す図である。図１４の例では、出力部１２の表示画面にユーザによる搭載面の指定を受け付ける画面４０が示されている。図１４の例では、画面４０とともに図示しない部品モデルが出力部１２の表示画面に表示される。この例の場合では、部品モデルの各面がユーザによって指定することが可能である。そして、搭載面としてユーザによって部品モデルのいずれかの面が指定され、完了ボタンが押下されると、決定部１５ｃは、ユーザによって指定された面を搭載面として決定する。
【００５６】
上述してきたように、取得部１５ａは、メカニカルＣＡＤシステム２０およびプリント板ＣＡＤシステム２１のそれぞれから第一のデータおよび第二のデータを取得する。そして、抽出部１５ｂは、部品モデルの複数の複数の最外側平面における部品モデルの特徴を、複数の最外側平面ごとに抽出する。そして、決定部１５ｃは、抽出した特徴が所定の条件に合致する場合に、合致する特徴に対応する最外側平面を、第二のデータが示すプリント板モデルに搭載する側の面として決定する。このように、設計支援装置１０は、自動的な処理によって、部品モデルのプリント板モデルに搭載される側の面を決定する。したがって、設計支援装置１０によれば、ユーザなどにより部品モデルのプリント板モデルに搭載される側の面を決定する工数が削減されるため、簡易にＣＡＤデータの連携を図ることができる。
【００５７】
生成部１５ｄは、決定部１５ｃによりプリント板モデルに搭載する側の面として決定された最外側平面における特徴に基づいて、プリント板モデル上の部品モデルを搭載するためのフットプリントを生成する。
【００５８】
具体例を挙げて説明する。生成部１５ｄは、搭載面として決定された最外側平面における各形状が格子状に配置されているか否かを判定する。ここで、かかる判定方法の一例について説明する。図１５は、各形状が格子状に配置されているか否かを判定する方法の一例を説明するための図である。図１５の例は、各形状５０を含む最外側平面５１の各辺のうち、最も長い辺に対応する軸がＸ軸である場合を示す。また、図１５の例は、Ｘ軸に垂直であり、かつ、最外側平面５１上の軸がＹ軸である場合を示す。生成部１５ｄは、Ｘ軸、Ｙ軸方向に配置された形状の個数を計数し、Ｘ軸とＹ軸とで計数された個数が同一、または、Ｘ軸とＹ軸とで計数された個数の差が所定の閾値以下である場合には、各形状が格子状に配置されていると判定する。図１５の例では、生成部１５ｄは、Ｘ軸方向の形状５０の個数６、Ｙ軸方向の形状５０の個数６を計数する。そして、図１５の例では、生成部１５ｄは、Ｘ軸とＹ軸とで計数された個数が同一であるため、各形状が格子状に配置されていると判定する。一方、Ｘ軸とＹ軸とで計数された個数の差が所定の閾値より大きい場合には、生成部１５ｄは、各形状が格子状に配置されていないと判定する。
【００５９】
そして、生成部１５ｄは、格子状に配置されていると判定した場合には、隣接する形状との間隔を考慮して、全ての形状を拡大した場合に、隣接する形状と重ならないように、各形状を一様に拡大する。図１６は、実施例１に係る設計支援装置により実行される処理の一例を説明するための図である。例えば、図１５の例では、各形状５０のＸ軸方向の間隔がＰ２、Ｙ軸方向の間隔がＰ１である。そのため、各形状５０を拡大した場合に、各形状５０が重ならないように、生成部１５ｄは、Ｐ１およびＰ２のうち短い方の間隔を決定し、決定したＰ１またはＰ２の半分の値よりも各形状５０の半径Ｒが短くなるように、各形状５０の半径Ｒの値を算出する。ただし、半径Ｒの値は、形状５０の半径ｒよりも大きい値である。そして、生成部１５ｄは、算出した半径Ｒの値の円５２をフットプリントとして定義する。このような処理を生成部１５ｄは、全ての形状について行うことで、フットプリントを生成する。
【００６０】
一方、生成部１５ｄは、格子状に配置されていないと判定した場合には、内側と外側とで各形状の拡大率を変えて、各形状を拡大する。図１７および図１８は、実施例１に係る設計支援装置により実行される処理の一例を説明するための図である。例えば、図１７の例では、生成部１５ｄは、最外側平面５４の中心位置５６を検出することで、内側および外側を定義するための中心線５７を抽出する。そして、生成部１５ｄは、各形状５５ａ〜５５ｈのそれぞれについて、中心線５７を用いて、Ｘ軸方向の外側および内側、並びに、Ｙ軸方向の外側および内側を検出する。そして、生成部１５ｄは、各形状５５ａ〜５５ｈのそれぞれについて、Ｘ軸方向の内側および外側、並びに、Ｙ軸方向の内側および外側のそれぞれに対応する拡大率で各形状５５ａ〜５５ｈを拡大して、拡大した形状６０をフットプリントとして定義する。図１８の例では、形状５５ａの拡大方法の一例が示されている。図１８の例では、Ｙ軸方向の内側については、第一の拡大率、例えば、１．２倍で形状５５ａを拡大し、Ｙ軸方向の外側については、第二の拡大率、例えば、１．５倍で形状５５ａを拡大する。また、図１８の例では、Ｘ軸方向の内側については、第三の拡大率、例えば、１．４倍で形状５５ａを拡大し、Ｙ軸方向の外側については、第四の拡大率、例えば、１．３倍で拡大する。そして、生成部１５ｄは、拡大された形状６０をフットプリントとして定義する。このような処理を生成部１５ｄは、全ての形状について行うことで、フットプリントを生成する。
【００６１】
また、生成部１５ｄは、部品搭載領域を決定する。具体例について説明する。図１９は、実施例１に係る設計支援装置により実行される処理の一例を説明するための図である。生成部１５ｄは、電子部品の部品モデルを搭載面として決定された最外側平面に投影した場合の線画情報を取得する。そして、生成部１５ｄは、生成したフットプリントの形状と線画情報とを合成し、合成した領域を部品形状領域として生成する。図１９の例では、生成部１５ｄは、部品形状領域７０を生成する。そして、生成部１５ｄは、部品形状領域に、部品外形の公知差、および、プリント板に電子部品を搭載する際の既知のずれ量を加えた領域を部品搭載領域として定義および決定する。図１９の例では、生成部１５ｄは、公知差またはずれ量７１などを加味した部品搭載領域７２を定義および生成する。部品形状領域７０および部品搭載領域７２には、電子部品のプリント板への配置処理を行う際に用いられる各種領域、例えば、部品搭載時のハンドリング領域、他の部品の搭載禁止領域などを設定することが可能である。
【００６２】
また、生成部１５ｄは、電子部品の部品モデルの高さを決定する。具体例について説明する。図２０は、実施例１に係る設計支援装置により実行される処理の一例を説明するための図である。図２０の例は、部品モデル８０を示す。図２０の例では、生成部１５ｄは、電子部品の部品モデルの搭載方向と逆方向８１を検出する。そして、図２０の例では、生成部１５ｄは、検出した逆方向８１の部品モデル８０の最外位置８２を検出する。続いて、図２０の例では、生成部１５ｄは、検出した最外位置８２と、プリント板モデルの搭載面との距離８３を部品モデルの高さとして決定する。ここで、プリント板モデルのフットプリントと、部品モデルの端子とを接合するための材料である半田材料の厚みを加味する場合について、説明する。図２１は、実施例１に係る設計支援装置により実行される処理の一例を説明するための図である。図２１の例では、生成部１５ｄは、距離８３に半田材料の厚み８５を加えた値を、部品モデル８０の高さ８６として決定する。
【００６３】
配置部１５ｅは、決定部１５ｃにより決定された搭載面の端子を、生成部１５ｄにより生成されたプリント板モデルのフットプリントに搭載して、部品モデルとプリント板モデルとを組み合わせた組み合わせモデルを生成する。そして、配置部１５ｅは、生成した組み合わせモデルを表示するように、出力部１２を表示制御する。
【００６４】
制御部１５は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路またはＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。
【００６５】
［処理の流れ］
次に、本実施例に係る設計支援装置１０の処理の流れを説明する。図２１は、実施例１に係る連携処理の手順を示すフローチャートである。連携処理が実行されるタイミングの一例としては、入力部１１を介して、ユーザから連携処理を実行する指示を制御部１５が受け付けた場合などが挙げられる。
【００６６】
図２２に示すように、取得部１５ａは、第一のデータを取得する（Ｓ１０１）。取得部１５ａは、第二のデータを取得する（Ｓ１０２）。続いて、抽出部１５ｂは、後述する特徴抽出処理を実行する（Ｓ１０３）。その後、決定部１５ｃは、後述の搭載面決定処理を実行する（Ｓ１０４）。そして、生成部１５ｄは、後述のフットプリント生成処理を実行する（Ｓ１０５）。続いて、生成部１５ｄは、後述の部品搭載領域決定処理を実行する（Ｓ１０６）。その後、生成部１５ｄは、後述の高さ決定処理を実行する（Ｓ１０７）。そして、配置部１５ｅは、組み合わせモデルを生成する（Ｓ１０８）。その後、配置部１５ｅは、生成した組み合わせモデルを表示するように、出力部１２を表示制御する（Ｓ１０９）。
【００６７】
次に特徴抽出処理について説明する。図２３は、実施例１に係る特徴抽出処理の手順を示すフローチャートである。
【００６８】
図２３に示すように、抽出部１５ｂは、取得部１５ａにより第一のＤＢ１４ａから取得された第一のデータが示す電子部品モデルの複数の面を抽出する（Ｓ２０１）。そして、抽出部１５ｂは、抽出した複数の面の中から、最大の面積の面を抽出する（Ｓ２０２）。続いて、抽出部１５ｂは、抽出した最大の面積の面を含む平面を、第一基準平面として設定および定義する（Ｓ２０３）。
【００６９】
そして、抽出部１５ｂは、第一基準平面２４と直交し、かつ、互いに直交する第二基準平面および第三基準平面を設定および定義する（Ｓ２０４）。続いて、抽出部１５ｂは、第一のデータに基づいて、電子部品の部品モデルの複数の最外形位置を取得する（Ｓ２０５）。
【００７０】
そして、抽出部１５ｂは、取得した複数の最外形位置のそれぞれについて、第一基準平面、第二基準平面および第三基準平面のいずれか１つに平行な最外形平面を設定および定義する（Ｓ２０６）。
【００７１】
そして、抽出部１５ｂは、部品モデルの最外側平面における閉じた形状を、最外側平面ごとに取得する（Ｓ２０７）。続いて、抽出部１５ｂは、下記のＳ２０９で、未選択の最外側平面があるか否かを判定する（Ｓ２０８）。未選択の最外側平面がない場合（Ｓ２０８否定）には、抽出部１５ｂは、処理結果を制御部１５の内部メモリに格納し、リターンする。一方、未選択の最外側平面がある場合（Ｓ２０８肯定）には、抽出部１５ｂは、未選択の最外側平面を１つ選択する（Ｓ２０９）。そして、抽出部１５ｂは、選択した最外側平面における各形状の面積を算出する（Ｓ２１０）。
【００７２】
続いて、抽出部１５ｂは、算出した各形状の合計面積を算出する（Ｓ２１１）。その後、抽出部１５ｂは、部品モデルを選択した最外側平面に投影させて、投影領域の面積を算出する（Ｓ２１２）。そして、抽出部１５ｂは、合計面積を投影領域の面積で除した値（合計面積／投影領域の面積）が、所定値、例えば、０．１より小さいか否かを判定する（Ｓ２１３）。
【００７３】
合計面積を投影領域の面積で除した値が、所定値より小さい場合（Ｓ２１３肯定）には、抽出部１５ｂは、選択した最外側平面を部品の内側に所定量移動させる（Ｓ２１４）。そして、抽出部１５ｂは、再び、移動後の最外側平面における部品モデルの形状を取得し（Ｓ２１５）、Ｓ２１０へ戻る。
【００７４】
一方、合計面積を投影領域の面積で除した値が、所定値以上である場合（Ｓ２１３否定）には、抽出部１５ｂは、選択した最外側平面における各形状の個数を算出する（Ｓ２１６）。
【００７５】
そして、抽出部１５ｂは、選択した最外側平面における各形状間の距離を算出する（Ｓ２１７）。続いて、抽出部１５ｂは、選択した最外側平面における形状の中心位置を算出する（Ｓ２１８）。そして、抽出部１５ｂは、選択した最外側平面における投影領域の中心位置を算出し（Ｓ２１９）、Ｓ２０８へ戻る。
【００７６】
次に搭載面決定処理について説明する。図２４および図２５は、実施例１に係る搭載面決定処理の手順を示すフローチャートである。
【００７７】
図２６に示すように、決定部１５ｃは、候補面情報１４ｃに、抽出部１５ｂにより設定および定義された全ての最外側平面の識別情報を登録する（Ｓ３０１）。そして、決定部１５ｃは、候補面情報１４ｃに登録された全ての最外側平面の中から平行な最外側平面のペアを全て決定し、下記のＳ３０３で未選択のペアがあるか否かを判定する（Ｓ３０２）。未選択のペアがある場合（Ｓ３０２肯定）には、決定部１５ｃは、未選択のペアを１つ選択する（Ｓ３０３）。続いて、決定部１５ｃは、選択したペアの２つの最外側平面の形状の個数が同一か否かを判定する（Ｓ３０４）。同一である場合（Ｓ３０４肯定）には、決定部１５ｃは、ペアとなる２つの最外側平面の識別情報を候補面情報１４ｃから削除し（Ｓ３０６）、Ｓ３０２へ戻る。一方、同一でない場合（Ｓ３０４否定）には、決定部１５ｃは、ペアとなる２つの最外側平面のそれぞれの合計面積の比が所定範囲内となるか否かを判定する（Ｓ３０５）。合計面積の比が所定範囲内である場合（Ｓ３０５肯定）には、Ｓ３０６へ進む。また、合計面積の比が所定範囲内でない場合（Ｓ３０５否定）には、Ｓ３０２へ戻る。
【００７８】
一方、未選択のペアがない場合（Ｓ３０２否定）には、決定部１５ｃは、候補面情報１４ｃに登録された最外側平面の中に、下記のＳ３０８で未選択の最外側平面があるか否かを判定する（Ｓ３０７）。未選択の最外側平面がある場合（Ｓ３０７肯定）には、決定部１５ｃは、未選択の最外側平面を１つ選択する（Ｓ３０８）。続いて、決定部１５ｃは、選択した最外側平面について、形状の個数が複数か否かを判定する（Ｓ３０９）。形状の個数が複数でない場合（Ｓ３０９否定）には、決定部１５ｃは、その形状に対応する最外側平面の識別情報を候補面情報１４ｃから削除し（Ｓ３１０）、Ｓ３０７へ戻る。また、形状の個数が複数である場合（Ｓ３０９肯定）にも、Ｓ３０７へ戻る。
【００７９】
一方、未選択の最外側平面がない場合（Ｓ３０７否定）には、決定部１５ｃは、候補面情報１４ｃに登録された最外側平面の数が１つであるか否かを判定する（Ｓ３１１）。１つである場合（Ｓ３１１肯定）には、決定部１５ｃは、候補面情報１４ｃに識別情報が登録された最外側平面を搭載面として決定し（Ｓ３２７）、処理結果を制御部１５の内部メモリに格納し、リターンする。一方、１つでない場合（Ｓ３１１否定）には、決定部１５ｃは、候補面情報１４ｃに登録された最外側平面の中に、下記のＳ３１３で未選択の最外側平面があるか否かを判定する（Ｓ３１２）。未選択の最外側平面がある場合（Ｓ３１２肯定）には、決定部１５ｃは、未選択の最外側平面を１つ選択する（Ｓ３１３）。続いて、決定部１５ｃは、選択した最外側平面について、抽出部１５ｂで算出された各形状の面積が全て同一、または、全部の形状のうち所定の割合の個数の形状の面積が同一であるか否かを判定する（Ｓ３１４）。面積が全て同一、または、所定の割合の個数の形状の面積が同一でない場合（Ｓ３１４否定）には、決定部１５ｃは、その形状に対応する最外側平面の識別情報を候補面情報１４ｃから削除し（Ｓ３１５）、Ｓ３１２へ戻る。
【００８０】
また、面積が全て同一、または、所定の割合の個数の形状の面積が同一である場合（Ｓ３１４肯定）には、決定部１５ｃは、次のような処理を行う。すなわち、決定部１５ｃは、選択した最外側平面について、抽出部１５ｂで算出された各形状間の距離が全て同一、または、全部の形状のうち所定の割合の個数の形状間の距離が同一であるか否かを判定する（Ｓ３１６）。各形状間の距離が全て同一、または、所定の割合の個数の形状間の距離が同一でない場合（Ｓ３１６否定）には、その形状に対応する最外側平面の識別情報を候補面情報１４ｃから削除し（Ｓ３１７）、Ｓ３１２へ戻る。また、各形状間の距離が全て同一、または、所定の割合の個数の形状間の距離が同一である場合（Ｓ３１６肯定）にも、Ｓ３１２へ戻る。
【００８１】
一方、未選択の最外側平面がない場合（Ｓ３１２否定）には、決定部１５ｃは、候補面情報１４ｃに登録された最外側平面の数が１つであるか否かを判定する（Ｓ３１８）。１つである場合（Ｓ３１８肯定）には、Ｓ３２７へ進む。一方、１つでない場合（Ｓ３１８否定）には、決定部１５ｃは、候補面情報１４ｃに登録された最外側平面の中に、下記のＳ３２０で未選択の最外側平面があるか否かを判定する（Ｓ３１９）。未選択の最外側平面がある場合（Ｓ３１９肯定）には、決定部１５ｃは、未選択の最外側平面を１つ選択する（Ｓ３２０）。続いて、決定部１５ｃは、選択した最外側平面について、抽出部１５ｂで算出された形状の中心位置と、投影領域の中心位置とが一致するか否かを判定する（Ｓ３２１）。形状の中心位置と、投影領域の中心位置とが一致しない場合（Ｓ３２１否定）には、決定部１５ｃは、その形状に対応する最外側平面の識別情報を候補面情報１４ｃから削除し（Ｓ３２２）、Ｓ３１９へ戻る。また、形状の中心位置と、投影領域の中心位置とが一致する場合（Ｓ３２１肯定）にも、Ｓ３１９へ戻る。
【００８２】
一方、未選択の最外側平面がない場合（Ｓ３１９否定）には、決定部１５ｃは、候補面情報１４ｃに登録された最外側平面の数が１つであるか否かを判定する（Ｓ３２３）。１つである場合（Ｓ３２３肯定）には、Ｓ３２７へ進む。一方、１つでない場合（Ｓ３２３否定）には、決定部１５ｃは、ユーザによる搭載面の指定を受け付ける画面を表示するように、出力部１２を制御する（Ｓ３２４）。そして、決定部１５ｃは、搭載面としてユーザによって部品モデルのいずれかの面が指定され、完了ボタンが押下されたか否かを判定する（Ｓ３２５）。完了ボタンが押下されていない場合（Ｓ３２５否定）には、決定部１５ｃは、再度、同様の判定をＳ３２５で行う。一方、完了ボタンが押下された場合（Ｓ３２５肯定）には、決定部１５ｃは、ユーザによって指定された面を搭載面として決定し（Ｓ３２６）、処理結果を制御部１５の内部メモリに格納し、リターンする。
【００８３】
次にフットプリント生成処理について説明する。図２６は、実施例１に係るフットプリント生成処理の手順を示すフローチャートである。
【００８４】
図２６に示すように、生成部１５ｄは、Ｘ軸およびＹ軸を定義する（Ｓ４０１）。そして、生成部１５ｄは、搭載面として決定された最外側平面における各形状が格子状に配置されているか否かを判定する（Ｓ４０２）。
【００８５】
格子状に配置されている場合（Ｓ４０２肯定）には、生成部１５ｄは、隣接する形状との間隔を考慮して、全ての形状を拡大した場合に、隣接する形状と重ならないように、各形状を一様に拡大する（Ｓ４０３）。そして、生成部１５ｄは、処理結果を制御部１５の内部メモリに格納し、リターンする。
【００８６】
一方、格子状に配置されていない場合（Ｓ４０２否定）には、生成部１５ｄは、最外側平面の中心位置を検出することで、内側および外側を定義するための中心線を抽出する（Ｓ４０４）。そして、生成部１５ｄは、各形状について、中心線を用いて、Ｘ軸方向の外側および内側、並びに、Ｙ軸方向の外側および内側を検出する（Ｓ４０５）。そして、生成部１５ｄは、各形状について、Ｘ軸方向の内側および外側、並びに、Ｙ軸方向の内側および外側のそれぞれに対応する拡大率で拡大して、拡大した形状をフットプリントとして定義する（Ｓ４０６）。そして、生成部１５ｄは、処理結果を制御部１５の内部メモリに格納し、リターンする。
【００８７】
次に部品搭載領域決定処理について説明する。図２７は、実施例１に係る部品搭載領域決定処理の手順を示すフローチャートである。
【００８８】
図２７に示すように、生成部１５ｄは、電子部品の部品モデルを搭載面として決定された最外側平面に投影した場合の線画情報を取得する（Ｓ５０１）。そして、生成部１５ｄは、生成したフットプリントの形状と線画情報とを合成し、合成した領域を部品形状領域として生成する（Ｓ５０２）。そして、生成部１５ｄは、部品形状領域に、部品外形の公知差、および、プリント板に電子部品を搭載する際の既知のずれ量を加えた領域を部品搭載領域として定義および決定する（Ｓ５０３）。そして、生成部１５ｄは、処理結果を制御部１５の内部メモリに格納し、リターンする。
【００８９】
次に高さ決定処理について説明する。図２８は、実施例１に係る高さ決定処理の手順を示すフローチャートである。
【００９０】
図２７に示すように、生成部１５ｄは、電子部品の部品モデルの搭載方向と逆方向を検出する（Ｓ６０１）。そして、生成部１５ｄは、検出した逆方向の部品モデルの最外位置を検出する（Ｓ６０２）。続いて、生成部１５ｄは、部品モデルの高さを決定する際に、半田材料の厚みを加味するか否かを判定する（Ｓ６０３）。加味しない場合（Ｓ６０３否定）には、生成部１５ｄは、検出した最外位置と、プリント板モデルの搭載面との距離を部品モデルの高さとして決定する（Ｓ６０５）。そして、生成部１５ｄは、処理結果を制御部１５の内部メモリに格納し、リターンする。一方、加味する場合（Ｓ６０３肯定）には、生成部１５ｄは、プリント板モデルの搭載面との距離に半田材料の厚みを加えた値を、部品モデルの高さとして決定する（Ｓ６０４）。そして、生成部１５ｄは、処理結果を制御部１５の内部メモリに格納し、リターンする。
【００９１】
上述してきたように、本実施例に係る設計支援装置１０は、メカニカルＣＡＤシステム２０およびプリント板ＣＡＤシステム２１のそれぞれから第一のデータおよび第二のデータを取得する。そして、本実施例に係る設計支援装置１０は、部品モデルの複数の複数の最外側平面における部品モデルの特徴を、複数の最外側平面ごとに抽出する。そして、本実施例に係る設計支援装置１０は、抽出した特徴が所定の条件に合致する場合に、合致する特徴に対応する最外側平面を、第二のデータが示すプリント板モデルに搭載する側の面として決定する。このように、本実施例に係る設計支援装置１０は、自動的な処理によって、部品モデルのプリント板モデルに搭載される側の面を決定する。したがって、本実施例に係る設計支援装置１０によれば、ユーザなどにより部品モデルのプリント板モデルに搭載される側の面を決定する工数が削減されるため、簡易にＣＡＤデータの連携を図ることができる。
【００９２】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００９３】
例えば、実施例１では、設計支援装置１０が、メカニカルＣＡＤシステム２０およびプリント板ＣＡＤシステム２１と別な装置である場合について説明した。しかしながら、開示の設計支援装置１０を、メカニカルＣＡＤシステム２０またはプリント板ＣＡＤシステム２１に組み込むことができる。
【００９４】
また、実施例１において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。また、本実施例において説明した各処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【００９５】
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。例えば、Ｓ３１２〜Ｓ３１７の処理を省略することができる。
【００９６】
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更できる。例えば、Ｓ３１２〜Ｓ３１７の処理を行う前に、Ｓ３１８〜Ｓ３２６の処理を行うこともできる。
【００９７】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図１に示す生成部１５ｄと、配置部１５ｅとが統合されてもよい。
【００９８】
［設計支援プログラム］
また、上記の実施例で説明した設計支援装置１０の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図２９を用いて、上記の実施例で説明した設計支援装置１０と同様の機能を有する設計支援プログラムを実行するコンピュータの一例を説明する。図２９は、設計支援プログラムを実行するコンピュータを示す図である。
【００９９】
図２９に示すように、コンピュータ３００は、ＣＰＵ（Central  Processing  Unit）３１０、ＲＯＭ（Read  Only  Memory）３２０、ＨＤＤ（Hard  Disk  Drive）３３０、ＲＡＭ（Random  Access  Memory）３４０とを有する。これら３１０〜３４０の各部は、バス３５０を介して接続される。なお、ＣＰＵ３１０は、上述した制御部１５の一例である。また、ＲＯＭ３２０、ＨＤＤ３３０、ＲＡＭ３４０は、上述した記憶部１４の一例である。
【０１００】
ＲＯＭ３２０には、ＯＳ（Operating  System）プログラムなどが記憶されている。
【０１０１】
ＨＤＤ３３０には、上記の実施例１で示す取得部１５ａと、抽出部１５ｂと、決定部１５ｃと、生成部１５ｄと、配置部１５ｅと同様の機能を発揮する設計支援プログラム３３０ａが予め記憶される。なお、設計支援プログラム３３０ａについては、適宜分離しても良い。例えば、取得部１５ａと、抽出部１５ｂと、決定部１５ｃと同様の機能を発揮するプログラムと、生成部１５ｄと、配置部１５ｅと同様の機能を発揮するプログラムとに分離しても良い。
【０１０２】
また、ＨＤＤ３３０には、第一のＤＢ、第二のＤＢ、候補面情報が設けられる。この第一のＤＢ、第二のＤＢ、候補面情報のそれぞれは、図１に示した第一のＤＢ１４ａ、第二のＤＢ１４ｂ、候補面情報１４ｃに対応する。
【０１０３】
ＣＰＵ３１０は、設計支援プログラム３３０ａをＨＤＤ３３０から読み出して実行する。また、ＣＰＵ３１０は、第一のＤＢ、第二のＤＢ、候補面情報を読み出してＲＡＭ３４０に格納する。ＣＰＵ３１０は、ＲＡＭ３４０に格納された第一のＤＢ、第二のＤＢ、候補面情報を用いて、設計支援プログラム３３０ａを実行する。なお、ＲＡＭ３４０に格納される各データは、常に全てのデータがＲＡＭ３４０に格納されなくともよい。処理に用いられるデータのみがＲＡＭ３４０に格納されれば良い。
【０１０４】
なお、上記した設計支援プログラムについては、必ずしも最初からＨＤＤ３３０に記憶させておく必要はない。
【０１０５】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。  
【０１０６】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【０１０７】
１０      設計支援装置
１４      記憶部
１４ａ    第一のＤＢ
１４ｂ    第二のＤＢ
１４ｃ    候補面情報
１５      制御部
１５ａ    取得部
１５ｂ    抽出部
１５ｃ    決定部
【図１】
0005842523.tif 000002
【図２】
0005842523.tif 000003
【図３】
0005842523.tif 000004
【図４】
0005842523.tif 000005
【図５】
0005842523.tif 000006
【図６】
0005842523.tif 000007
【図７】
0005842523.tif 000008
【図８】
0005842523.tif 000009
【図９】
0005842523.tif 000010
【図１０】
0005842523.tif 000011
【図１１】
0005842523.tif 000012
【図１２】
0005842523.tif 000013
【図１３】
0005842523.tif 000014
【図１４】
0005842523.tif 000015
【図１５】
0005842523.tif 000016
【図１６】
0005842523.tif 000017
【図１７】
0005842523.tif 000018
【図１８】
0005842523.tif 000019
【図１９】
0005842523.tif 000020
【図２０】
0005842523.tif 000021
【図２１】
0005842523.tif 000022
【図２２】
0005842523.tif 000023
【図２３】
0005842523.tif 000024
【図２４】
0005842523.tif 000025
【図２５】
0005842523.tif 000026
【図２６】
0005842523.tif 000027
【図２７】
0005842523.tif 000028
【図２８】
0005842523.tif 000029
【図２９】
0005842523.tif 000030