(57)【要約】      （修正有）【課題】複数部品の組立工程と組立順序の生成装置を提供する。【解決手段】複数部品毎の部品属性と部品配置と他の部品との隣接関係情報を３ＤＣＡＤモデルから抽出する情報取得部１１１と、３ＤＣＡＤモデルから指定した特徴形状を検出し、各特徴形状の径方向に存在する部品の検出及び検出した部品の軸方向に存在する部品を検出する部品検出部１２１と、部品をノード、部品間の結合優先関係を有向エッジとする有向グラフ生成部１２２と、部品間の隣接関係情報に基づき部品をノード、隣接関係をエッジとしたアセンブリグラフ生成部１１４と、結合優先関係とアセンブリグラフに基づき結合されていない部品を検出する未結合部検出部１１６と、検出した未結合部のリストに対し作業内容、作業順位を追加して、有向グラフ生成部１２２の処理へ戻る作業順位追加部１１７と、分解可能な方向、分解順序を生成、逆変換を行う組立順序、組立方向生成部１１５とを備えた。【選択図】図１
2015171736.tif 000002
【特許請求の範囲】
【請求項１】
組立品を構成する複数の部品を順次組み立てる組立工程と組立順序の生成装置であって、
複数の部品のそれぞれの部品属性と部品配置と他の部品との隣接関係の情報を３ＤＣＡＤモデルから抽出する情報取得部と、
前記３ＤＣＡＤモデルの情報から部品種別を分類する部品種別分類部と、
前記３ＤＣＡＤモデルから、指定した特徴形状を検出する特徴形状検出部と、
前記３ＤＣＡＤモデルにおいて、検出された各特徴形状の径方向に存在する部品の検出、および検出した部品の軸方向に存在する部品を検出する部品検出部と、
前記部品検出結果に基づいて、部品をノード、部品間の結合優先関係を有向エッジとしたグラフを生成する結合優先関係の有向グラフ生成部と、
前記結合優先関係に基づいて、分解単位および分解順序案を生成する分解順序案生成部と、
前記３ＤＣＡＤモデル情報の部品間の隣接関係情報に基づいて、部品をノード、隣接関係をエッジとした部品間の関係を表わすアセンブリグラフを生成するアセンブリグラフ生成部と、
前記結合優先関係と、前記アセンブリグラフに基づいて、結合されていない部品を検出する未結合部検出部と、
検出した未結合部のリストに対し作業内容、作業順位を追加して、前記結合優先関係の有向グラフ生成部の処理へ戻る作業順位追加部と、
前記生成した分解単位および分解順序案およびアセンブリグラフに基づいて、分解可能な方向、および分解順序を生成することで、その逆変換を行い組立順序、組立方向を導出する組立順序・方向・動作生成部と、を備えたことを特徴とする組立順序生成装置。
【請求項２】
前記部品検出部は、前記特徴形状の径方向に光線走査を行い締結部品を検出し、該締結部品の軸方向に光線走査を行い、該締結部品を分解する上で障害となり得る他の部品を検出し、
前記結合優先関係の有向グラフ生成部は、前記部品検出部が検出した前記締結部品が係わる被締結部品との関係、および前記締結部品を分解する上で障害となる他部品との関係を結合優先関係として表わし、部品ＩＤをノード、部品と部品の結合優先関係を有向エッジで表わすグラフを生成することを特徴とする請求項１に記載の組立順序生成装置。
【請求項３】
前記分解順序案生成部は、前記結合優先関係の有向グラフ生成部が生成した有向グラフにおいて、インナーエッジが無いノードは締結部品、インナーエッジが有るノードは分解不可と判定し、インナーエッジとアウターエッジの出入り数の差を計算して、正の値となった部品ノードをベース部品と判定して、該ベース部品までに入力するインナーエッジに接続された部品の纏まりを部組として区分けして、各部組ごとに分解順序を導出して、それらを総合して分解順序案を生成することを特徴とする請求項１に記載の組立順序生成装置。
【請求項４】
前記未結合部検出部は、前記３ＤＣＡＤモデル情報から作成した前記結合優先関係、および前記アセンブリグラフに基づいて、隣接関係を持つが、結合優先関係を持たない部品同士を未結合部として検出し、
前記未結合部を構成する部品と隣接部品、および隣接関係の情報の未結合部リストを出力することを特徴とする請求項１に記載の組立順序生成装置。
【請求項５】
前記未結合部検出部は、未結合部を検出して未結合部リストを作成し、
前記未結合部内の特徴形状を取得して、特徴形状の軸方向ベクトルと中心点間ベクトルが同じ方向のものをグループ化して、各グループ毎に、特徴形状の中心点間距離が隣接した特徴形状のそれぞれの半分の長さと所定のクリアランス値を加えた値以下である場合に隣接した特徴形状の部位であると判定し、隣接部位内の特徴形状の最小直径に収まる締結部品候補案を前記未結合部リストに出力することを特徴とする請求項４に記載の組立順序生成装置。
【請求項６】
記憶部に、未結合部の隣接関係、隣接した部品の部品種別の組合せ、判定するための形状・寸法の条件、を検索キーとして、作業内容、作業順位の生成条件を引き当てる作業類推テーブルを備え、
前記作業順位追加部は、前記未結合部検出部が作成した未結合部リストにおいて、未結合部の隣接関係、未結合部の部品の部品種別、形状・寸法の条件を検索キーとして、前記作業類推テーブルを検索して、前記未結合部リストの該当未結合部の行の作業内容、作業順位容を類推することを特徴とする請求項４に記載の組立順序生成装置。
【請求項７】
前記未結合部検出部は、前記３ＤＣＡＤモデル情報から未結合部を検出した結果を表示部に未結合部リストを出力し、
前記作業順位追加部は、表示部にユーザインタフェースを表示して、ユーザより未結合部リストに新たな行の追加の指示を受付けて、ユーザより新規部品、作業内容、作業順位の入力を受付けて新たな未結合部の行を作成して、前記結合優先関係の有向グラフ生成部の処理を再度実行することを特徴とする請求項４に記載の組立順序生成装置。
【請求項８】
組立品を構成する複数の部品を順次組み立てる組立工程と組立順序の情報を、コンピュータを用いて生成する組立順序生成方法であって、
前記コンピュータによる処理ステップとして、
複数の部品のそれぞれの部品属性と部品配置と他の部品との隣接関係の情報を３ＤＣＡＤモデルから抽出する情報取得ステップと、
前記３ＤＣＡＤモデルの情報から部品種別を分類する部品種別分類ステップと、
前記３ＤＣＡＤモデルから、指定した特徴形状を検出する特徴形状検出ステップと、
前記３ＤＣＡＤモデルにおいて、検出された各特徴形状の径方向に存在する部品の検出、および検出した部品の軸方向に存在する部品を検出する部品検出ステップと、
前記部品検出結果に基づいて、部品をノード、部品間の結合優先関係を有向エッジとしたグラフを生成する結合優先関係の有向グラフ生成ステップと、
前記結合優先関係に基づいて、分解単位および分解順序案を生成する分解順序案生成ステップと、
前記３ＤＣＡＤモデル情報の部品間の隣接関係情報に基づいて、部品をノード、隣接関係をエッジとした部品間の関係を表わすアセンブリグラフを生成するアセンブリグラフ生成ステップと、
前記結合優先関係と、前記アセンブリグラフに基づいて、結合されていない部品を検出する未結合部検出ステップと、
検出した未結合部のリストに対し作業内容、作業順位を追加して、前記結合優先関係の有向グラフ生成ステップの処理へ戻る作業順位追加ステップと、
前記生成した分解単位および分解順序案およびアセンブリグラフに基づいて、分解可能な方向、および分解順序を生成することで、その逆変換を行い組立順序、組立方向を導出する組立順序・方向・動作生成ステップと、を有することを特徴とする組立順序生成方法。
【請求項９】
前記部品検出ステップは、前記特徴形状の径方向に光線走査を行い締結部品を検出し、該締結部品の軸方向に光線走査を行い、該締結部品を分解する上で障害となり得る他の部品を検出し、
前記結合優先関係の有向グラフ生成ステップは、前記部品検出部が検出した前記締結部品が係わる被締結部品との関係、および前記締結部品を分解する上で障害となる他部品との関係を結合優先関係として表わし、部品ＩＤをノード、部品と部品の結合優先関係を有向エッジで表わすグラフを生成することを特徴とする請求項８に記載の組立順序生成方法。
【請求項１０】
前記分解順序案生成ステップは、前記結合優先関係の有向グラフ生成部が生成した有向グラフにおいて、インナーエッジが無いノードは締結部品、インナーエッジが有るノードは分解不可と判定し、インナーエッジとアウターエッジの出入り数の差を計算して、正の値となった部品ノードをベース部品と判定して、該ベース部品までに入力するインナーエッジに接続された部品の纏まりを部組として区分けして、各部組ごとに分解順序を導出して、それらを総合して分解順序案を生成することを特徴とする請求項８に記載の組立順序生成方法。
【請求項１１】
前記未結合部検出ステップは、前記３ＤＣＡＤモデル情報から作成した前記結合優先関係、および前記アセンブリグラフに基づいて、隣接関係を持つが、結合優先関係を持たない部品同士を未結合部として検出し、
前記未結合部を構成する部品と隣接部品、および隣接関係の情報の未結合部リストを出力することを特徴とする請求項８に記載の組立順序生成方法。
【請求項１２】
前記未結合部検出ステップは、未結合部を検出して未結合部リストを作成し、
前記未結合部内の特徴形状を取得して、特徴形状の軸方向ベクトルと中心点間ベクトルが同じ方向のものをグループ化して、各グループ毎に、特徴形状の中心点間距離が隣接した特徴形状のそれぞれの半分の長さと所定のクリアランス値を加えた値以下である場合に隣接した特徴形状の部位であると判定し、隣接部位内の特徴形状の最小直径に収まる締結部品候補案を前記未結合部リストに出力することを特徴とする請求項１１に記載の組立順序生成方法。
【請求項１３】
記憶部に、未結合部の隣接関係、隣接した部品の部品種別の組合せ、判定するための形状・寸法の条件、を検索キーとして、作業内容、作業順位の生成条件を引き当てる作業類推テーブルを備え、
前記作業順位追加ステップは、前記未結合部検出ステップが作成した未結合部リストにおいて、未結合部の隣接関係、未結合部の部品の部品種別、形状・寸法の条件を検索キーとして、前記作業類推テーブルを検索して、前記未結合部リストの該当未結合部の行の作業内容、作業順位を類推することを特徴とする請求項１１に記載の組立順序生成方法。
【請求項１４】
前記未結合部検出ステップは、前記３ＤＣＡＤモデル情報から未結合部を検出した結果を表示部に未結合部リストを出力し、
前記作業順位追加ステップは、表示部にユーザインタフェースを表示して、ユーザより未結合部リストに新たな行の追加の指示を受付けて、ユーザより新規部品、作業内容、作業順位の入力を受付けて新たな未結合部の行を作成して、前記結合優先関係の有向グラフ生成ステップの処理を再度実行することを特徴とする請求項１１に記載の組立順序生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組立品のＣＡＤデータから部品の組立順序を生成する組立順序生成装置および組立順序生成方法に関する。
【背景技術】
【０００２】
本技術分野の背景技術として、特許第３６８９２２６号公報（特許文献１）がある。この公報には、「分解している途中の状態における、分解中の部品と残存する部品との間の、最接近距離と干渉の発生の判定とを含む演算を実行する干渉演算手段と、前記干渉演算手段に前記演算を実行させながら、部品どうしの干渉の発生を免れた分解経路を探索する手段を備えた構成」と記載されている。
【０００３】
また、特許第３７０５６７２号公報（特許文献２）がある。この公報には、「組立作業計画に必要な部品間の接続情報、生成される半組立品、部品の組付け順序、ロボット、治具等の情報を付加したＣＡＤデータを入力する手段と、前記ＣＡＤデータに基づいて製品の組立に必要な各部品について、部品単位の接続情報を軸方向ごとのリエゾングラフにより記述する手段と、前記リエゾングラフと治具対象の部品、拘束条件に基づいて、組立順序ペトリネットを生成する手段を備えた構成」と記載されている。
【０００４】
また、特許第４５０５２７７号公報（特許文献３）がある。この公報には、「製品を構成する部品の属性情報を部品ごとにそれぞれ記憶する部品情報記憶部と、前記部品の注記情報を記憶する注記情報記憶部と、前記部品と他の部品との部品関係情報を記憶する部品関係情報記憶部と、前記作業対象部品及びその作業対象部品に対して作業上関連する部品について、前記部品情報記憶部、前記注記情報記憶部、前記部品関係情報記憶部を検索して作業内容と注記事項を作業ごとに生成する注記生成部と、前記アセンブリ構造図、作業図、作業内容、注記事項をレイアウトして作業指図書を作成する作業指図書作成部を具備することを特徴とする作業指図書作成装置」と記載されている。
【０００５】
また、３ＤＣＡＤを活用する支援ツールの中にはボルトなどの標準部品について、３ＤＣＡＤの穴形状に対応する部品を検索して配置する機能がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３６８９２２６号公報
【特許文献２】特許第３７０５６７２号公報
【特許文献３】特許第４５０５２７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前記特許文献１では、分解経路を探索するために分解途中の状態で干渉演算を行う必要がある。また、前記特許文献２では、組立作業計画に必要な半組立品の状態、部品の組付け順序をＣＡＤデータに付加する必要がある。また、前記特許文献３では、作業指示図を作成するために注記情報と部品関係情報を検索して作業内容と注記事項を作成しており、部品の組合せ関係に応じた注記事項を生成しているが、円筒穴や面など作業部位の形状の組合せではなく部品の組合せと注記事項の対応づけのため、正しく情報を引き当てられないことがある。また組立工程や組立順序を生成するものではない。
【０００８】
前記３ＤＣＡＤ支援ツールの中の機能では、穴形状に対応する締結部品などを検索して配置することはできる。しかし構想設計段階のように不確定な状態では締結部品をモデリングせずに検討を進めることが多い。また大規模な組立品モデルを３ＤＣＡＤモデリングする場合は、ＣＡＤ操作のレスポンス向上を図るために敢えて標準部品をモデリングしないことが多い。そのためこのようにボルトなどを自動配置することで修正工数が発生したり、ＣＡＤのレスポンス低下の要因となる。しかし組立工程や組立順序を検討する上では締結部品などの情報は必要である。
【０００９】
本発明は、構想設計段階の３次元の組立品モデル（３ＤＣＡＤモデル）や大規模な組立品の３ＤＣＡＤモデルにおいて、部品間の隣接関係、部品間の結合優先関係を算出し、その関係図をもとに、自由度のある部品すなわち未結合部品を自動検出する。検出した未結合部品と隣接関係のある部品において、隣接した部位形状の組合せ関係から作業順序と作業内容を引き当て、その結果となる部分的な作業順序を前記結合優先関係に追加する。これら隣接関係と結合優先関係を含めた情報をもとに、組立工程と組立順序を導出し、その組立順序案にもとづき作業性評価を行うことで、設計段階での組立順序を自動計算する組立順序生成装置、および組立順序生成方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために本発明では、組立品を構成する複数の部品を順次組み立てる組立工程と組立順序の生成装置を、複数の部品のそれぞれの部品属性と部品配置と他の部品との隣接関係の情報を３ＤＣＡＤモデルから抽出する情報取得部と、前記３ＤＣＡＤモデルの情報から部品種別を分類する部品種別分類部と、前記３ＤＣＡＤモデルから、指定した特徴形状を検出する特徴形状検出部と、前記３ＤＣＡＤモデルにおいて、検出された各特徴形状の径方向に存在する部品の検出、および検出した部品の軸方向に存在する部品を検出する部品検出部と、前記部品検出結果に基づいて、部品をノード、部品間の結合優先関係を有向エッジとしたグラフを生成する結合優先関係の有向グラフ生成部と、前記結合優先関係に基づいて、分解単位および分解順序案を生成する分解順序案生成部と、前記３ＤＣＡＤモデル情報の部品間の隣接関係情報に基づいて、部品をノード、隣接関係をエッジとした部品間の関係を表わすアセンブリグラフを生成するアセンブリグラフ生成部と、前記結合優先関係と、前記アセンブリグラフに基づいて、結合されていない部品を検出する未結合部検出部と、検出した未結合部のリストに対し作業内容、作業順位を追加して、前記結合優先関係の有向グラフ生成部の処理へ戻る作業順位追加部と、前記生成した分解単位および分解順序案およびアセンブリグラフに基づいて、分解可能な方向、および分解順序を生成することで、その逆変換を行い組立順序、組立方向を導出する組立順序・方向・動作生成部とを備えて構成した。
【００１１】
また、上記課題を解決するために本発明では、前記組立順序生成装置において、前記部品検出部は、前記特徴形状の径方向に光線走査を行い締結部品を検出し、該締結部品の軸方向に光線走査を行い、該締結部品を分解する上で障害となり得る他の部品を検出し、前記結合優先関係の有向グラフ生成部は、前記部品検出部が検出した前記締結部品が係わる被締結部品との関係、および前記締結部品を分解する上で障害となる他部品との関係を結合優先関係として表わし、部品ＩＤをノード、部品と部品の結合優先関係を有向エッジで表わすグラフを生成することを特徴とする。
【００１２】
また、上記課題を解決するために本発明では、前記組立順序生成装置において、前記未結合部検出部は、前記３ＤＣＡＤモデル情報から作成した前記結合優先関係、および前記アセンブリグラフに基づいて、隣接関係を持つが、結合優先関係を持たない部品同士を未結合部として検出し、前記未結合部を構成する部品と隣接部品、および隣接関係の情報の未結合部リストを出力することを特徴とする。
【００１３】
また、上記課題を解決するために本発明では、組立品を構成する複数の部品を順次組み立てる組立工程と組立順序の情報を、コンピュータを用いて生成する組立順序生成方法において、前記コンピュータによる処理ステップとして、複数の部品のそれぞれの部品属性と部品配置と他の部品との隣接関係の情報を３ＤＣＡＤモデルから抽出する情報取得ステップと、前記３ＤＣＡＤモデルの情報から部品種別を分類する部品種別分類ステップと、前記３ＤＣＡＤモデルから、指定した特徴形状を検出する特徴形状検出ステップと、前記３ＤＣＡＤモデルにおいて、検出された各特徴形状の径方向に存在する部品の検出、および検出した部品の軸方向に存在する部品を検出する部品検出ステップと、前記部品検出結果に基づいて、部品をノード、部品間の結合優先関係を有向エッジとしたグラフを生成する結合優先関係の有向グラフ生成ステップと、前記結合優先関係に基づいて、分解単位および分解順序案を生成する分解順序案生成ステップと、前記３ＤＣＡＤモデル情報の部品間の隣接関係情報に基づいて、部品をノード、隣接関係をエッジとした部品間の関係を表わすアセンブリグラフを生成するアセンブリグラフ生成ステップと、前記結合優先関係と、前記アセンブリグラフに基づいて、結合されていない部品を検出する未結合部検出ステップと、検出した未結合部のリストに対し作業内容、作業順位を追加して、前記結合優先関係の有向グラフ生成ステップの処理へ戻る作業順位追加ステップと、前記生成した分解単位および分解順序案およびアセンブリグラフに基づいて、分解可能な方向、および分解順序を生成することで、その逆変換を行い組立順序、組立方向を導出する組立順序・方向・動作生成ステップとを有するようにした。
【発明の効果】
【００１４】
本発明によれば、設計段階の３次元の組立品モデルを利用して、未結合部を自動検出し、追記した作業内容と作業順位を加えた情報を基に、組立単位、組立順序、組付け方向を自動的に導出することが可能となり、この結果を基に設計段階での組立性評価の検証時間の短縮、設計手戻りの削減の効果が得られる。またＣＡＤモデルとして自動配置はしないため、ＣＡＤ操作のレスポンス低下は発生しない。また構想設計段階の組立品モデルやプラントなど大規模な組立品モデルには、締結部品など標準部品がモデリングされていないケースがある。また溶接作業など３次元の組立品モデルのみでは判断できない作業がある。本発明により未結合部を自動的に検出した上で、組立工程や組立順序を導出して、組立性を検証することで、未決定部のある構想設計段階の組立品モデルにおいて組立性を検証する際に設計者の負担が軽減され、設計変更の度に容易に検証を行うことができる。また大規模な組立品モデルにおいて、３次元ＣＡＤモデル内に標準部品を多数モデリングすると、表示のパフォーマンスが落ちるため省略することがあるが、本発明により未結合部を自動的に検出した上で、隣接した部位形状の位置姿勢をもとに作業内容と作業順位を検索して、組立工程や組立順序を導出することで、簡略化した大規模な組立品モデルにて作業順序を生成することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１５】
【図１】本発明の組立順序生成装置の概略全体構成図の例である。
【図２】本発明の実施例に係る３ＤＣＡＤデータを基に組立順序および組立工程を生成、組立シーケンス計算結果を出力する処理までの手順を説明するフローチャートの例である。
【図３】組立順序生成装置の記憶部に格納された３ＤＣＡＤモデル情報テーブルの例である。
【図４】組立順序生成装置の記憶部に格納された部品種別情報テーブルの例である。
【図５】組立品モデルから円筒穴、片円筒、円環リングを検出した結果の例である。
【図６】円筒穴の径方向に光線を操作して検出した部品とその距離の出力例である。
【図７】締結部品の中心から重心のベクトルの計算結果の例である。
【図８】締結部品の分解方向の障害部品の検出方法の説明図における(a)組立状態、（ｂ）締結部が外れた状態、（ｃ）締結部品が抜けた状態を示す図である。
【図９】締結部品の分解方向（軸方向）に光線を走査した結果の出力例である。
【図１０】光線走査結果のリストと結合優先関係の説明図である。
【図１１】３ＤＣＡＤモデルを説明する図である。
【図１２】図１１のモデルの結合優先関係グラフを説明する図である。
【図１３】図１２に対し同じ名称で同じ組付け方向の部品を集約した結合優先グラフを説明する図である。
【図１４】図１３において501〜503を分解した状態を示す図である。
【図１５】図１３の結合優先関係グラフから生成した組立工程を示す図である。
【図１６】組立工程生成のための矢出入り数の算出の例を示す図である。
【図１７】図１６の矢の出入り数を基に組立工程を導出した例を示す図である。
【図１８】図１７の導出した組立工程を説明した図である。
【図１９】図１３の結合優先関係グラフにおいて分解時に障害と検出した部品の順序を考慮した組立工程を導出した例を示す図である。
【図２０】図１９の導出した組立工程を説明した図である。
【図２１】個別に定義した組立工程決定ルールについての説明図である。
【図２２】アセンブリグラフの例を示す図である。
【図２３】分解順序、分解運動の導出と組立順序、組立動作への変換の処理フローを示すフローチャートの説明図である。
【図２４】結合部の情報が不足している組立品モデルの説明図である。
【図２５】図２４の組立品モデルを基に生成した結合優先関係と隣接関係の統合アセンブリグラフの説明図である。
【図２６】未結合部のリストと３D表示の説明図である。
【図２７】作業類推テーブルの説明図である。
【図２８】円筒穴の隣接関係を基にした締結関係の類推方法の例を説明する説明図である。
【図２９】円筒穴の隣接関係を基にした締結関係の類推方法の例を説明するフローチャートである。
【図３０】図２６のリストを基に追加生成した結合優先関係と隣接関係の統合アセンブリグラフの説明図である。
【図３１】３Ｄ注記情報の例を示す説明図である。
【発明を実施するための形態】
【００１６】
以下、図面を用いて本発明を実施例により説明する。
【実施例１】
【００１７】
本実施例では、図１に示す３ＤＣＡＤ装置２００において設計された製品の３ＤＣＡＤデータをもとに部品種別の分類と特徴形状の検出と結合優先関係の生成および部品間の隣接関係を統合したアセンブリグラフを生成して、製品組立順序、組付け方向、動作を生成する組立順序生成装置１００を説明する。
【００１８】
図１は、本発明の第一の実施例で適用される組立順序生成装置１００の概略全体構成図の例を示す。この組立順序生成装置１００は、キーボード、マウスなど、解析のために必要な設定情報の入力、メニューに選択指示、あるいはその他の指示等を入力する入力部１４０、評価対象モデルの表示、入力情報の表示、処理結果の表示、処理途中の経緯の表示等を行う表示部１５０と、３ＤＣＡＤデータをもとに部品種別の分類、特徴形状の検出、結合優先関係の生成、アセンブリグラフの生成、組立順序・方向・動作の生成およびその結果出力の処理などを実行する制御部１１０と、３ＤＣＡＤデータ、解析計算プログラム、計算条件、計算結果などを記憶する記憶部１３０と、ネットワーク２１０を介して、外部にある３ＤＣＡＤ装置２００から３ＤＣＡＤデータを受信する通信部１６０とより構成されている。
【００１９】
ここで、制御部１１０は、ＣＰＵ(中央処理装置)、ＲＯＭ（リードオンリメモリ）、ＲＡＭ（ランダムアクセスメモリ）を含み、および記憶部１３０はハードディスク装置などの外部記憶装置により構成される。入力部１４０は、例えばキーボード、タッチパネル、専用のスイッチやセンサあるいは音声認識装置を用いてもよい。表示部１５０は、例えばディスプレイ、プロジェクタ、ヘッドマウントディスプレイなど画面やスクリーンに情報を表示する装置を用いる。表示部１５０に表示された情報を用紙に出力するプリンタ（図示しない）を組立作業性評価計算装置１００に接続してもよい。
なお、これらのハード構成は、専用装置である必要はなく、パーソナルコンピュータ等の一般的なコンピュータシステムを利用することができる。
【００２０】
組立順序生成装置１００の制御部１１０は、３ＤＣＡＤモデルの情報取得部１１１と、部品種別分類部１１２と、特徴形状検出部１１３と、アセンブリグラフの生成部１１４と、組立順序・方向・動作の生成部１１５と、未結合部の検出部１１６と、作業順位の追加部１１７と、結合優先関係生成部１２０とを含む。
また部品と部品の結合関係を導出する結合優先関係生成部１２０には、特徴形状（円筒穴等）の径方向に存在する部品の検出および検出した部品の軸方向に存在する部品の検出部１２１、結合優先関係の有向グラフ生成部１２２、分解単位および分解順序案の生成部１２３とが含まれる。
【００２１】
組立順序生成装置１００の記憶部１３０は、３ＤＣＡＤ装置より入手した３ＤＣＡＤモデル情報（評価対象モデル：組立品）およびその情報より抽出した３ＤＣＡＤモデル情報１３１と、部品種別の分類と特徴形状の検出処理のために参照する部品種別情報１３２と、各処理部の解析計算プログラム・計算条件を記憶する評価計算プログラム・計算条件１３３、結合優先関係とは別に、部品種別や大きさ、配置位置などの並び順などで定義した分解順序条件・分解単位条件を記憶する分解順序条件・分解単位条件１３４、３ＤＣＡＤモデルより部品種別および特徴形状に着目して解析した結合優先関係グラフを記憶する結合優先関係グラフ１３５、部品間隣接関係から生成したアセンブリグラフを記憶するアセンブリグラフ１３６と、組立順序・方向・動作の生成部１１５により生成された組立シーケンスデータを記憶する組立シーケンスデータ１３７の各記憶領域を備える。
【００２２】
図２は、組立順序生成装置１００が、３ＤＣＡＤ装置２００より入手した３ＤＣＡＤデータを基に結合優先関係の有向グラフの生成、アセンブリグラフの生成を行い、組立シーケンス計算結果を出力する処理までの手順を説明するフローチャートの例である。
図２のステップＳ１０の３ＤＣＡＤモデルの情報取得処理では、３ＤＣＡＤ装置２００より入手して、記憶部１３０に記憶した３ＤＣＡＤモデル情報（評価対象モデル：組立品）を読み込み、組立品の部品構成、各部品の配置、モデル名や寸法、部品中心位置や部品重心位置などの部品属性、部品間の隣接関係の情報を取得して、図３に示す形式の３ＤＣＡＤモデル情報１３１を作成して記憶部１３０に格納する。ここで評価対象は複数の部品から構成される組立品であるアセンブリモデルとする。なおこのファイルは分類、項目を要素、属性の名称として定義したＸＭＬ形式で出力するとよい。
【００２３】
図３の分類の欄の部品属性や形状特徴とは、部品ＩＤ、階層番号、モデル名、部品図番、部品タイトル、部品の体積、表面積、材質、比重、質量、最大長、重心、バウンディングボックス（部品を外包する境界となる直方体の８頂点の座標）、主慣性モーメント、慣性主軸、などが抽出される。
部品配置とは、ワールド座標系に配置されたアセンブリモデル上での各部品の位置および姿勢であり、各部品のパート座標系のＸ、Ｙ、Ｚの３軸と部品原点から構成する。
【００２４】
部品構成とは、３ＤＣＡＤモデルの部組品と部品との親子関係を示す情報であり、そのデータ項目としては、親部品ＩＤ、子部品ＩＤ、サブアセンブリを示すフラグ、対象外を示すフラグ（３ＤＣＡＤモデル上では非表示や抑制を示す情報）がある。
部品間隣接関係とは、アセンブリモデルをモデリングする際に設定するアセンブリ拘束情報であり、拘束要素種別、拘束要素を含む部品ＩＤ、拘束された部品ＩＤ（被拘束部品ＩＤ）、拘束面を表す拘束面法線、拘束面原点から構成する。またアセンブリ拘束情報は、モデリングする際に設計者が設定した情報だけではなく、アセンブリモデルをもとに部品と部品のクリアランス解析によって取得する方式がよい。ここでクリアランス解析の一方式としては、設定した閾値をもとにモデリングされた部品の各面からクリアランス距離内にある別のモデルを探索し、探索結果得られた隣接部品の面（平面、円筒面、円錐面など）の位置、姿勢の情報を作成する方式が挙げられる。
【００２５】
なおアセンブリ拘束とクリアランス解析の情報で得た拘束面情報は、平面の場合は、そのモデルの外側に向いた拘束面法線ベクトルと面上の点を拘束面原点に取得し、円筒面の場合は、その円筒の軸方向を拘束面法線ベクトルとして軸上の点を拘束面原点とする。
なお本図のフローチャートには、３ＤＣＡＤモデルのモデリング操作および解析対象としたモデルを指定する操作は省略した。
【００２６】
図２のステップＳ２０の部品種別の分類は、処理は、記憶部１３０の部品種別情報１３２を読み込み、指定されたモデル名の条件（例：先頭文字が指定された文字列など）や指定された部品寸法（例：指定された寸法以下など）にて、ステップＳ１０で取得した３ＤＣＡＤモデル情報１３１に格納された各構成部品の部品種別を判定する。
【００２７】
図４は、記憶部１３０に格納されている部品種別情報１３２の例であり、上記のステップＳ２０の判定で利用する。部品種別テーブル１３２は部品種別を引き当てるための情報として３ＤＣＡＤの部品属性（モデル名、部品図番、部品タイトル）と３ＤＣＡＤの形状特徴(寸法条件)の判定条件の項目を持ち、各行ごとの引き当て条件での部品種別名称、一致度を部品種別ＩＤで識別する構成とする。なお図４の例では各行の引き当て条件において、空白以外の項目を条件として検索する。ここで部品図番、部品タイトルは、３ＤＣＡＤのパートモデルあるいはアセンブリモデルにユーザが任意に定義したテキスト情報である。また３ＤＣＡＤモデル名、部品タイトルなど文字列の部品属性においては、すべての文字列の完全一致だけではなく部分一致で引き当てる場合もある。そこで任意の文字を示すワイルドカード文字（＊など）を含む文字列を格納する。なお文字列条件カラムを追加して、完全一致、前方一致、後方一致などの条件を定義してもよい。また形状特徴としては、寸法条件の例のほかパートモデルにおけるバウンディングボックス頂点、重心、主慣性モーメントなど３ＤＣＡＤモデルを計算することで取得できる質量特性を格納してもよい。また数値での判定においては、等しい、以下、より大きいなどの範囲を示す条件とし、またこれら条件のＡＮＤおよびＯＲ条件にて設定可能とする。
【００２８】
図２のステップＳ３０の特徴形状（円筒穴等）の検出処理は、組立品モデルのすべての部品について、指定した特徴形状（円筒穴等）を検出する。ここで特徴形状とは、円筒穴、角Ｒや長丸などの片円筒（閉じていない円筒）、円環リングなど部品と部品の嵌め合い関係の中に存在する形状を指定する。
図５に本検出処理(ステップＳ３０)の結果の例を示す。部品ＩＤごとに形状ＩＤを持ち、この２種類のＩＤの組み合わせ識別キーでユニークな情報として出力する。形状種類には円筒、片円筒、円環の種類を出力する。また、その形状の位置を示す中心点座標値、形状の姿勢を示す軸方向ベクトル、形状の大きさを示す寸法属性を出力する。ここで中心点座標値は組立品モデルのワールド座標系での座標値、軸方向ベクトルはワールド座標系での単位ベクトル、寸法属性値は、Ｄ，Ｄ２，Ｌ，Ａからなり、Ｄは内径、Ｄ２は円環の場合の外径、Ｌは長さ、Ａは片円筒の場合の開き角度を出力する。
【００２９】
図２のステップＳ４０の特徴形状（円筒穴等）の径方向に存在する部品の検出処理は、ステップＳ３０で検出した特徴形状、例えば図５に示した出力例の円筒、片円筒、円環の形状において、その中心から外形側径方向に３Ｄモデル上で光線を走査して、その光線がはじめに交差した面を検出する。その面情報として、部品ＩＤおよび面のＩＤ、その面までの距離を取得する。本処理は３ＤＣＡＤのＡＰＩ(Application Programming Interface)の光線トレースやレイトレ−シングというコマンドを利用するとよい。光線の発光開始点と方向を指定することで、交差した面情報とその面までの距離を取得することができる。なおこの径方向とは、円筒形状の場合は通常２つの半円筒が組み合わさって一つの円筒を形づくっているので、その半円筒の円弧を均等に２つに分割する位置に向けた方向に走査する。また片円筒の場合はその円弧を均等に２つに分割する位置に向けた方向に走査する。円環の場合は任意の径方向とする。なお円環の場合の説明で省略しているが、円環の場合も閉じていない円環のケースもある。この場合は片円筒同様に、その円弧を均等に２つに分割する位置に向けた方向に走査する。
【００３０】
図６に径方向の検出結果の例を示す。部品ＩＤ、形状ＩＤの組み合わせ識別キーでユニークとなる円筒等の形状ごとにその光線開始点座標から光線の方向ベクトルに沿って走査した結果、検出した部品のＩＤとその距離を正負の符号をつけて出力する。例えば、Ｎｏ．１，２の例では図５に示した内径９の円筒穴の径方向の光線走査の結果、部品ＩＤ１５の部品を光線開始点から＋４ｍｍ，−４ｍｍで検出している。Ｎｏ．９，１０の例では図５に示した内径３０の円環リングの光線走査の結果、部品ＩＤ１８の部品を光線開始点から＋１４ｍｍ，−１４ｍｍで検出している。
【００３１】
なお３ＤＣＡＤモデル上では、穴に挿入する部品が穴形状よりも大きな軸でモデリングされ穴と軸が干渉しているケースもある。例えば雌ねじと雄ネジの場合、雌ねじは雌ねじ内径あるいは下穴径でモデリングされ、また雄ネジはネジ部外形でモデリングされることが多い。この場合、円筒穴の径方向の光線走査において、雌ネジ内径までの範囲での処理では雄ネジ部分の面を検出することができない。
一方光線走査で組立品全体を覆う外包直方体の範囲内すべての結果を出力することも可能ではあるが、その結果から絞り込んで読む処理が冗長となる。そこで径方向の光線走査の際、穴中心から径方向に走査し、穴形状の自分自身の内側面までではなく自分自身の外側面までの情報を出力することとする。その際、光線の正負の方向で片側のみで検出した場合は、穴に無関係な部品と判定し、正負の方向で両方を検出した場合は、穴に関係がある部品と判定する。
【００３２】
また図６では円筒穴等の中心を光線開始点とした例を示したが、円筒穴の軸方向の両側にシフトして端部の中心から光線を走査することで関連部品を検出してもよい。ただし光線走査本数と組立品を構成する部品点数が多くなると計算処理時間が増大するため、光線走査本数は少ないほどよい。そこで、図５に示した検出した形状の寸法属性値の長さＬにて軸方向長さを把握し、予め設定した閾値との比較にて閾値以上の長さの場合には両端面側の光線走査を追加する処理を加える。
【００３３】
図２のステップＳ５０の検出した部品の軸方向に存在する部品の検出処理は、ステップＳ４０の特徴形状（円筒穴等）の径方向に存在する部品の検出処理にて得られた穴との関係部品（以下、締結部品と呼ぶ）において、その締結部品の軸方向に存在する部品を検出する。ここで標準的な締結部品のボルトやトメネなどやＥリング、Ｃリングなどは組付け方向がその形状から定義できる。例えばネジ部品はネジ頭側からネジ先端に向けた方向が組付け方向となる。そこで図２のステップＳ２０の部品種別の分類処理にて、それぞれの部品種別ごとに定義した組付け方向を認識することができる。
【００３４】
またこのように部品種別ごとに予め組付け方向を定義しない場合でも、標準的な締結部品はその形状から組付け方向を導出することができる。ネジ部品はネジ頭からネジ先端への方向、Ｅリング、Ｃリングは開放していない側から開放している側への方向が組付け方向となるため、３ＤＣＡＤの部品形状から部品中心から部品重心への方向がその部品の分解方向であると導出することができる。一般にステップＳ４０で検出した穴に関係のある部品はネジ部品であることが多く、その分解方向は上記方法にて導出する。
【００３５】
図７に穴付きボルトと穴付きトメネの部品中心から部品重心への方向の計算結果の例を示す。標準的なネジ部品等においては３ＤＣＡＤの形状から分解方向が正しく導出できる。
このように導出した締結部品の分解方向（軸方向）において、障害となる部品を検出するため、径方向での部品検出処理同様に、光線を走査して面を検出する。このとき、部品の中心軸上で光線を走査するほか、部品の中心軸と平行に外形側端部にシフトした方向でも光線を走査する。例えば、図７に示した穴付きボルトの場合、中心軸のみの光線走査では障害となる部品が見つからなくても、ネジ頭部で障害となる部品を検出するケースもある。
【００３６】
図８にて締結部品の分解方向の軸方向の光線走査での部品検出の例を示す。光線走査は３ＤＣＡＤの組立モデルにおいて行うため、図８(ａ)の組立状態での処理となる。この結果、図２のステップＳ３０にて円筒穴を検出し、ステップＳ４０にて部品６０１の円筒穴、部品６０２の円筒穴、部品６０３の円筒穴の径方向の光線走査にて、締結部品５００を検出する。そこでステップＳ５０にて締結部品の分解方向（軸方向）に光線を走査し、図８の部品７０１，７０２，７０３の光線開始点側の近接面までの距離を出力する。それぞれｄ１，ｄ２，ｄ３とする。なお図８の締結部品からの伸びた矢印は説明上、矢先を別々の位置に図示しているが、締結部品の中心軸や部品の外形側の点など指定した点を光線開始点とする。
【００３７】
ここで、光線走査で得られた距離は、径方向と同様に符号を持った値として出力し、分解方向を正とする。またそのときの距離の計算においては、図８の矢印で示したように締結部品の光軸上の最大端点とし、分解する際に障害となる部品の近接面までの距離を出力する。なお部品中心や部品重心、外包直方体（バウンディングボックス）の頂点座標などは図３に示したように図２のステップＳ１０の処理で取得済みであり、光線開始点を部品中心として、距離を導出しその後で分解方向で障害となる部品までの距離を計算してもよい。
図９に締結部品の分解方向の軸方向での光線走査結果の例を示す。光線走査を行う締結部品の部品ＩＤ、部品種別、光線区分として締結部品の中心側か外側かの区分、光線開始点座標値、光線方向を示す単位ベクトル、その光線走査で検出した部品の部品ＩＤと距離（符号付）を出力する。
【００３８】
図８(ｂ)に締結部の雌ねじ長さ分が外れた状態の図、図８(ｃ)に締結部品が抜けた状態の図を示した。このように各円筒穴から抜けるまでの分解距離は、前述した径方向の光線走査において、光線の開始点座標と部品ＩＤから把握することができる。この図８(ｂ)の締結部が外れた状態、図８(ｃ)の締結部品が抜けた状態、の各状態において障害となる部品ＩＤとその距離を図８(ａ)に示す組立状態の光線走査にて導出する。
また図８には示していないが、締結部品の組付けのための工具や手の作業領域を考慮した状態まででの障害となる部品についても同様に検出を行う。
なお上記において、それぞれの各状態での障害となる部品の検出を説明したが、処理としては、光線開始点から検出した面までの距離を出力し、その距離と締結部品の各円筒穴の中心および端部との座標値から各状態の区分を行う。
【００３９】
図２のステップＳ６０の結合優先関係の有向グラフの生成処理は、ステップＳ４０、ステップＳ５０で得た光線走査の結果をもとに、その関係をグラフ表現する。ここでのグラフとは部品ＩＤをノード、部品と部品の結合優先関係を有向エッジとして表現するものである。図１０に図８(ａ)の組立状態の光線走査結果から得た結合優先関係をもとにグラフ表現して描画した例を示す。ここでは図８の各部品に付した符号を部品ＩＤとする。
【００４０】
図８、図９で説明したように、径方向および軸方向の光線走査結果のリストから、その関係を有向グラフで表現する。具体的には図８(ａ)の図で示したように、部品ＩＤの６０１，６０２，６０３の各円筒穴の径方向の光線走査結果から部品ＩＤ５００の締結部品を検出し、その各円筒穴の光線開始点を把握し、その各座標値を締結部品の分解方向の軸に射影することで、締結部品に対する円筒穴の並び順を導出することができる。その結果、締結部品５００に対して嵌め合い関係のある部品は、締結部品５００により締結される順に締結部品５００を挿入する側より部品ＩＤで６０１→６０２→６０３の並び順とわかる。
また締結部品の分解方向の光線走査結果から図８に示したように各状態での障害となる部品ＩＤとその距離を把握することができる。例えば近い順に障害となる距離区分ｂ，ｃ，ｄと区分けを付けた場合、軸方向の光線走査の結果、締結部品５００を分解する際に障害となる部品は部品ＩＤで７０１（障害ｂ），７０２（障害ｃ），７０３（障害ｄ）と把握できる。
【００４１】
このように、締結部品と被締結部品との結合の係わりの順序、締結部品の分解動作の障害となる程度を表わす図１０(ａ)結合優先関係リストを基に、グラフ描画した例が図１０(ｂ)となる。部品ＩＤをノード上に表して、部品間の結合優先関係を有向エッジで表しており、図１０(ｂ)では径方向の光線走査結果を実線で、軸方向の光線走査結果を破線や点線、一点鎖線で示した。これにより、締結部品５００を分解することで６０１，６０２，６０３の部品が分解されること、また締結部品５００を分解するには７０１，７０２，７０３の部品が障害となるケースがあることが把握できる。
【００４２】
図２のステップＳ７０の分解単位および分解順序の生成処理は、結合優先関係をもとに分解単位および分解順序を導出する。図１１に示した３ＤＣＡＤ組立モデルの例を用いて説明する。ここで説明図に示した部品に付した符号を部品ＩＤとして以下説明する。図１１の組立品は部品８０１に部品８０３が接触しており、またネジ５０７，５０８で−Ｚ軸方向に締結されている。またその部品８０３には、上面に部品８０５、側面に部品８０４が接触しており、それぞれネジ５０４，５０５で−Ｚ軸方向に、ネジ５０６で−Ｙ軸方向に締結されている。また部品８０２は部品８０１と接触しており、片側をネジ５０１、もう一方をネジ５０２，５０３で−Ｚ軸方向に締結されている構造である。
【００４３】
図１１の組立品モデルをステップＳ６０までの処理で解析した結果の結合優先関係グラフを図１０で示したと同様に描いた結果を図１２に示す。締結部品５０１は部品８０２→８０１の結合関係、締結部品５０２および５０３は部品８０２→８０１の結合関係、締結部品５０４，５０５は部品８０５→８０３の結合関係、締結部品５０６は部品８０４→８０３の結合関係、締結部品５０７，５０８は部品８０３→８０１の結合関係であり、図１２に描画した。また締結部品５０６は障害区分ｂの距離で部品８０２が障害となっており、締結部品５０４，５０５は障害区分ｃの距離で部品８０２が障害となっており、図１２に描画した。
【００４４】
ここで同じ３ＤＣＡＤモデル上のモデル名称が同じ部品で、かつ同じ面に対して同じ方向で組付ける部品で、さらに被組み付け部品の組み合わせが同じものについて、集約を行うことでグラフのノードを縮小することとする。その結果を図１３に示す。このとき障害区分も同じものを集約対象とする。集約結果の図１３は図１２のグラフに対し、ノードおよびエッジが削減され計算処理が容易となる。
この図１３から、分解順序を導出する。基本的には分解順序は矢が刺さっていない部品から外すこととする。矢とは部品ノード間を接続する有向エッジでありノードに対して刺さっている矢をインナーエッジ、出ている矢をアウターエッジとして説明する。図１３の例では、インナーエッジがないノードは締結部品５０１，（５０２，５０３）、（５０７，５０８）となる。
【００４５】
このとき、どちらから分解するかは図１の分解順序条件１３４において、例えば「上方向に配置された部品を優先する」、「上方向の分解動作を優先する」といった分解順序を決定するための条件ルールを予め定義しておき、結合優先関係だけでは判断できない場合は、その分解順序条件にもとづいて順序を決定する。例えば５０１と（５０２，５０３）を先に分解した場合、その結合関係は解かれることとなり、図１４の状態となる。図１４では分解した部品ノードおよびそのエッジを薄い点線で示した。次にその分解した締結部品と結合関係にある部品８０２，８０１の順で分解可否の判定を行う。なお締結部品の分解方向は光線の解析処理の際に導出済みであり、その方向を分解方向とする。このとき矢(インナーエッジ)がある部品はその前に分解する部品が存在することを示す。インナーエッジがない８０２は分解可能、インナーエッジがある８０１は分解不可と判定できる。
【００４６】
次に部品８０２を分解した結果、障害区分ｂ，ｃで関係付けしていた締結部品５０６および締結部品（５０４，５０５）が分解可能となる。上記同様にインナーエッジのない複数の分解候補のうち、どの部品から分解するかは図１の分解順序条件１３４に基づいて順序を決定する。この条件から次に締結部品（５０４，５０５）を分解する。その結果、部品８０５，８０３の結合関係が解かれるので、同様に順次、分解順序を判定し分解順序案を決定する。
【００４７】
図１５に前記方式で生成した結合優先関係に基づき、導出した分解順序案に沿って、結合優先関係グラフを並び替えた結果とそのグラフに沿って、組立品モデルの分解順序ごとの分解イメージを描いた説明図を示す。結合優先関係に基づく分解順序の導出にて分解順序を正しく計算できていることがわかる。
【００４８】
図１２の結合優先関係に基づき、インナーエッジがない部品ノードを選択する順で分解順序を導出する方法の基本を説明したが、部品数が多い場合は複数の作業工程を階層的に区切ることが必要である。
【実施例２】
【００４９】
本発明の第２の実施例として組立工程の導出方法について、図１６から図１８にて説明する。
図１６は図１３の集約した結果の図に対し、部品ノードごとに矢の出入り数すなわちインナーエッジとアウターエッジの差を計算し、その結果を各ノードに四角枠内の数値で示したものである。なおこの図において矢の出入り数の計算には、光線走査から得られた径方向の結合関係のみを利用した。この矢の出入り数が負の値の部品ノードは早く分解すべき部品、正の値の部品ノードは締結される部品が多い部品でありベース部品となる部品と判定できる。この結果とインナーエッジの有無の判定から部品ノードをソートすることでも図１５と同様の分解順序を導出することができる。
【００５０】
また図１６に示した矢の出入り数から正の部品ノードに着目することで部組案すなわち組立工程を導出する方法を説明する。図１６で正の値となった部品８０３，８０１は複数の部品が結合された矢先の部品であり、すなわちベース部品と判定することができる。そこで、部品８０３をベースとした部組、部品８０１をベースとした部組を接続している有向エッジ（５０７、５０８）が総組み作業であると捉え、それらベース部品までの各エッジで接続された部品関係から工程を区切った。その結果を図１７の矩形で示す。
【００５１】
図１７のようにこの組立品では大きく３つの矩形で示した組立工程（STEP）からなり、それぞれの矩形で示した纏まりごとの結合優先関係（矢の方向）から分解順序にソートして番号を付けると図に示したSTEP-1、STEP-2、STEP-3の順序となる。その結果の分解順序フローを図１８に示す。
【００５２】
図１８に示したように「部品８０１をベースとした部組と部品８０３をベースとした部組を締結部品５０７，５０８で組み立てる」という総組みの順序と、そのベース部品８０３までの部組、ベース部品８０１までの部組の結合関係を吹き出し内の結合優先関係でそれぞれ表現しており、部組作業を含む組立工程を導出できる。
ただしこの方式では図１６に示した軸方向の光線走査から得られた結合関係を考慮できていない。
【実施例３】
【００５３】
次に本発明の第３の実施例として分解方向で障害となる部品の順序も考慮した組立工程の生成を図１９、２０で説明する。
図１７においてSTEP-3の中の部品８０２は、締結部品５０６を分解する際に区分ｂで障害となっており、また締結部品５０４，５０５を分解する際に区分ｃで障害となっている。そのため、部品８０１をベースとした部組に他の部品の分解に障害となる部品を含めることはできない。そこで図１７の組立工程案において障害となる部品として検出された部品ノードすなわち破線のアウターエッジがある部品はそのアウターエッジ側で工程を区切る処理を加える。その結果が図１９となる。
【００５４】
図１９では図１７のSTEP-3において障害部品として検出した部品８０２の破線アウターエッジ側で工程を区切り部品８０１と別工程とした結果を示した。この区切り直した工程枠を基にその工程間で結合優先関係をもとに順序を再番した。その結果をもとに生成した組立工程を図２０に示す。
図２０に示したように「部品８０２は締結部品５０４、５０５および５０６の分解方向で障害となっているため先に分解する」という順序をもとに組立工程が導出できる。
【実施例４】
【００５５】
図２のステップＳ８０の個別定義の分解単位、分解順序の読み込み処理は、光線走査によって得た結合優先関係では判定できないケースを予め定義しておき、そのルールにも従って分解単位、分解順序を導出するものである。例えば、Ｏリングは、そのリング形状に接触あるいは干渉している溝形状を含む部品との関係を光線走査にて捉えるが、Ｏリングを他の円筒形状と同様には計算せず、「Ｏリング溝形状を含む部品を組付けた直後にＯリングを組付ける」というルールにて順序を導出する。図２１に軸にＯリング２つをつけ中空部品に挿入組付けする組立品の例を示す。なおこの説明図ではＯリングが組付いた軸を中空部品から上方へ抜いた分解状態を示した。この場合、図５に示したように円環リングからの光線トレースおよび円筒穴からの光線トレースにて軸部品７０２がＯリング６０１、６０２に嵌め合い関係にあり、また中空部品７０１の円筒穴に挿入された組立品であることが検出され、結合優先関係は図２１の右図のようになる。このとき図２のステップＳ２０の部品種別の分類から部品６０１と６０２はＯリングと判定し、また図２のステップＳ８０にて上述の個別定義のルールにて、Ｏリングと軸部品を先に組付ける順序とする。
【００５６】
その他の個別定義のルールとしては例えば部品種別がナットでは「ナットで締結するネジ部を含む部品のナット端部と反対側の部品の締結完了後にナットを組み付ける」というルールにて順序を導出する。このように部品種別と光線トレースから検出した結合関係を基に、予め定義したルールの基での例外処理を行う。
【実施例５】
【００５７】
図２のステップＳ９０のアセンブリグラフの生成処理は、ステップＳ１０で取得した３ＤＣＡＤモデル情報の部品間の隣接関係情報から、部品をノード（節）、隣接関係をエッジ（辺）としたグラフにて、部品間の関係を表現するデータを作成する。
図２２は、図１１に示した３ＤＣＡＤモデルに対し、部品間隣接関係から生成したアセンブリグラフの例である。部品をノード、部品間の隣接関係をエッジとしたグラフ表現であり、隣接関係の種類ごと（隣接方向や隣接面の種類ごと）にそれぞれエッジを生成している。また大きく平面拘束（面合致）と円筒拘束（同軸）を区別しており、図２２のエッジ上には平面拘束をＰ、円筒拘束をＣで示した。また図１７では説明を省略しているが、前記の結合優先関係グラフと同様に、同じ名称のモデル名で組付け方向が同じで隣接関係が同じ（隣接方向や隣接面が同じ）場合は、複数の部品であっても一つのノードとして示すとよい。作成したアセンブリグラフは記憶部１３０に記憶する。
【００５８】
図２のステップＳ１００の組立順序・方向・動作の生成では、例えば特許文献３「特開２０１２−１４５６９号公報」に開示される組立シーケンス生成方法により、ステップＳ９０で生成したアセンブリグラフ１３６をもとに分解可能な方向を生成し、分解方向および分解順序を生成することで、その逆変換を行い組立順序、組立方向を導出する。
図２３は、組立順序・方向の生成処理までを説明するフローチャートの例である。まず３ＤＣＡＤの組立品モデルから分解順序・分解方向を生成し、分解順序を逆順に、分解運動ベクトルの符号を反転することにより組立順序・組立方向を生成する。このときの分解順序の初期案および分解単位は前述の結合優先関係から得た結果を用いる。
ここで組立順序の生成においても複数案が導出される場合もある。そこでそれらについても上述の全ての処理を行う。
【００５９】
図２のステップ１０１の未結合部がないかのチェックにおいて、前記図１１のように標準部品のネジなどすべての組立作業に関する情報がモデリングされている場合は、図１２の結合優先関係および図２２のアセンブリグラフの関係において、締結部品501、502、503、504、505、506、507、508で、その他の部品がすべて結合されていることが判定できる。この場合は結合漏れがないと判定し、前記処理にて導出した組立シーケンス結果を図２のステップＳ１１０の組立シーケンス計算結果出力処理にて出力する。このとき、計算過程で利用した３ＤＣＡＤ情報および生成した結合優先関係の有向グラフおよびアセンブリグラフも合わせて出力するとよい。
【実施例６】
【００６０】
一方、構想設計段階の組立品モデルあるいは大規模な組立品モデルの場合は、標準的な締結部品や作業情報がモデリングされていない。その例を図２４以降で説明する。
図２４は図１１の組立品モデルに対して、いくつかの結合部を削除したものであり本図にて未結合部の検出と作業内容と作業順序の追加について説明する。この図２４のモデルは部品８０２が部品８０１と２箇所で面接触している。また部品８０５と部品８０３には設計者が部品８０５を配置した際にアセンブリ拘束として、部品８０３に対する平面拘束は定義しているが、その他拘束が定義されていない状態であり、図２２の部品間隣接関係を示すアセンブリグラフに対して、部品501、502、503、504、505を削除した状態である。また部品８０５には２つの円筒穴５５１、５５２があり、また部品８０３にも２つの円筒穴５３１、５３２があり、その円筒穴はそれぞれ５５１と５３１、５５２と５３２が隣接している状態とする。
【００６１】
図２５に図２４の組立品に対する結合優先関係と隣接関係を統合したアセンブリグラフを示した。なお図２２のアセンブリグラフの隣接エッジ上に結合優先エッジが存在する場合は、図中の隣接エッジを省略している。この統合アセンブリグラフから部品８０３は部品８０１に締結部品５０８、５０７で締結され、部品８０４は部品８０３に締結部品５０６で締結されることがわかる。一方、部品８０５と部品８０３および部品８０２と部品８０１にはそれぞれ平面拘束はあるものの、結合されていないことが検出される。このように図２のステップ１０１において、結合優先関係と部品間の隣接関係をもとに統合したアセンブリグラフから結合していない部品を検出する。
【００６２】
図２６(a),(b)に未結合部を検出した結果と作業内容、作業順位の追加の画面例を示す。前記の組立品モデルの関係解析により結合されていない部品を検出した結果を表で出力する。表中には結合していない部品の部品IDと部品名、隣接した部品の部品IDと部品名、把握できている隣接関係（拘束関係）を出力する。
図２６(b)の画面上のNo.1、２は、部品ID８０１のベース部品と隣接部品ID８０２のカバー部品が平面で隣接していることを示す。このとき、リスト上でNo.1,2を選択した状態でボタン「３D表示」２６１を操作することで、３Ｄモデルにおいて、選択した対象部品のみを表示した状態を示す。図２６(a)では他の部品モデルを非表示化していることを点線で示した。この明示方法としては、３ＤＣＡＤのＡＰＩを利用したプログラミングにて外部のＧＵＩから指定した１つ以上の部品ＩＤを送り、３ＤＣＡＤ上で指定したモデルをハイライトすること、あるいは指定したモデルのみを表示すること、あるいは指定したモデル以外を表示対象の除外とすること、あるいは半透明色に変更することでもよい。図２６(b)の操作ボタンの例ではこのうち「３Ｄ表示」ボタン２６１と「３Ｄハイライト」ボタン２６２を配置した。
なお図２６(b)のリストの作業内容、作業順位の列は、隣接した部品に関して、その部品種別や隣接面の形状寸法条件などから作業類推テーブルを参照して類推した結果を表示する。
【００６３】
図２７に作業類推テーブルを示す。表には、隣接関係、隣接した部品の部品種別の組み合わせ、判定するための形状や寸法の条件、類推結果として出力する作業内容、作業順位の生成条件を格納する。例えば、図２６の場合は、Ｎｏ．２の内容と合致し、作業内容が「溶接」、作業順位はその生成条件に従い、「８０２→８０１」と出力している。
【００６４】
また図２６のＮｏ．３，４の例では、アセンブリ拘束としては平面拘束のみであるが、図２４のモデルの結合優先関係を生成する際に検出している円筒穴の位置姿勢の情報から、部品８０３内の円筒穴５３１、５３２が部品８０５内の円筒穴５５１、５５２とそれぞれ隣接していることを導出でき平面・円筒穴同士の隣接である。この隣接関係から図２７のＮｏ．３の形状・寸法条件に記載された「隣接した円筒穴が同軸かつ穴径と雌ねじ径がＭ４用」に合致したことを判定し、作業内容をＭ４ネジ締結作業、作業順位はその生成条件に従い、「ネジ→８０５→８０３」と類推した結果を出力している。なおネジ締結の類推の場合は、隣接した複数の円筒穴の長さ合計値からネジ穴の長さを類推した結果を出力する（Ｍ４Ｌ５０）。
【００６５】
このような円筒穴の隣接関係を基にした締結関係の類推方法の例を図２８と図２９のフローチャートで説明する。図２９のステップＳ１０１１において未結合部の検出を行う。例えば図２８（ａ）にネジがモデリングされていない組立品モデル、部品６０１、６０２、６０３の断面図を示しているが、前記の処理により部品６０１、６０２、６０３が結合されていないと判定する。
【００６６】
図２９のステップＳ１０１２において、未結合部内の特徴形状（円筒穴等）の取得を行う。例えば、部品６０１に円筒穴６１１、６１２、部品６０２に円筒穴６２１、部品６０３に円筒穴６３１がある。これらの円筒穴の位置姿勢は、図２のステップ３０にて検出しており、図５で示したリストと同様に、部品ＩＤ、形状ＩＤ、形状種類、中心点座標値、軸方向ベクトル、寸法属性を把握しており、それらの情報を取得する。
【００６７】
図２９のステップＳ１０１３において、特徴形状の軸方向ベクトルが同じ方向でかつ中心点間のベクトルが軸方向ベクトルと同じ方向であるもの、すなわち同じ軸上に並んだ特徴形状を抽出してグループ化する。図２８の場合は円筒穴６１１、６１２、６２１、６３１をグループ化して、対象モデルの中にｎ個のグループを作成する。
【００６８】
図２９のステップＳ１０１４において、グループ化した各特徴形状の集合について以下の処理を行う。
図２９のステップＳ１０１５において、特徴形状の中心間の距離が、隣接した特徴形状のそれぞれの半分の長さ(Ｌ１／２，Ｌ２／２)と所定のクリアランス値を加えた値以下である場合は、隣接している部位形状であると判定する（ステップＳ１０１６）。特徴形状の中心点間の距離がそれ以上の値である場合は、そのグループ化した特徴形状の集合は隣接していない(締結部品により締結されていない)と判定してステップＳ１０２１へ移行して、次のグループの処理を行う。
【００６９】
ステップＳ１０１７において、前記ステップＳ１０１６において隣接した特徴形状の部位と把握した２つ以上の特徴形状について、その中で最小の直径から締結部品の候補を絞り込む。具体的には雄ネジ径がその最小直径以下のものに絞り込む。
【００７０】
ステップＳ１０１８において、前記ステップで絞り込んだ締結部品候補において、締結部品候補の頭部直径が前記隣接していると判定されている部品グループの中の軸方向ベクトル上での端部の部品に存在する最小直径よりも締結部品候補の頭部直径が大きい締結部品の候補を絞り込む。具体的には前のステップで絞り込んだ締結部品の頭部直径が端部の部品に存在する最小直径よりも大きいかを判定する。これは両端部の２つの部品について行い、端部の部品に存在する最小直径よりも締結部品の頭部直径が小さい場合は、その端部部品は隣接部品を含む部品グループを構成する被締結対象の部品から除外する（ステップ１０１９）。除外した残りの隣接部品について前記処理を繰り返し行う。
【００７１】
ステップＳ１０２０において、図２６(b)に例示する未結合部リストに、作業内容として締結部品候補案を出力する。
ステップＳ１０２２において、組立品モデル内から検出した未結合部のグループ全てについての前記処理を行った結果を未結合部リストとして出力する。
【００７２】
円筒穴の位置姿勢と隣接かつ被締結対象の部品までを絞り込んだ部品グループを把握できるため、締結部品を特定することができ、図２６(b)の未結合部リストのNo.3,4の作業内容のように、類推したネジの径と長さを出力する。
このように図２９に示したフローチャートにより、図２８(ｂ)のようにネジ５５０を類推できる。
【００７３】
また図２６(b)の表のNo.1、２には円筒穴がモデリングされておらず面拘束のみの例である。この場合、図２７の作業類推テーブルに従いＮｏ２の「溶接」と類推した例を示しており、図２６(b)のＮｏ．１〜４では隣接情報がある例を示した。その他の結合関係の追加方法の例を図２６(b)のＮｏ．５と６で説明する。
【００７４】
図２６(b)のＮｏ．５では３ＤＣＡＤモデルに表現されていなかった部品を追加した例である。部品802と部品801には前記Ｎｏ．１，２のように平面の隣接関係のみが検出されているが、３ＤＣＡＤには表現していないがこれらの部品間に圧入ピンを追加する場合、「追加」ボタン２６３にて行を追加すると新規部品ＩＤが表示され、その行に部品名を入力する。隣接部品ID、隣接部品名、隣接関係の有無は問わないが、作業内容と作業順位を直接入力して定義する。No.5の行に記載したように圧入ピン903は、部品802→部品801の優先関係として記憶する。
【００７５】
図２６(b)のNo.６では３ＤＣＡＤモデルに表現されているが、結合関係を追加した例を示す。例えば、当初予定よりも部品の納期が遅延していることが判明した場合、組立品の幾何学的な隣接関係から導出した組立工程ではなく、部品納入遅延を考慮した工程の組み換えが必要となる。そこで図２６(b)の「追加」ボタン２６３にて、例えばＮｏ．６のように、隣接関係の有無に関係なく、部品の組立作業の作業順位を追加する。
【００７６】
なお図２６(b)の自動類推した作業内容と作業順位についても「３Ｄ表示」２６１などでモデルを確認した上で必要に応じて編集を行うとよい。また隣接関係はあるが「結合しない」部品と定義する例として、可動する部品がある。この場合は作業内容に「結合しない（可動部）」と定義して、次のステップに進む。
このように定義した上で「再検出」ボタン２６４にて漏れがないか確認し、類推した結果をもとに定義した作業内容、作業順位で決定した２部品間の条件をもとに結合優先関係を導出する（図２のステップＳ６０）。
【００７７】
図２６(b)に表示したリストの内容で決定した場合(「決定」ボタン２６５を押す。)の結合優先関係と隣接関係の例を図３０に示す。これは図２５のグラフに対して、図２６(b)のリストの内容から結合優先関係を追加したものである。実線の楕円で示した部品ノードに対して、新規追加したノードは角を丸めた四角枠で示した。「溶接１」、「溶接２」のノードは、図２６(b)のＮｏ．１，２の作業順位の通り、有向エッジ「溶接１」、「溶接２」で表現している。「ネジ３」、「ネジ４」のノードは図２６(b)のＮｏ．３，４の作業順位の通り、有向エッジ「ネジ３」、「ネジ４」で示している。圧入ピン「９０３」のノードは、図２６(b)のＮｏ．５の作業順位の通り、有向エッジ「９０３」で表現している。また２点鎖線の有向エッジで表現した「追加：802→805」は図２６(b)のＮｏ．６をもとに生成したものである。
【００７８】
このように３ＤＣＡＤ上に表現されていなかった部品や作業を他の部品の隣接関係から類推すること、また他の条件から３ＤＣＡＤに描画することなく作業順位を追加することで、作業順位を定義して、３ＤＣＡＤで描画した場合と同様に、結合優先関係のグラフを生成出力することができる。
このように追加した作業内容と作業順位にもとづき（図２のステップ１０２）、再度結合優先関係の有効グラフ生成から組立順序・方向・動作の生成を行い、未結合部がなくなるまで繰り返す。これにより３ＤＣＡＤ上に表現されていなかった部品や作業やその他条件も含めて組立工程、組立順序を生成することができる。
【００７９】
なお図２６、図２７、図２８、図２９、図３０では、隣接面から溶接作業の類推、円筒穴の隣接関係から締結部品を類推する例を示した。この方法に加え、３ＤＣＡＤ上に配置された設計指示情報のバルーンや矢印で示された３Ｄ注記情報を利用してもよい。具体的には図３１に示したように、部品９１１と部品９１２の隣接面に３Ｄ注記情報として→で示した溶接記号がある場合、この溶接記号から図面の上の手前側を溶接することがわかり、またその矢先の位置にある部品と部品の面および稜線を３ＤＣＡＤ上で隣接関係を解析することで、その隣接した面の面積、稜線の長さを導出することができる。これにより、３Ｄ注記情報として表現された記号や文字列の情報から具体的な作業内容を判断し、矢先の面の稜線から溶接長さを検出することで、その稜線は溶接作業で接合されると自動判定することができる。同様に図２６のＮｏ．６などの形状とは異なる作業順位の条件を３Ｄ注記情報として追加するとなおよい。
また、上記の溶接記号の場合、例えば稜線に対して２つ以上の部品がある場合は、その部品の大きさや姿勢の安定性からその溶接作業に対する作業の順番を類推するとよい。例えば図３１の場合は、部品９１１に部品９１２を溶接するという作業順位を生成する。
【００８０】
上記のように未結合部を検出して、検出した部品間に含まれる部位形状の位置姿勢から締結部品を類推し、類推した作業内容、作業順位を確認し追加決定する処理部を有することで、構想設計段階の組立品モデルや大規模な組立品モデルなど、標準部品や注記作業のないモデルについての部分的な作業順位を定義でき、幾何形状から生成したアセンブリグラフと追加定義した作業順位に基づき、組立工程と組立順序を生成することができる。
【００８１】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００８２】
また、上記の各構成、機能、処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【符号の説明】
【００８３】
１００  組立順序生成装置
１１０  制御部
１１１  ３ＤＣＡＤモデルの情報取得部
１１２  部品種別分類部
１１３  特徴形状検出部
１１４  アセンブリグラフの生成部
１１５  組立順序・方向・動作の生成部
１１６  未結合部の検出部
１１７  作業順位の追加部
１２０  結合優先関係生成部
１２１  特徴形状（円筒穴等）の径方向に存在する部品の検出、および検出した部品の軸方向に存在する部品の検出部
１２２  結合優先関係の有向グラフ生成部
１２３  分解単位および分解順序案の生成部
１３０  記憶部
１３１  ３ＤＣＡＤモデル情報
１３２  部品種別情報
１３３  解析計算プログラム・計算条件
１３４  分解順序条件、分解単位条件
１３５  結合優先関係グラフ
１３６  アセンブリグラフ
１３７  組立シーケンスデータ
１４０  入力部
１５０  表示部
１６０  通信部
２００  ３ＤＣＡＤ装置
２１０  ネットワーク
２６１  「３Ｄ表示」ボタン
２６２  「３Ｄハイライト」ボタン
２６３  「追加」ボタン
２６４  「再検出」ボタン
２６５  「決定」ボタン
【図１】
2015171736.tif 000003
【図２】
2015171736.tif 000004
【図３】
2015171736.tif 000005
【図４】
2015171736.tif 000006
【図５】
2015171736.tif 000007
【図６】
2015171736.tif 000008
【図７】
2015171736.tif 000009
【図８】
2015171736.tif 000010
【図９】
2015171736.tif 000011
【図１０】
2015171736.tif 000012
【図１１】
2015171736.tif 000013
【図１２】
2015171736.tif 000014
【図１３】
2015171736.tif 000015
【図１４】
2015171736.tif 000016
【図１５】
2015171736.tif 000017
【図１６】
2015171736.tif 000018
【図１７】
2015171736.tif 000019
【図１８】
2015171736.tif 000020
【図１９】
2015171736.tif 000021
【図２０】
2015171736.tif 000022
【図２１】
2015171736.tif 000023
【図２２】
2015171736.tif 000024
【図２３】
2015171736.tif 000025
【図２４】
2015171736.tif 000026
【図２５】
2015171736.tif 000027
【図２６】
2015171736.tif 000028
【図２７】
2015171736.tif 000029
【図２８】
2015171736.tif 000030
【図２９】
2015171736.tif 000031
【図３０】
2015171736.tif 000032
【図３１】
2015171736.tif 000033