(57)【要約】【課題】製品の組立順序を決める際の利用者の操作量の低減化を図ること。【解決手段】組立順序生成装置１００は、部品Ｐａｒｔ＿１と、部品Ｐａｒｔ＿２と、部品Ｐａｒｔ＿３と、部品Ｐａｒｔ＿４と、部品Ｐａｒｔ＿５により形成される３Ｄモデル１０１を表示部１０２に表示する。この状態で、組立順序生成装置１００の利用者によって、マウスがクリックされたことにより、部品Ｐａｒｔ＿４が選択されたとする。組立順序生成装置１００は、選択された部品Ｐａｒｔ＿４を非表示にするとともに、記憶部１１０に部品Ｐａｒｔ＿４の識別情報を記憶する。組立順序生成装置１００は、部品が利用者によって選択される度に、選択された部品を非表示に設定して、記憶部１１０に選択された部品の識別情報を記憶する。また、組立順序生成装置１００は、選択された部品の選択順序とは逆の順を３Ｄモデル１０１の組立順序として記憶する。【選択図】図１
2014091189.tif 000002
【特許請求の範囲】
【請求項１】
３Ｄモデルを表示部に表示し、
表示された前記３Ｄモデルに含まれる複数の部品が順に選択されると、選択された該複数の部品を非表示にし、
前記複数の部品の選択順序と逆の順を前記３Ｄモデルの組立順序として記憶部に記憶する、
ことを特徴とする組立順序生成プログラム。
【請求項２】
前記３Ｄモデルの複数の部品は締結部品を含み、
ある部品が前記締結部品によって前記３Ｄモデルに締結されている場合、該ある部品が選択されると、該ある部品を締結する部品を特定し、
特定した前記ある部品と前記ある部品を締結する部品とを関連付けて前記組立順序を記憶する、
ことを特徴とする請求項１に記載の組立順序生成プログラム。
【請求項３】
前記３Ｄモデルの複数の部品は締結部品を含み、
前記締結部品は予め非表示としていることを特徴とする請求項２に記載の組立順序生成プログラム。
【請求項４】
前記３Ｄモデルの部品を選択すると、部品の取り外し易さを示す程度を算出し、取り外し易さに応じて、取り外し易さの程度を表す情報を前記表示部に表示することを特徴とする請求項１に記載の組立順序生成プログラム。
【請求項５】
３Ｄモデルを表示部に表示させる表示制御部と、
前記表示部に表示された前記３Ｄモデルに含まれる複数の部品が順に選択されると、選択された該複数の部品を非表示に設定する設定部と、
前記複数の部品の選択順序と逆の順を前記３Ｄモデルの組立順序として記憶部に格納する格納部と、
を有することを特徴とする組立順序生成装置。
【請求項６】
製品を模した３Ｄモデルを表示部に表示し、
表示された前記３Ｄモデルに含まれる複数の部品が順に選択されると、選択された該複数の部品を非表示にし、
前記複数の部品の選択順序と逆の順を前記３Ｄモデルの組立順序として記憶部に記憶し、
記憶した前記組立順序に従って前記製品を製造する、
ことを特徴とする製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組立順序生成プログラム、組立順序生成装置、および製造方法に関する。
【背景技術】
【０００２】
従来、ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）データから、製品の組立順序を生成する技術がある。たとえば、組立モデルを形成する部品間の隣接関係と部品間の位置関係を拘束するアセンブリ拘束情報を用いて、製品の組立順序を生成する技術がある。また、３次元データから製品を形成する部品の部品プロパティおよび作業内容に対応する評価ファクターをデータベースから読み、部品ごとに組立・分解の難易度に応じた評価点に応じた配色で各部品の画像データを編集する技術がある。さらに、設計された製品の形状モデルに基づいた組立情報に基づいて、定量的な組立データを生成する技術がある。さらに、製品設計情報と組立・分解情報から組立・分解シミュレーションを行い、組立分解性の評価を行う技術がある。さらに、製品を分解する途中の状態における分解中の部品を、分解途中である現時点における分解中の部品と残存する部品との間の最接近距離だけ次に移動させて、分解中の部品の移動後の状態について最接近距離および干渉の発生の判定を行う技術がある。（たとえば、下記特許文献１〜５を参照。）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−４６９２４号公報
【特許文献２】特開２００５−２７５９４５号公報
【特許文献３】特開２００１−３５３６３１号公報
【特許文献４】特開平７−３１１７９２号公報
【特許文献５】特開平１０−３１２２０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術によれば、製品の組立順序を利用者の操作により決める際、ある部品を組み付ける順序を入れ替えるには、入替１回あたりにドラッグ＆ドロップ操作やカット＆ペースト操作という複数の操作が発生し、利用者の操作量が多くなる。
【０００５】
１つの側面では、本発明は、製品の組立順序を決める際の利用者の操作量の低減化を図る組立順序生成プログラム、組立順序生成装置、および製造方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一側面によれば、３Ｄモデルを表示部に表示し、表示された３Ｄモデルに含まれる複数の部品が順に選択されると、選択された複数の部品を非表示にし、複数の部品の選択順序と逆の順を３Ｄモデルの組立順序として記憶部に記憶する組立順序生成プログラム、組立順序生成装置、および製造方法が提案される。
【発明の効果】
【０００７】
本発明の一態様によれば、製品の組立順序を決める際の利用者の操作量の低減化を図るという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施の形態にかかる組立順序生成装置の動作例を示す説明図である。
【図２】図２は、組立順序生成装置のハードウェア構成の一例を示すブロック図である。
【図３】図３は、組立順序生成装置の機能構成例を示すブロック図である。
【図４】図４は、部品データの記憶内容の一例を示す説明図である。
【図５】図５は、３Ｄモデルデータの記憶内容の一例を示す説明図である。
【図６】図６は、製造フローデータの記憶内容の一例を示す説明図である。
【図７】図７は、締結部品の関連付けの一例を示す説明図である。
【図８】図８は、締結部品関連付け後の締結部品を非表示にする例を示す説明図である。
【図９】図９は、３Ｄモデルのプレハイライトの一例を示す説明図である。
【図１０】図１０は、取り外し易さの程度の算出例を示す説明図である。
【図１１】図１１は、部品のソートの例を示す説明図である。
【図１２】図１２は、組立順序生成処理手順の一例を示すフローチャートである。
【図１３】図１３は、締結部品処理手順の一例を示すフローチャートである。
【図１４】図１４は、締結部品関連付け処理手順の一例を示すフローチャートである。
【図１５】図１５は、プレハイライト処理手順の一例を示すフローチャートである。
【図１６】図１６は、取り外し易さの程度の更新処理手順の一例を示すフローチャートである。
【図１７】図１７は、取り外し易さの程度の算出処理手順の一例を示すフローチャートである。
【図１８】図１８は、ソート処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、開示の組立順序生成プログラム、組立順序生成装置、および製造方法の実施の形態を詳細に説明する。
【００１０】
図１は、本実施の形態にかかる組立順序生成装置の動作例を示す説明図である。本実施の形態にかかる組立順序生成装置１００は、製品の組立順序の生成を支援するコンピュータである。作業者や作業用の製造装置は、製品を複数の部品から組み立てる際に、組立順序生成装置１００が生成した順序に基づいて、製品を組み立てる。製品は、２つ以上の部品で形成されるものとする。たとえば、製品は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、サーバ、携帯情報端末、自動車、家電製品などの機械製品などが挙げられる。
【００１１】
信頼のある組立順序を生成する際、ＣＡＤを実行する装置は、製品の組立順序を示す製造フローを表示しておき、ＣＡＤを実行する装置の利用者の操作を受け付けて、製造フロー内の部品の組み付ける順序を入れ替えることにより、製品の組立順序を生成する。ここで、部品の組み付ける順序を入れ替える操作としては、たとえば、以下の２つがある。
【００１２】
１つ目の操作は、入替対象の部品を画面上でドラッグし、目的の位置に入替対象の部品をドロップするというドラッグ＆ドロップ操作である。ドラッグ＆ドロップ操作は、１つの部品の組み付ける順序を決めるために、ドラッグとドロップという２つの操作を行う。２つ目の操作は、入替対象の部品上でコンテキストメニューを表示して“カット”メニューを選択し、目的の組み付ける順序となる位置でコンテキストメニューを表示して“ペースト”メニューを選択して入替対象の部品を貼り付けるカット＆ペースト操作である。カット＆ペースト操作は、１つの部品の位置を決めるために、メニューの表示、“カット”メニューの選択、メニューの表示、“ペースト”メニューの選択、という４つの操作を行う。
【００１３】
この２つのうちのいずれかの操作を用いて、意図した製品の組立順序を生成する場合、部品の数をｎとし、ドラッグ＆ドロップ操作を用いるとＯ（２ｎ）のオーダーで、利用者は操作を行うことになる。また、カット＆ペースト操作を用いるとＯ（４ｎ）のオーダーで、利用者は操作を行うことになる。このように、部品の数が多いと、１回の入替に複数の操作が発生して、利用者の操作量が多くなる。また、部品の数が多くなると、画面に表示しきれない部品が発生するため、ＣＡＤを実行する装置は、利用者の操作により、画面内をスクロールさせて、目的の位置に表示することになるため、利用者の操作量が多くなる。
【００１４】
そこで、組立順序生成装置１００は、製品の分解の状態を利用者が把握しやすい状態で、利用者の操作量の低減化を図るため、利用者が選択した部品を順次非表示にしていき、選択順を記憶して、選択順の逆順を製品の組立順序とする。これにより、組立順序生成装置１００は、クリック操作を繰り返すだけで製品の組立順序を生成できるため、製品の組立順序を決める際の利用者の操作量が低減する。
【００１５】
図１の（Ａ）にて示す組立順序生成装置１００は、部品Ｐａｒｔ＿１と、部品Ｐａｒｔ＿２と、部品Ｐａｒｔ＿３と、部品Ｐａｒｔ＿４と、部品Ｐａｒｔ＿５により形成される３Ｄモデル１０１を表示部１０２に表示する。３Ｄモデル１０１は、製品を模したモデルである。この状態で、組立順序生成装置１００の利用者によって、マウスがクリックされたことにより、部品Ｐａｒｔ＿４が選択されたとする。
【００１６】
図１の（Ｂ）にて組立順序生成装置１００は、部品Ｐａｒｔ＿４が選択された後の状態である。組立順序生成装置１００は、選択された部品Ｐａｒｔ＿４を非表示にするとともに、記憶部１１０に部品Ｐａｒｔ＿４の識別情報を記憶する。組立順序生成装置１００は、部品が利用者によって選択される度に、選択された部品を非表示に設定して、記憶部１１０に選択された部品の識別情報を記憶する。また、組立順序生成装置１００は、選択された部品の選択順序とは逆の順を３Ｄモデル１０１の組立順序として記憶する。
【００１７】
これにより、組立順序生成装置１００は、製品の分解の状態を利用者が把握しやすい状態で、製品の組立順序を決める１回の操作がクリック１回になり利用者の操作量が低減する。操作量の低減について、具体的に、部品の数をｎとすると、本実施の形態では、１つの部品の組み付ける順序を決めるためにマウスのクリック操作という１つの操作で済む。このため、組立順序生成装置１００は、意図した製品の組立順序を生成するには、Ｏ（ｎ）のオーダーで繰り返すことになる。したがって、組立順序生成装置１００は、ドラッグ＆ドロップ操作や、カット＆ペースト操作を用いるより少ない操作量で製品の組立順序を生成することができる。以下、図２〜図１８を用いて、組立順序生成装置１００の詳細について説明する。
【００１８】
（組立順序生成装置１００のハードウェア）
図２は、組立順序生成装置のハードウェア構成の一例を示すブロック図である。図２において、組立順序生成装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、を含む。また、組立順序生成装置１００は、ディスクドライブ２０４と、ディスク２０５と、通信インターフェース２０６と、を含む。また、組立順序生成装置１００は、ディスプレイ２０７と、キーボード２０８と、マウス２０９とを含む。また、ＣＰＵ２０１〜マウス２０９はバス２１０によってそれぞれ接続されている。ディスプレイ２０７は、図１で説明した表示部１０２に相当し、ＲＡＭ２０３、ディスク２０５は、図１で説明した記憶部１１０に相当する。
【００１９】
ＣＰＵ２０１は、組立順序生成装置１００の全体の制御を司る演算処理装置である。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される揮発性メモリである。
【００２０】
ディスクドライブ２０４は、ＣＰＵ２０１の制御に従ってディスク２０５に対するデータのリードおよびライトを制御する制御装置である。ディスクドライブ２０４には、たとえば、磁気ディスクドライブ、光ディスクドライブ、ソリッドステートドライブなどを採用することができる。ディスク２０５は、ディスクドライブ２０４の制御で書き込まれたデータを記憶する不揮発性メモリである。たとえばディスクドライブ２０４が磁気ディスクドライブである場合、ディスク２０５には、磁気ディスクを採用することができる。また、ディスクドライブ２０４が光ディスクドライブである場合、ディスク２０５には、光ディスクを採用することができる。また、ディスクドライブ２０４がソリッドステートドライブである場合、ディスク２０５には、半導体素子メモリを採用することができる。
【００２１】
通信インターフェース２０６は、ネットワーク２１１と内部のインターフェースを司り、外部装置からのデータの入出力を制御する制御装置である。具体的に、通信インターフェース２０６は、通信回線を通じてネットワーク２１１となるＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどに接続され、ネットワーク２１１を介して他の装置に接続される。通信インターフェース２０６には、たとえば、モデムやＬＡＮアダプタなどを採用することができる。
【００２２】
ディスプレイ２０７は、マウスカーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する装置である。ディスプレイ２０７には、たとえば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、ＴＦＴ（Ｔｈｉｎ  Ｆｉｌｍ  Ｔｒａｎｓｉｓｔｏｒ）液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２３】
キーボード２０８は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う装置である。また、キーボード２０８は、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２０９は、マウスカーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う装置である。マウス２０９は、ポインティングデバイスとして同様に機能を有するものであれば、トラックボールやジョイスティックなどであってもよい。
【００２４】
（組立順序生成装置１００の機能構成）
次に、組立順序生成装置１００の機能構成について説明する。図３は、組立順序生成装置の機能構成例を示すブロック図である。組立順序生成装置１００は、表示制御部３０１と、設定部３０２と、特定部３０３と、格納部３０４と、を含む。制御部となる表示制御部３０１〜格納部３０４は、記憶装置に記憶されたプログラムをＣＰＵ２０１が実行することにより、表示制御部３０１〜格納部３０４の機能を実現する。記憶装置とは、具体的には、たとえば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、ディスク２０５などである。または、通信インターフェース２０６を経由して他のＣＰＵが実行することにより、表示制御部３０１〜格納部３０４の機能を実現してもよい。
【００２５】
また、組立順序生成装置１００は、記憶部１１０にアクセス可能である。記憶部１１０は、ＲＡＭ２０３、ディスク２０５といった記憶装置に格納されている。記憶部１１０は、部品データ３１１と、３Ｄモデルデータ３１２と、製造フローデータ３１３とを含む。部品データ３１１は、部品ごとに、対象の部品の形状を示す情報を含む。部品データ３１１の詳細については、図４にて後述する。
【００２６】
３Ｄモデルデータ３１２は、部品データ３１１を用いて、製品を模した３Ｄモデルを表したデータである。３Ｄモデルデータ３１２の詳細については、図５にて後述する。また、３Ｄモデルデータ３１２は、締結部品を含めてもよい。締結部品は、複数の部品を締結する部品である。締結部品は、たとえば、ねじやナット、ワッシャなどである。締結部品によって締結される部品を、「被締結部品」と称する。
【００２７】
製造フローデータ３１３は、部品、部品を一部組み立てたアセンブリ、または部品を組み立てる組立工程のいずれかを示すものとするノードの組立順序を記憶する。製造フローデータ３１３の詳細については、図６にて後述する。
【００２８】
表示制御部３０１は、３Ｄモデルを表示部１０２に表示させる。図１の例では、表示制御部３０１は、３Ｄモデル１０１を表示部１０２に表示させる。
【００２９】
また、表示制御部３０１は、３Ｄモデルの部品が選択されると、部品の取り外し易さを示す程度を算出し、取り外し易さに応じて、取り外し易さの程度を表す情報を表示部１０２に表示させてもよい。部品の取り外し易さを示す程度を表す情報については、図９、図１０にて後述する。
【００３０】
設定部３０２は、表示部１０２に表示された３Ｄモデルに含まれる複数の部品が順に選択されると、選択された複数の部品を非表示に設定する。また、設定部３０２は、締結部品を予め非表示に設定してもよい。ここで、予めとは、利用者による製品の組立順序を行う前の段階である。たとえば、設定部３０２は、３Ｄモデルデータ３１２と製造フローデータ３１３とを読み込んだ直後に、締結部品を非表示に設定する。なお、設定された情報は、ＲＡＭ２０３、ディスク２０５に記憶される。
【００３１】
特定部３０３は、ある部品が締結部品によって３Ｄモデルに締結されている場合、ある部品が選択されると、ある部品を締結する部品を特定する。具体的に、特定部３０３は、ある部品が利用者によって選択されたときに、ある部品を覆うバウンディングボックスと、３Ｄモデルに含まれる他の部品を覆うバウンディングボックスとが交差する場合、他の部品をある部品を締結する部品として特定する。バウンディングボックスは、対象の部品を覆うＸｌ、Ｙｌ、Ｚｌ軸のいずれかの軸に各面が並行な直方体である。Ｘｌ、Ｙｌ、Ｚｌ軸は、対象部品におけるローカル座標系の軸である。
【００３２】
格納部３０４は、複数の部品の選択順序と逆の順を３Ｄモデルの組立順序として記憶部１１０に格納する。具体的に、製品の組立順序は、製造フローデータ３１３のノードの順序によって表現される。
【００３３】
また、格納部３０４は、特定部３０３によって特定されたある部品とある部品を締結する部品とを関連付けて組立順序を格納してもよい。たとえば、特定部３０３が、部品Ｐａｒｔ＿４と、部品Ｐａｒｔ＿４を締結する部品ＳＣＲ＿０１＿０１を特定したとする。このとき、格納部３０４は、部品Ｐａｒｔ＿４の直後に部品ＳＣＲ＿０１＿０１を組み立てるように組立順序を格納する。
【００３４】
図４は、部品データの記憶内容の一例を示す説明図である。図４の（Ａ）にて部品データ３１１の記憶内容について説明し、図４の（Ｂ）にて、部品データ３１１に含まれる形状情報について説明する。部品データ３１１は、部品ごとに、対象の部品の形状を示す情報を含む。図４に示す部品データ３１１は、レコード４０１−１を含む。
【００３５】
部品データ３１１は、部品名、部品の原点座標、ローカル座標系、色情報、形状情報という５つのフィールドを含む。部品名フィールドには、対象の部品の名称が格納される。部品の原点座標フィールドには、グローバル座標系における対象の部品の位置情報が格納される。ローカル座標系フィールドには、ローカル座標の各軸の方向を表す情報が格納される。ローカル座標の各軸の方向を表す情報として、本実施の形態では、グローバル座標に対して乗算することにより、グローバル座標からローカル座標に変換する変換行列が格納される。色情報フィールドには、対象の部品の色情報が格納される。色情報は、たとえば、ＲＧＢ値である。形状情報フィールドには、対象の部品の形状を示す形状情報が格納される。形状情報として、本実施の形態では、ファセットを複数用いて形状情報とする。ファセットは、微細平面を特定する情報である。ファセットについて、図４の（Ｂ）を用いて説明する。
【００３６】
図４の（Ｂ）が示すように、部品Ｐａｒｔ＿１は、ファセット１〜ファセットＮにより形成される。１つのファセットは、３つの頂点の座標情報と、３つの頂点により形成される微細平面の法線ベクトルを有する。たとえば、ファセットＮは、３つの頂点ｖ＿Ｎ１、ｖ＿Ｎ２、ｖ＿Ｎ３と、法線ベクトルＶｅｃ＿Ｎとを有する。
【００３７】
たとえば、図４の（Ａ）に示すレコード４０１−１は、部品Ｐａｒｔ＿１について、原点座標がＰ１（ｘｇ，ｙｇ，ｚｇ）であり、変換行列がＲ１であり、色情報が（ｒ１，ｇ１，ｂ１）であり、ファセット１〜ファセットＮを有することを示す。
【００３８】
図５は、３Ｄモデルデータの記憶内容の一例を示す説明図である。３Ｄモデルデータ３１２は、部品データ３１１を用いて、製品を模した３Ｄモデルを表したデータである。図５に示す３Ｄモデルデータ３１２は、レコード５０１−０−１〜レコード５０１−Ｎ−５を有する。レコード５０１−０−１、レコード５０１−０−２は、３Ｄモデル全体に関するヘッダ部であり、レコード５０１−１−１〜レコード５０１−Ｎ−５は、３Ｄモデルに含まれるＮ個の部品に関する情報である。具体的に、レコード５０１−１−１〜レコード５０１−１−５は、３Ｄモデルに含まれる部品Ｐａｒｔ＿１に関する情報であり、レコード５０１−２−１〜レコード５０１−２−５は、３Ｄモデルに含まれる部品Ｐａｒｔ＿２に関する情報である。また、レコード５０１−Ｎ−１〜レコード５０１−Ｎ−５は、３Ｄモデルに含まれる部品Ｐａｒｔ＿Ｎに関する情報である。
【００３９】
３Ｄモデルデータ３１２は、ヘッダ部として、製品名、登録部品数という２つのフィールドを有する。製品名フィールドには、製品の名称が格納される。登録部品数フィールドは、３Ｄモデルに含まれる部品の個数が格納される。
【００４０】
３Ｄモデルデータ３１２は、部品に関する情報として、部品名、親部品情報、座標、姿勢、得点という５つのフィールドを含む。部品名フィールドには、３Ｄモデルデータに含まれる、ある部品の名称が格納される。部品データ３１１に格納されたレコードのうちの、ある部品の名称が部品名フィールドに格納されたレコードが、ある部品に対応する情報となる。親部品情報フィールドには、ある部品が属する親部品の名称が格納される。組立順序生成装置１００は、親部品情報フィールドを用いて、製造フロー画面の階層を形成する。親部品が存在しない場合、親部品情報フィールドには、製品名フィールドに格納された名称が格納される。
【００４１】
座標フィールドには、親部品のローカル座標系における原点からのある部品の相対座標が格納される。姿勢フィールドには、親部品の姿勢からの、ある部品の相対姿勢を表す行列が格納される。得点フィールドには、ある部品の取り外し易さの程度を表す数値が格納される。
【００４２】
たとえば、レコード５０１−０−１は、３Ｄモデルが模した製品の名称が万力ユニットであり、レコード５０１−０−２は、３Ｄモデルデータ３１２に含まれる部品数がＮ個であることを示す。また、レコード５０１−１−１〜レコード５０１−１−５は、１つ目の部品の名称が部品Ｐａｒｔ＿１であり、１つ目の部品の座標がＰ１であり、１つ目の部品の姿勢を表す行列がＲ１であり、取り外し易さの程度が８５点であることを示す。
【００４３】
図６は、製造フローデータの記憶内容の一例を示す説明図である。図６の（Ａ）は、製造フローデータ３１３の記憶内容を示し、図６の（Ｂ）は、組立順序を表す製造フロー画面の一例を示す。製造フローデータ３１３は、部品、部品を一部組み立てたアセンブリ、または部品を組み立てる組立工程のいずれかを示すものとするノードごとの情報を記憶する。図６に示す製造フローデータ３１３は、ノード６０１−１を記憶する。
【００４４】
製造フローデータ３１３は、ノードＩｎｄｅｘ、名称、種別フラグ、フロー記号、次ノードＩｎｄｅｘという５つのフィールドを含む。ノードＩｎｄｅｘフィールドには、ノードの順序が格納される。名称フィールドには、部品の名称、アセンブリの名称、または工程の名称が格納される。種別フラグフィールドには、対象のノードの種別が格納される。具体的に、種別フラグフィールドには、部品を示す“部品”識別子、アセンブリを示す“アセンブリ”識別子、組立工程を示す“組立工程”識別子のいずれかが格納される。フロー記号フィールドには、対象のノードの種別を識別するアイコンが格納される。アイコンについては、図６の（Ｂ）にて説明する。次ノードＩｎｄｅｘフィールドには、次のノードのノードＩｎｄｅｘフィールドの値が格納される。また、製造フローデータ３１３の最後のノードの次ノードＩｎｄｅｘフィールドには、最終ノードであることを示す“ＮＵＬＬ”が格納される。
【００４５】
たとえば、ノード６０１−１は、１番目のノードであり、名称が“Ｐａｒｔ＿Ａ２”となる部品があり、次のノードが２番目のノードとなることを示す。
【００４６】
図６の（Ｂ）にて、製造フロー画面６０２は、製造フローデータ３１３を用いて、製品の組立順序を表した画面例である。製造フロー画面６０２は、Ｉｎｄｅｘ、フロー、名称という３つの表示領域に分割される。Ｉｎｄｅｘフィールドは、ノードＩｎｄｅｘフィールドの値を示す。名称フィールドは、部品、アセンブリ、または組立工程の名称を示す。図６に示す製造フロー画面６０２は、製品の組立順序として、１番目から１３番目までの部品またはアセンブリの組み付ける順序、組立工程が実行される順序を示す。
【００４７】
次に、フローフィールドに表示されるアイコンについて説明する。丸記号で表されるアイコン６１１は工程を示す。下向き三角形で表されるアイコン６１２は、部品を示す。２重の下向き三角形で表されるアイコン６１３は、複数の部品を組み立てたアセンブリを示す。
【００４８】
図７は、締結部品の関連付けの一例を示す説明図である。図７では、３Ｄモデルに含まれる複数の部品のうちの、締結部品と、締結部品とは異なる部品とを関連付ける処理について説明する。図７の（Ａ）では、３Ｄモデルに含まれる締結部品の具体例を示す。図７の（Ａ）に示すように、開発者は、部品データ３１１に締結部品を登録する際に、締結部品であることを示す“ＳＣＲ”、“Ｍ４”というキーワードを含めるように締結部品の部品名を指定しておく。組立順序生成装置１００は、３Ｄモデルに含まれる複数の部品のうちの、締結部品を示すキーワードが部品名に含まれる部品を締結部品として特定する。
【００４９】
図７の（Ｂ）は、特定された締結部品と、締結部品に締結される被締結部品となる可能性がある部品と、各部品を覆うバウンディングボックスとを表示した例を示す。具体的に、図７の（Ｂ）は、締結部品であると特定された部品ＳＣＲ＿０１＿０１および部品ＳＣＲ＿０１＿０２と、被締結部品となる可能性がある部品Ｐａｒｔ＿４および部品Ｐａｒｔ＿５と、を示す。組立順序生成装置１００は、部品Ｐａｒｔ＿４と部品Ｐａｒｔ＿５が、部品ＳＣＲ＿０１＿０１および部品ＳＣＲ＿０１＿０２によって締結されるか否かを、各部品を覆うバウンディングボックスが交差するか否かによって判断する。
【００５０】
続けて、図７の（Ｂ）にて、各部品を覆うバウンディングボックスを表示した例を示す。図７の（Ｂ）が示すように、部品ＳＣＲ＿０１＿０１が、部品Ｐａｒｔ＿４と部品Ｐａｒｔ＿５とに交差するため、組立順序生成装置１００は、部品Ｐａｒｔ＿４と部品Ｐａｒｔ＿５が、部品ＳＣＲ＿０１＿０１に締結される被締結部品であると特定する。続けて、組立順序生成装置１００は、部品ＳＣＲ＿０１＿０１に、部品Ｐａｒｔ＿４と部品Ｐａｒｔ＿５を関連付けて記憶する。記憶した例を、図７の（Ｃ）のレコード７０１−１として示す。
【００５１】
同様に、部品ＳＣＲ＿０１＿０２が、部品Ｐａｒｔ＿４と部品Ｐａｒｔ＿５とに交差するため、組立順序生成装置１００は、部品Ｐａｒｔ＿４と部品Ｐａｒｔ＿５が、部品ＳＣＲ＿０１＿０２に締結される被締結部品であると特定する。続けて、組立順序生成装置１００は、部品ＳＣＲ＿０１＿０２に、部品Ｐａｒｔ＿４と部品Ｐａｒｔ＿５を関連付けて記憶する。記憶した例を、図７の（Ｃ）のレコード７０１−２として示す。
【００５２】
図７の（Ｃ）は、締結部品と被締結部品とを関連付けた締結部品リスト７０１および締結部品関連リスト７０２を示す。締結部品リスト７０１は、締結部品、被締結部品という２つのフィールドを含む。組立順序生成装置１００は、被締結部品で検索しやすくするために、締結部品リスト７０１を参照して、締結部品関連リスト７０２を生成する。締結部品関連リスト７０２は、被締結部品、関連する締結部品という２つのフィールドを含む。被締結部品フィールドには、締結部品リスト７０１の被締結部品フィールドに格納された名称が格納される。関連する締結部品フィールドには、締結部品関連リスト７０２の被締結部品フィールドに格納された被締結部品に関連付いた締結部品が格納される。
【００５３】
図８は、締結部品関連付け後の締結部品を非表示にする例を示す説明図である。図８では、関連付けを行った締結部品関連リスト７０２を用いて、締結部品を非表示にする例を示す。図８の（Ａ）は、締結部品である部品ＳＣＲ＿０１＿０１と部品ＳＣＲ＿０１＿０２を表示する。図８の（Ｂ）は、締結部品である部品ＳＣＲ＿０１＿０１と部品ＳＣＲ＿０１＿０２を非表示にする。これにより、組立順序生成装置１００は、組立順序生成装置１００の利用者が製品の組立順序を選択する順序によって決める際に、表示する部品数が少なくなるため、利用者の操作量を少なくすることができる。
【００５４】
続けて、図９〜図１１にて、マウス操作に対応する処理について説明する。図９、図１０では、マウスカーソルが３Ｄモデルのある部品上に入ったときの処理について説明し、図１１では、３Ｄモデルのある部品でマウスが押下された場合について説明する。
【００５５】
図９は、３Ｄモデルのプレハイライトの一例を示す説明図である。組立順序生成装置１００は、マウスカーソルが３Ｄモデルのある部品上に入った場合に、プレハイライト処理として、取り外し易さの程度を表す情報を表示する処理を行う。以下、マウスカーソルが３Ｄモデルのある部品上に入ることを、「ある部品にマウスオーバーする」と呼称する。図９の（Ａ）は、部品Ｐａｒｔ＿４のマウスオーバー時のプレハイライト処理の例を示し、図９の（Ｂ）は、部品Ｐａｒｔ＿３のマウスオーバー時のプレハイライト処理の例を示す。
【００５６】
取り外し易さの程度を表す情報は、ある部品の色が取り外し易さの程度を表してもよいし、ある部品上に矢印を表示して、矢印の太さ、長さが取り外し易さの程度を表してもよい。本実施の形態では、ある部品の色を用いて取り外し易さの程度を表すこととする。たとえば、ある部品の色が青色に変化した場合、取り外し易さの程度が高く、取り外し易いことを示し、ある部品の色が赤色に変化した場合、取り外し易さの程度が低く、他の部品を先に取り外してからでないと取り外し難いことを示すこととする。また、ある部品の色が黄色に変化した場合、取り外し易くもないし取り外し難くもないという、どちらともいえないことを示す。
【００５７】
図９の（Ａ）では、組立順序生成装置１００は、部品Ｐａｒｔ＿４を取り外し易いと判断し、部品Ｐａｒｔ＿４の色を青色に変化させて表示する。また、図９の（Ｂ）では、組立順序生成装置１００は、部品Ｐａｒｔ＿３を取り外し難いと判断し、部品Ｐａｒｔ＿３の色を赤色に変化させて表示する。図９の（Ａ）と図９の（Ｂ）の例では、青色を濃いハッチとして表現し、赤色を薄いハッチとして表現する。続けて、図１０にて、取り外し易さの程度の算出例について説明する。
【００５８】
図１０は、取り外し易さの程度の算出例を示す説明図である。組立順序生成装置１００は、ある部品にマウスオーバーしたときに、ある部品に対してプレハイライト処理を行う。図１０では、部品Ｐａｒｔ＿４の取り外し易さの程度を算出し、取り外し易さの程度を表す情報を生成する例を示す。
【００５９】
組立順序生成装置１００は、部品Ｐａｒｔ＿４のうちの、マウスカーソルがある面を特定して、マウスがある面の法線ベクトルを特定する。面の法線ベクトルは、たとえば、部品データ３１１のファセットを特定し、特定したファセットの法線ベクトルを取得することにより、特定することができる。図１０の（Ａ）の例では、マウスカーソル１００１がある面の法線ベクトル１００２は、＋Ｘｌ方向であるとする。
【００６０】
次に、組立順序生成装置１００は、特定した法線ベクトルから、部品Ｐａｒｔ＿４を特定の大きさを有する描画領域に部品Ｐａｒｔ＿４が収まる表示倍率で投影する。投影する際に、組立順序生成装置１００は、部品Ｐａｒｔ＿４の色を白色とし、背景色を黒色とし、他の部品を非表示にして投影する。特定の大きさは、開発者によって指定される。描画領域に投影した画像を、図１０の（Ｂ）の画像Ｄ１にて示す。図１０の（Ｂ）では、特定の大きさの画像として、縦１００［画素］、横１００［画素］の画像であるとする。
【００６１】
また、組立順序生成装置１００は、特定した法線ベクトルから、部品Ｐａｒｔ＿４を特定の大きさを有する描画領域に部品Ｐａｒｔ＿４が収まる表示倍率で投影する。投影する際に、組立順序生成装置１００は、部品Ｐａｒｔ＿４の色を白色とし、他の部品を表示して他の部品の色を黒色とし、背景色を黒色として描画領域に投影する。描画領域に投影した画像を、図１０の（Ｂ）の画像Ｄ２にて示す。
【００６２】
続けて、図１０の（Ｃ）で示すように、組立順序生成装置１００は、他の部品を表示した場合の画像と、他の部品を非表示にした場合の画像とを用いて、取り外し易さの程度を算出し、取り外し易さの程度を表す情報を生成する。具体的に、組立順序生成装置１００は、下記（１）式に従って、取り外し易さの程度を算出する。
【００６３】
取り外し易さの程度＝他の部品を表示した場合の白色の画素の個数／他の部品を非表示にした場合の白色の画素の個数＊１００  …（１）
【００６４】
図１０の（Ｂ）の例では、画像Ｄ１の白色の画素の個数が８００個であり、画像Ｄ２の白色の画素の個数が７８０個であるとする。組立順序生成装置１００は、（１）式を用いて以下のように取り外し易さの程度を算出する。
【００６５】
取り外し易さの程度＝Ｄ２の白色の画素の個数／Ｄ１の白色の画素の個数＊１００
⇔取り外し易さの程度＝７８０／８００＊１００＝９７．５
【００６６】
続けて、組立順序生成装置１００は、算出結果に基づいて、取り外し易さの程度を表す情報を生成する。本実施の形態では、取り外し易さの程度の値に応じた部品の色を設定する。表１００３は、取り外し易さの程度の値に応じた部品の色を示す。
【００６７】
取り外し易さの程度の値が９０〜１００の間であれば、組立順序生成装置１００は、ある部品の色を青色に変化させて表示することにより、取り外し易さの程度を表す情報として、ある部品が取り外し易いことを利用者に認識させる。また、取り外し易さの程度の値が８０〜８９の間であれば、組立順序生成装置１００は、ある部品の色を黄色に変化させて表示することにより、取り外し易さの程度を表す情報として、ある部品が取り外し易くも取り外し難くもないことを利用者に認識させる。また、取り外し易さの程度の値が７９以下であれば、組立順序生成装置１００は、ある部品の色を赤色に変化させて表示することにより、取り外し易さの程度を表す情報として、ある部品が取り外し難いことを利用者に認識させる。さらに、組立順序生成装置１００は、取り外し易さの程度の値が７９以下であれば、ある部品が取り外し難い旨を示すアラートメッセージを表示してもよい。
【００６８】
また、取り外し易さの程度を表す情報が、矢印の長さや太さでもよいことを説明した。取り外し易さの程度を表す情報が矢印の長さである場合、組立順序生成装置１００は、たとえば、取り外し易さの程度の値が９０〜１００の間であれば、ある部品上に、長い矢印を表示し、取り外し易さの程度の値が７９以下であれば、短い矢印を表示してもよい。
【００６９】
また、矢印を複数表示してもよい。たとえば、組立順序生成装置１００は、マウスカーソルがある面の法線ベクトルと、前述の法線ベクトルに平行または垂直な方向という複数の方向から見た取り外し易さの程度を算出し、前述の方向を向いた、取り外し易さの程度に対応する矢印を表示してもよい。図１０の例では、組立順序生成装置１００は、マウスカーソルがある面の法線ベクトルとなる＋Ｘｌ方向と、＋Ｘｌ方向に平行な−Ｘｌ方向と、＋Ｘｌ方向に垂直な＋Ｙｌ方向、−Ｙｌ方向、＋Ｚｌ方向、−Ｚｌ方向とから見た取り外し易さの程度を算出する。そして、組立順序生成装置１００は、＋Ｘｌ方向、−Ｘｌ方向、＋Ｙｌ方向、−Ｙｌ方向、＋Ｚｌ方向、−Ｚｌ方向を向いた、取り外し易さの程度に対応する矢印を表示する。これにより、利用者は、ある部品に対して、どの方向が最も取り外し易いかということを容易に認識することができる。
【００７０】
図１１は、部品のソートの例を示す説明図である。図１１では、利用者によって、あるモデル上でマウスが押下された際に行われる、部品のソートの例を示す。製造フロー画面１１０１は、マウスが押下される前の状態を示す。製造フロー画面１１０２は、マウスが押下された後の状態を示す。製造フロー画面１１０１および製造フロー画面１１０２は、下からのノードの順序が取り外し順序を示し、上からのノードの順序が組立順序を示す。組立順序生成装置１００は、製造フロー画面１１０１の状態において、３Ｄモデルの部品Ｐａｒｔ＿５上にてマウスが押下されたとする。
【００７１】
このとき、組立順序生成装置１００は、部品Ｐａｒｔ＿５の取り外す順序をアセンブリＵｎｉｔの次に設定する。さらに、組立順序生成装置１００は、部品Ｐａｒｔ＿５に関連付けられた締結部品ＳＣＲ＿０１＿０１と、締結部品ＳＣＲ＿０１＿０２の取り外す順序を、部品Ｐａｒｔ＿５の直前に設定する。設定後画面は、製造フロー画面１１０２となる。これにより、組立順序生成装置１００は、部品の選択順序によって組立順序を生成する際に、締結部品を選択しなくてよいため、少ない操作量で組立順序を生成することができる。
【００７２】
次に、図１２〜図１８を用いて、図６〜図１１にて説明した動作を実行するフローチャートについて説明する。
【００７３】
図１２は、組立順序生成処理手順の一例を示すフローチャートである。組立順序生成処理は、利用者による部品選択を用いて、製品の組立順序を生成する処理である。組立順序生成装置１００は、締結部品のキーワードを取得する（ステップＳ１２０１）。次に、組立順序生成装置１００は、締結部品処理を実行する（ステップＳ１２０２）。締結部品処理の詳細は、図１３にて後述する。続けて、組立順序生成装置１００は、３Ｄモデルをディスプレイ２０７に表示する（ステップＳ１２０３）。次に、組立順序生成装置１００は、マウスオーバーした部品があるか否かを判断する（ステップＳ１２０４）。マウスオーバーした部品がない場合（ステップＳ１２０４：Ｎｏ）、組立順序生成装置１００は、一定時間経過後、ステップＳ１２０４の処理を実行する。
【００７４】
マウスオーバーした部品がある場合（ステップＳ１２０４：Ｙｅｓ）、組立順序生成装置１００は、マウスオーバーされた部品に対して、プレハイライト処理を実行する（ステップＳ１２０５）。プレハイライト処理の詳細については、図１５にて後述する。続いて、組立順序生成装置１００は、利用者によって、ある部品が押下されたか否かを判断する（ステップＳ１２０６）。押下された部品がない場合（ステップＳ１２０６：Ｎｏ）、組立順序生成装置１００は、ステップＳ１２０４の処理に移行する。押下された部品がある場合（ステップＳ１２０６：Ｙｅｓ）、組立順序生成装置１００は、押下された部品に対して、ソート処理を実行する（ステップＳ１２０７）。ソート処理の詳細は、図１８にて後述する。
【００７５】
次に、組立順序生成装置１００は、押下された部品を非表示に設定する（ステップＳ１２０８）。続けて、組立順序生成装置１００は、全ての部品を非表示にしたか否かを判断する（ステップＳ１２０９）。まだ表示中の部品がある場合（ステップＳ１２０９：Ｎｏ）、組立順序生成装置１００は、ステップＳ１２０４の処理に移行する。全ての部品が非表示である場合（ステップＳ１２０９：Ｙｅｓ）、組立順序生成装置１００は、製造フローデータ３１３を出力する（ステップＳ１２１０）。ステップＳ１２１０の処理終了後、組立順序生成装置１００は、組立順序生成処理を終了する。組立順序生成処理を実行することにより、組立順序生成装置１００は、利用者に少ない操作量で製品の組立順序を生成することができる。作業者や作業用の製造装置は、出力された製造フローデータ３１３に従って、製品を製造する。
【００７６】
図１３は、締結部品処理手順の一例を示すフローチャートである。締結部品処理は、全ての部品のうちの締結部品に関する処理である。組立順序生成装置１００は、製造フローデータ３１３の最後尾のノードを選択する（ステップＳ１３０１）。次に、組立順序生成装置１００は、種別フラグフィールドを参照して、選択したノードが部品か否かを判断する（ステップＳ１３０２）。選択したノードが部品である場合（ステップＳ１３０２：Ｙｅｓ）、組立順序生成装置１００は、続けて、選択したノードの名称に締結部品のキーワードが含まれるか否かを判断する（ステップＳ１３０３）。
【００７７】
選択したノードの名称に締結部品のキーワードが含まれる場合（ステップＳ１３０３：Ｙｅｓ）、組立順序生成装置１００は、選択したノードの名称を、締結部品リストに追加する（ステップＳ１３０４）。続けて、組立順序生成装置１００は、全てのノードを選択したか否かを判断する（ステップＳ１３０５）。選択したノードが部品でない場合（ステップＳ１３０２：Ｎｏ）、選択したノードの名称に締結部品のキーワードが含まれない場合（ステップＳ１３０３：Ｎｏ）、未選択のノードがある場合（ステップＳ１３０５：Ｎｏ）、組立順序生成装置１００は、次のノードを選択する（ステップＳ１３０６）。ステップＳ１３０６の実行終了後、組立順序生成装置１００は、ステップＳ１３０２の処理に移行する。
【００７８】
全てのノードを選択した場合（ステップＳ１３０５：Ｙｅｓ）、組立順序生成装置１００は、締結部品関連付け処理を実行する（ステップＳ１３０７）。締結部品関連付け処理の詳細については、図１４にて後述する。次に、組立順序生成装置１００は、全ての締結部品を非表示に設定する（ステップＳ１３０８）。ステップＳ１３０８の処理終了後、組立順序生成装置１００は、締結部品処理を終了する。締結部品処理を実行することにより、組立順序生成装置１００は、利用者が製品の組立順序を選択によって生成する前に、締結部品を非表示にするため、利用者が選択する部品数が減少するため、利用者の操作量を少なくすることができる。
【００７９】
図１４は、締結部品関連付け処理手順の一例を示すフローチャートである。締結部品関連付け処理は、締結部品と、締結部品によって締結される被締結部品を関連付ける処理である。組立順序生成装置１００は、製品を形成する全ての部品のバウンディングボックスを生成する（ステップＳ１４０１）。次に、組立順序生成装置１００は、締結部品リスト７０１から、先頭のレコードを選択する（ステップＳ１４０２）。続けて、組立順序生成装置１００は、選択したレコードの締結部品のバウンディングボックスと、他の部品のバウンディングボックスとの交差計算を実行する（ステップＳ１４０３）。次に、組立順序生成装置１００は、交差計算により、交差する他の部品があったか否かを判断する（ステップＳ１４０４）。
【００８０】
交差する他の部品がある場合（ステップＳ１４０４：Ｙｅｓ）、組立順序生成装置１００は、交差する他の部品を被締結部品として、被締結部品に選択したレコードの締結部品を関連付けて、締結部品関連リスト７０２に追加する（ステップＳ１４０５）。ステップＳ１４０５の処理実行後、または交差する他の部品がない場合（ステップＳ１４０４：Ｎｏ）、組立順序生成装置１００は、締結部品リスト７０１の全てのレコードを選択したか否かを判断する（ステップＳ１４０６）。未選択のレコードがある場合（ステップＳ１４０６：Ｎｏ）、組立順序生成装置１００は、次のレコードを選択する（ステップＳ１４０７）。ステップＳ１４０７の終了後、組立順序生成装置１００は、ステップＳ１４０２の処理に移行する。全てのレコードを選択した場合（ステップＳ１４０６：Ｙｅｓ）、組立順序生成装置１００は、締結部品関連付け処理を終了する。締結部品関連付け処理を実行することにより、組立順序生成装置１００は、締結部品に締結される被締結部品を特定できる。
【００８１】
図１５は、プレハイライト処理手順の一例を示すフローチャートである。プレハイライト処理は、マウスオーバー時に行われる、取り外し易さの程度を表す情報を表示する処理である。
【００８２】
組立順序生成装置１００は、取り外し易さの程度の更新処理を実行する（ステップＳ１５０１）。取り外し易さの程度の更新処理の詳細は、図１６にて後述する。次に、組立順序生成装置１００は、締結部品関連リスト７０２を参照して、押下された部品に関連する締結部品があるか否かを判断する（ステップＳ１５０２）。押下された部品に関連する締結部品がある場合（ステップＳ１５０２：Ｙｅｓ）、組立順序生成装置１００は、締結部品関連リストから、押下された部品に関連する締結部品を選択する（ステップＳ１５０３）。続けて、組立順序生成装置１００は、変更対象部品を、押下された部品と、選択された締結部品とに設定する（ステップＳ１５０４）。また、押下された部品に関連する締結部品がない場合（ステップＳ１５０２：Ｎｏ）、組立順序生成装置１００は、変更対象部品を、押下された部品に設定する（ステップＳ１５０５）。
【００８３】
ステップＳ１５０４、またはステップＳ１５０５の処理終了後、組立順序生成装置１００は、変更対象部品の色を、取り外し易さの程度に応じた色に変更する（ステップＳ１５０６）。ステップＳ１５０６の処理終了後、組立順序生成装置１００は、プレハイライト処理を終了する。プレハイライト処理を実行することにより、組立順序生成装置１００は、取り外し易さの程度を直感的に利用者に提示することができる。
【００８４】
図１６は、取り外し易さの程度の更新処理手順の一例を示すフローチャートである。取り外し易さの程度の更新処理は、３Ｄモデルデータ３１２の得点フィールドに格納された、取り外し易さの程度の値を更新する処理である。組立順序生成装置１００は、マウスカーソルの位置にある部品を検出する（ステップＳ１６０１）。次に、組立順序生成装置１００は、検出した部品のマウスカーソルがある面の法線方向に対する、取り外し易さの程度の算出処理を実行する（ステップＳ１６０２）。取り外し易さの程度の算出処理の詳細については、図１７にて後述する。
【００８５】
続けて、組立順序生成装置１００は、算出した取り外し易さの程度の値を、３Ｄモデルデータの検出した部品に対応する得点フィールドに格納する（ステップＳ１６０３）。ステップＳ１６０３の処理終了後、組立順序生成装置１００は、取り外し易さの程度の更新処理を終了する。取り外し易さの程度の更新処理を実行することにより、組立順序生成装置１００は、マウスカーソルが当たった部品の得点フィールドを更新することができる。
【００８６】
図１７は、取り外し易さの程度の算出処理手順の一例を示すフローチャートである。取り外し易さの程度の算出処理は、指定された方向から、検出された部品を見たときの取り外し易さの程度を算出する処理である。指定された方向は、検出した部品のマウスカーソルがある面の法線方向となる。
【００８７】
組立順序生成装置１００は、特定の大きさを有する描画領域を確保する（ステップＳ１７０１）。続けて、組立順序生成装置１００は、描画領域の背景色を黒に設定する（ステップＳ１７０２）。次に、組立順序生成装置１００は、検出された部品を表示して、検出された部品の色を白色に設定するとともに、製品に含まれる部品のうちの検出された部品以外の他の部品を非表示に設定する（ステップＳ１７０３）。続けて、組立順序生成装置１００は、指定された方向からの視点方向で、検出された部品が描画領域に収まる表示倍率で検出された部品を描画領域に投影する（ステップＳ１７０４）。次に、組立順序生成装置１００は、描画領域内の白色の画素数をカウントする（ステップＳ１７０５）。
【００８８】
続けて、組立順序生成装置１００は、他の部品を表示して、他の部品の色を黒色に設定する（ステップＳ１７０６）。次に、組立順序生成装置１００は、指定された方向からの視点方向で、検出された部品が描画領域に収まる表示倍率で検出された部品を描画領域に投影する（ステップＳ１７０７）。続けて、組立順序生成装置１００は、描画領域内の白色の画素数をカウントする（ステップＳ１７０８）。次に、組立順序生成装置１００は、取り外し易さの程度を算出する（ステップＳ１７０９）。具体的に、組立順序生成装置１００は、ステップＳ１７０８の処理で得た画素数／ステップＳ１７０５の処理で得た画素数＊１００を、取り外し易さの程度として算出する。ステップＳ１７０９の処理終了後、組立順序生成装置１００は、取り外し易さの程度の算出処理を終了する。取り外し易さの程度の算出処理を実行することにより、組立順序生成装置１００は、指定された方向における取り外し易さの程度を取得することができる。
【００８９】
図１８は、ソート処理手順の一例を示すフローチャートである。ソート処理は、押下された部品の取り外す順序を入れ替える処理である。組立順序生成装置１００は、締結部品関連リスト７０２を参照して、押下された部品に関連する締結部品があるか否かを判断する（ステップＳ１８０１）。押下された部品に関連する締結部品がある場合（ステップＳ１８０１：Ｙｅｓ）、組立順序生成装置１００は、締結部品関連リスト７０２から、押下された部品に関連する締結部品を選択する（ステップＳ１８０２）。次に、組立順序生成装置１００は、選択した締結部品の取り外し順序を、押下された部品の直前に設定する（ステップＳ１８０３）。続けて、組立順序生成装置１００は、押下された部品と選択した締結部品とを、ソート対象部品に設定する（ステップＳ１８０４）。
【００９０】
また、押下された部品に関連する締結部品がない場合（ステップＳ１８０１：Ｎｏ）、組立順序生成装置１００は、押下された部品を、ソート対象部品に設定する（ステップＳ１８０５）。
【００９１】
ステップＳ１８０４、またはステップＳ１８０５の処理後、組立順序生成装置１００は、ソート対象部品の取り外し順序を、前回押下された部品の次に設定する（ステップＳ１８０６）。ステップＳ１８０６の処理終了後、組立順序生成装置１００は、ソート処理を終了する。ソート処理を実行することにより、組立順序生成装置１００は、１回のクリック操作によって、クリックにより選択された部品と共に、関連付いた締結部品の取り外す順序を設定するため、利用者の操作量を低減することができる。
【００９２】
以上説明したように、組立順序生成装置１００によれば、利用者が選択した部品を画面上から消すとともに選択順を記憶して、選択順の逆順を製品の組立順序とする。これにより、組立順序生成装置１００は、製品の組立順序内の部品の組み付ける順序を決める１回の操作がクリック操作１回になるので、利用者の操作量の低減化を図る。また、組立順序生成装置１００は、製品の組立順序を決める操作がクリック操作となるため、ドラッグ＆ドロップ操作やカット＆ペースト操作に比べて、製品の組立順序を決める際の処理量を低減することができる。具体的に、ドラッグ＆ドロップ操作は、ドラッグ中のアイコンそのもの、またはアイコンの枠の描画処理が発生し、カット＆ペースト操作は、コンテキストメニューの描画処理が発生する。クリック操作は、前述のような描画処理が発生しないため、組立順序生成装置１００は、処理量を低減することができる。
【００９３】
また、組立順序生成装置１００は選択した部品を非表示にして、３Ｄモデルが分解された状態を再現するため、利用者は、実際の製造フロー検討業務で行う思考を変えずに組立順序生成装置１００を操作することができる。また、組立順序生成装置１００は、ドラッグ＆ドロップ操作や、カット＆ペースト操作等の操作にかかる時間より、操作にかかる時間が短いため、より高速に製品の組立順序を生成でき、また、利用者の思考を妨げる時間を短くすることができる。
【００９４】
また、組立順序生成装置１００によれば、締結部品と締結部品に締結される非締結部品とを関連付けて記憶してもよい。関連付けられた情報を用いることにより、組立順序生成装置１００は、利用者のクリックの回数をさらに低減することができる。具体的に、３Ｄモデルに含まれる部品の数をｎとし、３Ｄモデルに含まれる締結部品の数をｍとすると、組立順序生成装置１００は、ｎ−ｍ回のクリック回数で製品の組立順序を生成することができる。また、組立順序生成装置１００が、製品の組立順序を生成するモードと、部品の移動、回転等を行う通常のモードとを切り分けることが可能であってもよい。この場合、組立順序生成装置１００は、通常のモードから製品の組立順序を生成するモードに切り替えて、製品の組立順序を生成後に、通常のモードに切り替えることになる。上述の動作でも、ｎ−ｍ＋２回のクリック回数で製品の組立順序を生成することができる。
【００９５】
また、組立順序生成装置１００によれば、選択された部品の取り外し易さの程度を表す情報を表示してもよい。これにより、組立順序生成装置１００は、利用者に部品の取り外し易さの程度を通知することができるため、利用者は、部品の取り外しの知識が少なくても、信頼のある製品の組立順序を生成することができる。
【００９６】
なお、本実施の形態で説明した組立順序生成方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本組立順序生成プログラムは、ハードディスク、フレキシブルディスク、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭ、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本組立順序生成プログラムは、インターネット等のネットワークを介して配布してもよい。
【００９７】
上述した実施の形態に関し、さらに以下の付記を開示する。
【００９８】
（付記１）３Ｄモデルを表示部に表示し、
表示された前記３Ｄモデルに含まれる複数の部品が順に選択されると、選択された該複数の部品を非表示にし、
前記複数の部品の選択順序と逆の順を前記３Ｄモデルの組立順序として記憶部に記憶する、
ことを特徴とする組立順序生成プログラム。
【００９９】
（付記２）前記３Ｄモデルの複数の部品は締結部品を含み、
ある部品が前記締結部品によって前記３Ｄモデルに締結されている場合、該ある部品が選択されると、該ある部品を締結する部品を特定し、
特定した前記ある部品と前記ある部品を締結する部品とを関連付けて前記組立順序を記憶する、
ことを特徴とする付記１に記載の組立順序生成プログラム。
【０１００】
（付記３）前記３Ｄモデルの複数の部品は締結部品を含み、
前記締結部品は予め非表示としていることを特徴とする付記２に記載の組立順序生成プログラム。
【０１０１】
（付記４）前記３Ｄモデルの部品を選択すると、部品の取り外し易さを示す程度を算出し、取り外し易さに応じて、取り外し易さの程度を表す情報を前記表示部に表示することを特徴とする付記１に記載の組立順序生成プログラム。
【０１０２】
（付記５）３Ｄモデルを表示部に表示し、
表示された前記３Ｄモデルに含まれる複数の部品が順に選択されると、選択された該複数の部品を非表示にし、
前記複数の部品の選択順序と逆の順を前記３Ｄモデルの組立順序として記憶部に記憶する、
処理をコンピュータに実行させる組立順序生成プログラムを記録したことを特徴とする記録媒体。
【０１０３】
（付記６）３Ｄモデルを表示部に表示させる表示制御部と、
前記表示部に表示された前記３Ｄモデルに含まれる複数の部品が順に選択されると、選択された該複数の部品を非表示に設定する設定部と、
前記複数の部品の選択順序と逆の順を前記３Ｄモデルの組立順序として記憶部に格納する格納部と、
を有することを特徴とする組立順序生成装置。
【０１０４】
（付記７）３Ｄモデルを表示部に表示させる表示制御部と、
前記表示部に表示された前記３Ｄモデルに含まれる複数の部品が順に選択されると、選択された該複数の部品を非表示に設定する設定部と、
前記複数の部品の選択順序と逆の順を前記３Ｄモデルの組立順序として記憶部に格納する格納部と、
を有するコンピュータを含むことを特徴とする組立順序生成装置。
【０１０５】
（付記８）製品を模した３Ｄモデルを表示部に表示し、
表示された前記３Ｄモデルに含まれる複数の部品が順に選択されると、選択された該複数の部品を非表示にし、
前記複数の部品の選択順序と逆の順を前記３Ｄモデルの組立順序として記憶部に記憶し、
記憶した前記組立順序に従って前記製品を製造する、
ことを特徴とする製造方法。
【符号の説明】
【０１０６】
１００  組立順序生成装置
１０１  ３Ｄモデル
１０２  表示部
１１０  記憶部
３０１  表示制御部
３０２  設定部
３０３  特定部
３０４  格納部
３１１  部品データ
３１２  ３Ｄモデルデータ
３１３  製造フローデータ
【図１】
2014091189.tif 000003
【図２】
2014091189.tif 000004
【図３】
2014091189.tif 000005
【図４】
2014091189.tif 000006
【図５】
2014091189.tif 000007
【図６】
2014091189.tif 000008
【図７】
2014091189.tif 000009
【図８】
2014091189.tif 000010
【図９】
2014091189.tif 000011
【図１０】
2014091189.tif 000012
【図１１】
2014091189.tif 000013
【図１２】
2014091189.tif 000014
【図１３】
2014091189.tif 000015
【図１４】
2014091189.tif 000016
【図１５】
2014091189.tif 000017
【図１６】
2014091189.tif 000018
【図１７】
2014091189.tif 000019
【図１８】
2014091189.tif 000020