(57)【特許請求の範囲】
【請求項１】
可動部を有する３次元ＣＡＤシステムにおけるモデルを２次元図面に投影する投影制御装置であって、
前記可動部を有する部品のうち、２次元図面に投影する対象となる部品を検索する部品検索手段と、
前記部品検索手段が検索した部品の可動範囲を検出する可動範囲検出手段と、
前記部品検索手段が検索した任意の一の部品に関して、前記可動範囲検出手段が検出した当該一の部品の可動範囲及び他の部品の可動範囲が視線方向に対して重なる場合に、当該視線方向に対して手前に配置されている部品のみを抽出する可動部品抽出手段と、
前記可動部品抽出手段が抽出した部品について、駆動状態を２次元に図面化する図面化手段とを備える投影制御装置。
【請求項２】
請求項１に記載の投影制御装置において、
前記部品検索手段が、
視線方向に対して垂直方向の移動を行う部品が有する当該部品の動作に関する動作情報を検索する第１の検索手段と、
視線方向に対して平行な軸回りの回転移動を行う部品が有する当該部品の動作に関する動作情報を検索する第２の検索手段とを備え、
当該検索した動作情報に基づいて連動して駆動する部品群を投影対象として検索する投影制御装置。
【請求項３】
請求項２に記載の投影制御装置において、
前記可動範囲検出手段が、
前記部品検索手段にて検索された部品の動作情報から当該部品の可動範囲を駆動の上限値及び下限値に基づいて検出する第１の検出手段と、
前記部品検索手段にて検索された部品群における動作情報が回転の周期運動を含む場合に、当該部品に連動する先端の部品の駆動における最大値及び最小値に基づいて当該部品群の可動範囲を検出する第２の検出手段とを備える投影制御装置。
【請求項４】
請求項１ないし３のいずれかに記載の投影制御装置において、
前記可動部品抽出手段が、前記一の部品のエクステント及び他の部品のエクステントが視線方向に対して重なる場合に、当該視線方向に対して手前に配置されている部品のみを抽出する投影制御装置。
【請求項５】
請求項１ないし４のいずれかに記載の投影制御装置において、
図面化手段が、前記可動部品抽出手段にて抽出された部品について、駆動前の部品表示領域の大きさに対する可視領域の大きさの割合が所定の割合以上である場合に、当該部品の駆動後の駆動状態を２次元に図面化する投影制御装置。
【請求項６】
請求項１ないし５のいずれかに記載の投影制御装置において、
前記図面化手段が、前記可動部品抽出手段にて抽出された部品及び当該部品の駆動状態に関して、部品の中心線、寸法及び角度、並びに、可動前後の駆動状態の軌跡、駆動距離及び駆動角度の少なくとも一の情報を付加する投影制御装置。
【請求項７】
コンピュータが、可動部を有する３次元ＣＡＤシステムにおけるモデルを２次元図面に投影する投影制御方法であって、
前記可動部を有する部品のうち、２次元図面に投影する対象となる部品を検索する部品検索ステップと、
前記部品検索ステップで検索された部品の可動範囲を検出する可動範囲検出ステップと、
前記部品検索ステップで検索された任意の一の部品に関して、前記可動範囲検出ステップで検出された当該一の部品の可動範囲及び他の部品の可動範囲が視線方向に対して重なる場合に、当該視線方向に対して手前に配置されている部品のみを抽出する可動部品抽出ステップと、
前記可動部品抽出ステップで抽出された部品について、駆動状態を２次元に図面化する図面化ステップとを含む投影制御方法。
【請求項８】
可動部を有する３次元ＣＡＤシステムにおけるモデルを２次元図面に投影するようにコンピュータを機能させる投影制御プログラムであって、
前記可動部を有する部品のうち、２次元図面に投影する対象となる部品を検索する部品検索手段と、
前記部品検索手段が検索した部品の可動範囲を検出する可動範囲検出手段と、
前記部品検索手段が検索した任意の一の部品に関して、前記可動範囲検出手段が検出した当該一の部品の可動範囲及び他の部品の可動範囲が視線方向に対して重なる場合に、当該視線方向に対して手前に配置されている部品のみを抽出する可動部品抽出手段と、
前記可動部品抽出手段が抽出した部品について、駆動状態を２次元に図面化する図面化手段としてコンピュータを機能させるための投影制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元ＣＡＤシステムで作成されたモデルを２次元図面に投影する投影制御装置に関し、特に、可動部を有するモデルを２次元図面に投影する投影制御装置等に関する。
【背景技術】
【０００２】
近年、ＣＡＤシステムにおいては、形状認識が容易であることや干渉チェックなどの設計の早期検証が行えるため、３次元ＣＡＤによるモデルの作成が進んでいる。３次元ＣＡＤにおいて可動部分の動作状況を表示する技術として特許文献１に示す技術がある。特許文献１に示す技術は、コンピュータに、各部品の３次元形状・位置情報と、該各部品の可動関連情報とを格納し、該可動な部品中の駆動部を指定する入力を受け付け、該コンピュータに格納されている部品情報に基づいて各部品の表示データを計算し、駆動部と、該駆動部と連動する従動部との動きを計算して表示する機能を実現させるためのプログラムにおいて、前記コンピュータに、該可動な部品上の任意の点、および表示時間の指定入力を受け付ける機能、該指定された点の軌跡を計算する機能、該軌跡を所定時間表示する機能を実現させるものである。
【０００３】
しかし、加工担当に渡すデータが２次元図面であったり、従来２次元で表現できていた情報が３次元モデルでは表現できないなどの問題があり、依然として３次元モデルを投影して２次元図面を作成するケースが多い。また、ＪＩＳ規格においては、機能上・工作上の理解を助けるために、図形を補助的に示すために想像線（細い二点鎖線）を使って「可動部分を、移動中の特定の位置又は移動の限界の位置で表す」ようになっている。図１７に、ＪＩＳ規格に基づいて２次元図面を作成した場合の一例を示す。ここでは、稼動部品の中心線、駆動部分の中心が移動した際の中心の軌跡、可動部分が駆動した場合の特定の位置又は駆動の限界位置等を表している。そこで、３次元モデルを投影して２次元図面を作成する技術として、特許文献２ないし４に示す技術がある。
【０００４】
特許文献２に示す技術は、３次元モデルから製品図面を作成する際の手作業を軽減し、１つの３次元モデルから複数の用途に応じた製品図面を容易に得ることができる製品図面作成装置に関する技術であり、従来、２次元投影図から製品図面を完成させるために行っていた手作業を作画規則とし、それを記憶する作画記憶手段４００と、図面用途を指定する図面用途設定手段２００と、作画規則選択手段３１０及び作画規則実行手段３２０を設ける。作画規則選択手段３１０は、作画規則記憶手段４００に記憶されている作画規則を図面用途設定手段２００で指定された図面用途により選択し、作画規則実行手段３２０は、作画規則選択手段３１０により選択された作画規則に従って２次元データを作成する技術である。
【０００５】
特許文献３に示す技術は、３次元形状情報を投影して２次元形状情報に変換する際、ユーザにとって理解しやすい２次元形状情報を取得することができる投影制御処理装置に関する技術であり、２次元形状情報に変換する際、２次元形状情報における隠線を部分的に出力する隠線制御処理部１１を備え、隠線制御処理部１１は、立体物を一定方向から見た２次元形状情報を作成するとき、立体物と交わる任意の境界面に対して一定方向寄りにある隠線を出力する技術である。
【０００６】
特許文献４に示す技術は、３次元形状情報を基に作成された２次元投影図面において誤った編集や寸法線の付記を犯しにくくするＣＡＤプログラムに関する技術であり、３次元形状情報がフィーチャベースモデルの場合はフィレット／面取りフィーチャを検索して蓄積し、フィーチャベースモデルでない場合は、フィレット面／面取り面を検索して蓄積する。蓄積されたコーナ形状から削除対象とするコーナ形状を絞り込み、絞り込まれたフィーチャあるいは面要素を３次元形状情報から削除し、削除後の３次元形状情報を基に投影処理を行って２次元形状情報を得る技術である。
【特許文献１】特開２００５−２８４３９３号公報
【特許文献２】特許第３０３８５２１号公報
【特許文献３】特開２００３−１８７２６３号公報
【特許文献４】特開２００７−８７３０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献２ないし４に示すようなＣＡＤシステムを利用して、３次元モデルを投影して２次元図面を作成する場合、３次元モデル形状として表せない形状（可動部の想像線など）は、利用者が３次元上で実際に部品を移動し、線種を変更して、対象となる部品のみを再度２次元に投影する必要があり、利用者にとって作業に手間が掛かってしまうという課題を有する。
【０００８】
また、２次元図面の作成状況によっては、直接２次元図面に加筆する必要性（例えば、中心線の軌跡を現す線は、３次元からの投影できないことによる）があるため、利用者の作業に手間が掛かってしまうという課題を有する。
【０００９】
さらに、２次元図面作成後に設計変更等で形状・配置の変更が発生した場合は、再度、同様の手順で２次元図面を作成し直す必要があるため、利用者の負担が大きくなってしまうという課題を有する。
【００１０】
そこで、本発明は前記課題を解決するためになされたものであり、３次元モデル形状を駆動することなく、モデルの駆動状態を２次元図面に投影する投影制御装置、投影制御方法、及び、投影制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
（１．３次元ＣＡＤモデルの投影）
本願に開示する投影制御装置は、可動部を有する３次元ＣＡＤシステムにおけるモデルを２次元図面に投影する投影制御装置であって、前記可動部を有する部品のうち、２次元図面に投影する対象となる部品を検索する部品検索手段と、前記部品検索手段が検索した部品の可動範囲を検出する可動範囲検出手段と、前記部品検索手段が検索した任意の一の部品に関して、前記可動範囲検出手段が検出した当該一の部品の可動範囲及び他の部品の可動範囲が視線方向に対して重なる場合に、当該視線方向に対して手前に配置されている部品のみを抽出する可動部品抽出手段と、前記可動部品抽出手段が抽出した部品について、駆動状態を２次元に図面化する図面化手段とを備えるものである。
【００１２】
このように、本投影制御装置においては、３次元モデルの可動部品について可動範囲を求め、可動範囲が視線方向に対して前後で重なる部品が存在する場合には、視線方向に対して手前の部品の駆動状態のみを２次元に投影して図面化するため、３次元モデルを駆動させるような煩雑な手間省き、駆動状態を２次元の図面上で容易に確認することができると共に、視線方向に対して手前に配置された部品のみを図面化することで、表示を簡素化して利用者にとって確認し易い２次元図面を表示することができるという効果を奏する。
【００１３】
（２．部品の検索）
本願に開示する投影制御装置は、前記部品検索手段が、視線方向に対して垂直方向の移動を行う部品が有する当該部品の動作に関する動作情報を検索する第１の検索手段と、視線方向に対して平行な軸回りの回転移動を行う部品が有する当該部品の動作に関する動作情報を検索する第２の検索手段とを備え、当該検索した動作情報に基づいて連動して駆動する部品群を投影対象として検索するものである。
【００１４】
このように、本投影制御装置においては、視線方向に対して垂直方向の移動を行う部品と視線方向に対して平行な軸回りの回転移動を行う部品についての駆動状態を投影するため、その他の部品の不要な駆動状態は投影の対象外となり、必要な情報（重要と思われる情報）のみを図面化することができ、利用者の作業効率を上げることができるという効果を奏する。
また、連動して駆動する複数の部品を部品群として検索するため、連動した駆動状態についても容易に確認することができるという効果を奏する。
【００１５】
（３．可動範囲の検出）
本願に開示する投影制御装置は、前記可動範囲検出手段が、前記部品検索手段にて検索された部品の動作情報から当該部品の可動範囲を駆動の上限値及び下限値に基づいて検出する第１の検出手段と、前記部品検索手段にて検索された部品群における動作情報が回転の周期運動を含む場合に、当該部品に連動する先端の部品の駆動における最大値及び最小値に基づいて当該部品群の可動範囲を検出する第２の検出手段とを備えるものである。
【００１６】
このように、本投影制御装置においては、部品の動作情報から当該部品の可動範囲を駆動の上限値及び下限値に基づいて検出するため、可動範囲の最大限を図面化することが可能となり、図面を参照する担当者にとって理解し易い図面を提供することができるという効果を奏する。
【００１７】
また、部品群における先端の部品の駆動における最大値及び最小値に基づいて当該部品群の可動範囲を検出するため、単一の部品についての駆動状態のみではなく、連動して動作する部品についても可動範囲の最大限を図面化することが可能となり、図面を参照する担当者にとって理解し易い図面を提供することができるという効果を奏する。
【００１８】
（４．エクステントによる重なりの判定）
本願に開示する投影制御装置は、前記可動部品抽出手段が、前記一の部品のエクステント及び他の部品のエクステントが視線方向に対して重なる場合に、当該視線方向に対して手前に配置されている部品のみを抽出するものである。
【００１９】
このように、本投影制御装置においては、重なりの判定にエクステントを利用することで、判定する処理を簡潔にすることができると共に、エクステントの空白部分を敢えて重なりと判定することで、空白の表示領域を確保して利用者にとって簡潔で見やすい図面を投影することができるという効果を奏する。
【００２０】
（５．可動部の投影）
本願に開示する投影制御装置は、図面化手段が、前記可動部品抽出手段にて抽出された部品について、駆動前の部品表示領域の大きさに対する可視領域の大きさの割合が所定の割合以上である場合に、当該部品の駆動後の駆動状態を２次元に図面化するものである。
【００２１】
このように、本投影制御装置においては、可視領域の大きさに応じて可動部を２次元に図面化するかどうかを判定するため、可視領域が小さい（例えば、他の部品と重なっている領域が多い）部品については、可動部であっても駆動状態を図面化しないため、図面が簡潔になり利用者にとって見やすい図面を投影することができるという効果を奏する。
【００２２】
（６．寸法線の表示）
本願に開示する投影制御装置は、前記図面化手段が、前記可動部品抽出手段にて抽出された部品及び当該部品の駆動状態に関して、部品の中心線、寸法及び角度、並びに、可動前後の駆動状態の軌跡、駆動距離及び駆動角度の少なくとも一の情報を付加するものである。
【００２３】
このように、本投影制御装置においては、部品の中心線、寸法及び角度、並びに、可動前後の駆動状態の軌跡、駆動距離及び駆動角度の少なくとも一の情報を付加するため、規格に基づき、且つ、利用者や担当者にとって見やすい図面を投影することができるという効果を奏する。
【００２４】
これまで、本発明を装置として示したが、所謂当業者であれば明らかであるように本発明を方法、及び、プログラムとして捉えることもできる。これら前記の発明の概要は、本発明に必須となる特徴を列挙したものではなく、これら複数の特徴のサブコンビネーションも発明となり得る。
【００２５】
すなわち、本願に開示する投影制御装置の構成要素または構成要素の任意の組合せを、方法、装置、回路、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも、他の態様として有効である。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施の形態を説明する。本発明は多くの異なる形態で実施可能である。従って、本実施形態の記載内容のみで本発明を解釈すべきではない。また、本実施形態の全体を通して同じ要素には同じ符号を付けている。
【００２７】
以下の実施の形態では、主に装置について説明するが、所謂当業者であれば明らかな通り、本発明は方法、及び、コンピュータを動作させるためのプログラムとしても実施できる。また、本発明はハードウェア、ソフトウェア、または、ハードウェア及びソフトウェアの実施形態で実施可能である。プログラムは、ハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、光記憶装置、または、磁気記憶装置等の任意のコンピュータ可読媒体に記録できる。さらに、プログラムはネットワークを介した他のコンピュータに記録することができる。
【００２８】
（本発明の第１の実施形態）
（１．構成）
図１は、本実施形態に係る投影制御装置の構成を示すブロック図である。投影制御装置１００は、ＣＡＤシステム１０１と入力装置１３０と主記憶装置１４０と表示装置１５０とを備える。ＣＡＤシステム１０１は、投影処理部１１０と３次元モデル処理部１２０とを備え、投影処理部１１０は、可動部品検索部１１１と可動範囲検出部１１２と可動部品抽出部１１３と図面化部１１４とを備え、３次元モデル処理部１２０は、モデリングカーネル１２１を備える。可動部品検索部１１１は、第１の部品検索部１１１ａと第２の部品検索部１１１ｂとを備え、可動範囲検出部１１２は、第１の範囲検出部１１２ａと第２の範囲検出部１１２ｂとを備える。
【００２９】
可動部品検索部１１１は、３次元ＣＡＤデータの部品において、投影時の視線方向に対して垂直方向に移動する部品に関する動作情報（駆動部品と移動方向／移動量を定義した情報）を検索する処理を行う第１の部品検索部１１１ａ、及び、視線方向に対して平行な軸回りに回転移動する部品に関する動作情報を検索する処理を行う第２の部品検索部１１１ｂを備える。また、検索した部品の動作情報に基づいて関節の繋がりを辿り、当該部品と連動する部品を部品群として検索する。
【００３０】
可動範囲検出部１１２は、可動部品検索部１１１で検索した部品の動作範囲を検出して、投影情報を算出する処理を行う。動作情報に含まれる駆動状態の上限値／下限値に基づいて動作範囲を検出する処理を行う第１の範囲検出部１１２ａ、及び、部品群における先端部品の駆動状態の最大値／最小値に基づいて動作範囲を検出する処理を行う第２の範囲検出部１１２ｂを備える。また、投影情報としては、駆動前後の状態を、駆動の上限及び下限の限界値における駆動状態として算出して管理する。
【００３１】
可動部品抽出部１１３は、可動範囲検出部１１２が検出した可動範囲に基づいて、視線方向に対して可動範囲が重ならない部品を投影対象として抽出する処理を行う。また、可動範囲が重なる場合は、視線方向に対して手前（前面）に位置する部品のみを投影対象として抽出する。
【００３２】
図面化部１１４は、可動部品抽出部１１３で投影対象として抽出された部品に対して、可動範囲検出部１１２で算出した投影情報に従い駆動前後の状態を投影して図面化する処理を行う。
【００３３】
モデリングカーネル１２１は、モデリングの機能を提供するライブラリである。
入力装置１３０は、キーボードやマウスなどのデバイスからの入力を受け付ける処理を行う。
主記憶装置１４０は、２次元や３次元で作成されたＣＡＤデータを格納する記憶装置である。
表示装置１５０は、２次元形状や３次元形状を表示したり、ユーザが指示を行うための画面表示を行う。
【００３４】
（２．動作）
（２−１  可動部品検索部１１１の動作）
図２は、本実施形態に係る投影制御装置の可動部品検索部の動作を示すフローチャートである。まず、投影視線を取得して（ステップＳ２０１）、動作情報の検索を行い（ステップＳ２０２）、以下のループ処理Ｉを検索した全ての動作情報について行う。
【００３５】
検索した動作情報を一つ読み出し、動作タイプの判定を行う（ステップＳ２０３）。動作タイプが平行動作であれば、動作方向が視線方向に対して垂直かどうかを判定し（ステップＳ２０４）、垂直でなければ処理の対象とはならないため、ループ処理Ｉに戻って次の動作情報を読み出す。垂直であればステップＳ２０６に進む。ステップＳ２０３で動作タイプが回転動作であれば、回転軸方向が視線方向に対して平行かどうかを判定し（ステップＳ２０５）、平行でなければ処理の対象とはならないため、ループ処理Ｉに戻って次の動作情報を読み出す。平行であればステップＳ２０６に進む。
【００３６】
ステップＳ２０６では、検索した動作情報に基づいて関節情報を取得し、以下のループ処理Ｊを、取得した全ての関節情報の関節数について行う。
取得した関節情報を一つ読み出し、当該関節情報の部品／関節を管理情報に登録する（ステップＳ２０７）。登録した関節がＧｒｏｕｎｄに付加された情報かどうかを判定し（ステップＳ２０８）、Ｇｒｏｕｎｄに付加されていればループ処理Ｊに戻って次の関節について処理を行う。Ｇｒｏｕｎｄに付加されていなければ、ステップＳ２０６に戻って、次の関節情報を取得する。
【００３７】
上記処理が、ＣＡＤデータにおける全ての関節情報及び動作情報について完了するまで繰り返して行われ、全ての関節情報及び動作情報について処理が完了したら、可動部品検索部１１１の動作を終了する。
【００３８】
ここで、可動部品検索部１１１の処理についてさらに詳細に説明する。図３は、３次元ＣＡＤのモデルの一例を示す図である。図中には、機構Ａから機構Ｄまでがあり、それぞれの機構ごとに異なる動作を行う。機構Ａは、部品ａ、部品ｂ及び部品ｃからなり、部品ｃの左右の移動に連動して部品ａ及び部品ｂが動作する。機構Ｂも同様に部品ｄ、部品ｅ及び部品ｆからなり、部品ｆの左右の移動に連動して部品ｄ及び部品ｅが動作するが、機構Ｂは機構Ａよりも視線方向に対して手前側（前方）に位置している。機構Ｃは部品ｇ及び部品ｈからなり、部品ｇの回転動作に連動して部品ｈが回転動作を行う。機構Ｄは部品ｉからなり、固定点ｘを中心にして回転動作を行う。
【００３９】
図３の３次元モデルについて図２の処理を行うと、機構Ａについては、部品ｃが動作情報を保持しており、視線方向に対して垂直方向に移動をするため検索の対象となる。機構Ｂについても、機構Ａと同様に検索の対象となる。機構Ｃについては、回転動作の回転軸が視線方向と平行ではないため検索の対象とはならない。つまり、ステップＳ２０６の処理には進まない。機構Ｄについては、回転動作の回転軸が視線方向と平行であるため検索の対象となる。
【００４０】
次に、検索した動作情報から関節情報を取得して登録する。図４は、機構Ａを拡大して詳細に示した図である。動作情報が付加された部品ｃを駆動部品とし、その部品ｃを起点に部品間に付加された関節情報を辿り、動かない部品（Ｇｒｏｕｎｄ）との間に付加された関節が検索された場合は、その直前の部品を先端部品とする。図４においては、部品ｃより関節Ｊ１、Ｊ２を検索する。Ｊ１はＧｒｏｕｎｄに付加された関節であるが、部品ｃは動作情報が付加された駆動部品であるため無視する。関節Ｊ２より、部品ｂ→関節Ｊ３→部品ａ→関節ｊ４を検索し、関節Ｊ４が部品ａとＧｒｏｕｎｄの間に付加された関節であるため、直前の部品ａを先端部品とする。
【００４１】
図４で検索した一連の部品群は管理情報として管理される。図５は、管理情報の一例を示した図である。図からわかるように、部品ａ〜部品ｃ及び関節Ｊ１〜関節Ｊ４の繋がりを管理している。
以上が、可動部品検索部１１１の動作に関する説明である。
【００４２】
（２−２  可動範囲検出部１１２の動作）
図６は、本実施形態に係る投影制御装置の可動範囲検出部の動作を示すフローチャートである。以下の処理は、図２のステップＳ２０７で登録された全ての管理情報について行われる。まず、読み込んだ管理情報に含まれる動作タイプを判定し（ステップＳ６０１）、平行動作であれば、動作情報の下限／上限位置を求める（ステップＳ６０４）。回転動作であれば周期的な動作であるかどうかを判定し（ステップＳ６０２）、周期動作でなければ動作情報の上限／下限位置を求める（ステップＳ６０５）。周期動作であれば先端部品の動作タイプを判定し（ステップＳ６０３）、平行動作であれば先端部品の最大／最小位置を求める（ステップＳ６０６）。回転動作であれば０度〜１８０度で上限／下限位置を求める（ステップＳ６０７）。
【００４３】
上限／下限位置又は最大／最小位置を求めたら、管理情報に上限／下限位置又は最大／最小位置を登録し（ステップＳ６０８）、上限／下限位置又は最大／最小位置でのエクステント形状を視線方向に対して垂直な平面で求める（ステップＳ６０９）。全ての管理情報について処理が完了すると、可動範囲検出部１１２の処理を終了する。
【００４４】
ここで、可動範囲検出部１１２の処理についてさらに詳細に説明する。図７は、可動部品が回転動作をし、先端部品が平行動作をする場合の上限／下限位置を示した図である。図７（ａ）は、上限位置の場合の一例を示しており、図７（ｂ）は、下限位置の場合の一例を示している。ここでは、部品ａが動作情報を保持しており、部品ｃが先端部品である。また、点線で示す部品群が可動前の状態（利用者により３次元上でアセンブリされた状態）を示し、実線で示す部品群が可動後の状態を示している。つまり、部品ａが周期的に回転動作を行うことにより部品ｃが左右に平行移動する機構である。
【００４５】
図７に示す機構の管理情報から、動作タイプが回転動作であり、且つ、周期的な動作であり、先端部品である部品ｃが平行移動をする情報がわかる。従って、図６のフローに沿って処理を行うと、先端部品ｃの最大／最小位置を求めることができる。つまり、図７（ａ）における部品ｃの位置が先端部品の最大位置（又は最小位置でもよい）であり、図７（ｂ）における部品ｃの位置が先端部品の最小位置（又は最大位置でもよい）となる。このように求められた上限／下限位置は、管理情報に付加されて管理される。また、上限／下限位置におけるそれぞれのエクステント形状も求められて管理される。
【００４６】
図８は、可動範囲検出処理を行った後の管理情報の一例を示した図である。図５と比較して、図７において求めたそれぞれの部品の上限／下限位置及び上限／下限姿勢が新たに付加されて管理されている。さらに、図７で求めたエクステントの上限／下限の情報も管理されている。
以上が、可動範囲検出部１１２の動作に関する説明である。
【００４７】
（  ２−３  可動部品抽出部１１３の動作）
図９は、本実施形態に係る投影制御装置の可動部品抽出部の動作を示すフローチャートである。以下の処理は、図８に示す全ての管理情報について他の管理情報との全ての組み合わせで行う。まず、任意の一の管理情報を読み込む（ループＩ）。さらに、任意の一の管理情報を読み込む（ループＪ）。それぞれに読み込んだ管理情報が同一であるかどうかを判定し（ステップＳ９０１）、同一であれば、ループＪに戻って次の管理情報を読み込む。同一でなければ、読み込んだ管理情報のエクステントが視線方向に対して前後で重なるかどうかを判定し（ステップＳ９０２）、重ならなければループＪに戻って次の管理情報を読み込む。重なれば視線方向に対して手前（前面）にある管理情報を抽出しておく（ステップＳ９０３）。ループＪについて全ての管理情報の処理が完了したら、抽出した管理情報を投影対象として登録する（ステップＳ９０４）。ループＩにより次の管理情報について処理を行い、全ての管理情報の組み合わせで処理が完了したら可動部品抽出処理を終了する。
【００４８】
ここで、可動部品抽出部１１３の処理についてさらに詳細に説明する。図１０は、３次元ＣＡＤのモデルにおいてエクステントを表示した場合の一例を示す図である。まず、任意の一の管理情報として機構Ａの管理情報が読み込まれ、次に、機構Ｂの管理情報が読み込まれたとする。機構Ａの管理情報と機構Ｂの管理情報は異なるためエクステントが重なるかどうかを判定する。エクステントが重なるかどうかの判定は、図１０の場合、機構Ａのエクステント１と機構Ｂのエクステント３及び４、並びに、機構Ａのエクステント２と機構Ｂのエクステント３及び４の４パターンで判定される。
【００４９】
図１０に示すように、エクステント１とエクステント３及び４は重ならないが、エクステント２とエクステント３及び４は重なる。従って、手前（前面）に配置されている機構Ａの管理情報のみが抽出される。次に、機構Ｃは元々投影対象外であるため、機構Ｄの管理情報が読み込まれる。機構Ａと機構Ｄのエクステント（エクステント１及び２とエクステント５及び６）は重ならないため、機構Ａは抽出されたままとなり、機構Ａの管理情報が投影対象として登録される。機構Ｂ、機構Ｄについても同様の処理を行い、投影対象となる管理情報が登録される。
【００５０】
なお、ここで投影の対象とされなかった機構については、機構自体を投影の対象からはずしてもよいし、機構の動作状態のみを投影の対象からはずすようにしてもよいが、投影の対象とされなかった機構については、機構が動作した状態は投影せず、３次元ＣＡＤ上でアセンブリされた状態のみを投影することが好ましい。
【００５１】
次に、機構の重なりのチェック方法についてさらに詳細に説明する。図１１は、機構の重なりをチェックする処理の一例を示す図である。図１１（ａ）は、上記と同様にエクステント形状による機構の重なりをチェックした場合を示す図であり、図１１（ｂ）は、部品の投影輪郭による機構の重なりをチェックした場合を示す図である。
【００５２】
図１１（ａ）に示すように、視線方向に対して部品同士は実際には重なっていない場合であっても、エクステント形状が重なっているため、機構Ａと機構Ｂは重なっていると判断し、視線方向に対して手前（前面）にある機構のみを投影対象とする。
【００５３】
また、図１１（ｂ）に示すように、それぞれの機構のエクステント形状は重なっているが、投影輪郭は重なっていないため、機構Ａと機構Ｂは重なっていないと判断し、機構Ａと機構Ｂのいずれも投影対象とする。
【００５４】
このように、機構の重なりのチェックは様々な方法で行うことができる。また、チェック方法を利用者が任意に選択できるようにしてもよい。例えば、余白を多くして２次元図面をすっきりさせたい場合は、エクステント形状により機構の重なりを判断し、なるべく多くの機構の駆動状態を２次元図面に表示したい場合には、投影輪郭により機構の重なりを判断するようにしてもよい。
以上が、可動部品抽出部１１３の動作に関する説明である。
【００５５】
（２−４  図面化部１１４の動作）
図面化部１１４では、投影対象となった機構に対して、可動範囲検出部１１２で検出した可動範囲に従って、可動前（利用者がアセンブリした状態）の機構形状及び可動後（管理情報に含まれる上限／下限位置）の機構形状を投影して２次元図面化する。この時、可動前の機構形状を投影した際の可視線／隠線の割合から、可視部分が多いと判断される場合は、継続して可動後の機構形状の投影処理を行う。可視部分が少ないと判断される場合は、可動後の機構形状の投影処理を抑止する。以下に、処理を説明する。
【００５６】
図１２は、本実施形態に係る投影制御装置の図面化部の動作を示すフローチャートである。まず、可動前のモデルを投影し（ステップＳ１２０１）、図面の線種を判定する（ステップＳ１２０２）。線種が可視線であれば可視線データとして蓄積し（ステップＳ１２０３）、線種が隠線であれば隠線データとして蓄積する（ステップＳ１２０４）。可視線部分が所定の割合以上であるかどうかを判定し（ステップＳ１２０５）、所定の割合未満である場合は、管理情報に「抑止」を設定する（ステップＳ１２０６）。ここで、「抑止」が設定されたモデルについては、投影対象のモデルであっても可動前の状態のみを投影し、可動後の上限／下限位置での投影を行わないことを意味する。
【００５７】
次に、全ての投影対象に対して以下の処理を行う。まず、管理情報に「抑止」が設定済みであるかどうかを判定し（ステップＳ１２０７）、「抑止」であればループＩに戻って、次の管理情報について処理を行う。「抑止」でなければ管理情報の下限値に基づいてモデルを移動する（ステップＳ１２０８）。線種の指定があるかどうかを判定し（ステップＳ１２０９）、線種の指定がなければ投影時の線種を２点鎖線に設定し（ステップＳ１２１０）、線種の指定があれば投影時の線種を利用者が指定した線種に設定する（ステップＳ１２１１）。線種が設定されたら、移動した下限値の位置／姿勢でモデルを投影する（ステップＳ１２１２）。
なお、ここで言う移動は、利用者の操作による３次元上での部品の移動ではなく、上限／下限位置の情報に基づいて、２次元上で装置の制御により行われる移動を意味する。
【００５８】
下限値の位置／姿勢でモデルを投影したら、管理情報の上限値に基づいてモデルを移動する（ステップＳ１２１３）。線種の指定があるかどうかを判定し（ステップＳ１２１４）、線種の指定がなければ投影時の線種を２点鎖線に設定し（ステップＳ１２１５）、線種の指定があれば投影時の線種を利用者が指定した線種に設定する（ステップＳ１２１６）。線種が設定されたら、移動した上限値の位置／姿勢でモデルを投影する（ステップＳ１２１７）。
【００５９】
上限／下限位置でのモデルの投影が完了したら、寸法線の出力を行うかどうかの判定を行う（ステップＳ１２１８）。寸法線の出力を行わない場合は、ループＩに戻って、次の管理情報について処理を行う。寸法線の出力を行う場合は、全ての駆動部品、先端部品について以下の処理を行う。部品の動作タイプを判定し（ステップＳ１２１９）、平行動作であれば、駆動部品の移動を距離寸法で投影し（ステップＳ１２２３）、ループＪに戻って次の部品について処理を行う。回転移動であれば関節数が２以上あるかどうかを判定し（ステップＳ１２２０）、関節数が２以上あれば関節間を結ぶ直線を中心線として投影する（ステップＳ１２２１）。関節間を結ぶ直線を中心線として投影後又は関節数が２以上ない場合は、駆動部品の回転角を角度寸法で投影する（ステップＳ１２２２）。全ての部品について処理が終了したらループＩに戻り、全ての管理情報について処理が終了したら、図面化部の処理を終了する。
【００６０】
なお、図面化処理部の処理において、可動前の機構を投影した図面と可動後（上限／下限位置）の機構を投影した図面とが一致する場合は、可動後の機構を投影しないようにしてもよい。
【００６１】
また、可動後の機構を投影する場合は、「上限／下限位置を投影」、「上限位置を投影」又は「下限位置を投影」のいずれかの条件を利用者が任意に選択し、管理情報に属性情報として付加できるようにしてもよい。
【００６２】
さらに、寸法、中心線、可動軌跡等の付加情報は、全ての部品や可動部に付加する必要はなく、必要に応じて利用者が見やすいように選択することができるようにしてもよい。その場合は、管理情報に属性情報として付加できるようにしてもよい。
【００６３】
さらにまた、寸法線の付加については、平行移動時は部品の関節位置間の距離寸法を付加し、回転移動時（１部品に複数の関節が付加されている場合）は、部品の関節間を結ぶ直線を中心線とし、その中心線の角度寸法を付加するようにしてもよい。
【００６４】
図１３ないし図１６は、本実施形態に係る投影制御装置による処理結果を機構ごとに例示した図である。図１３は、スライダー・クランク機構の場合の処理前と処理後を示す図であり、図１４は、４節リンク機構の場合の処理前と処理後を示す図であり、図１５は、ラックアンドピニオン機構の場合の処理前と処理後を示す図であり、図１６は、歯車伝道機構の場合の処理前と処理後を示す図である。
なお、各図の処理においては、可動前の投影と可動後の「上限位置」での投影を処理結果として示している。
【００６５】
図１３（ａ）は、処理前の投影図であり、図１３（ｂ）は処理後の投影図である。ここでは、部品Ａが回転動作をし、それに伴って部品Ｂ及び部品Ｃが動作している。この時、図１３（ｂ）において、実線で示す図が可動前の機構の投影図であり、点線で示す図が可動後の機構の投影図である。動作情報は部品Ａが保持しており、先端部品が部品Ｃである。従って、先端部品である部品Ｃの最大位置が上限位置となる。ここでは、部品Ｃの最大位置がＣ’の位置であるため、処理後は図のような投影図となる。
なお、ここでは、中心線を関節Ｊ１とＪ２の間にのみ付加しているが、関節Ｊ２と関節Ｊ３の間にも中心線を付加してもよい。
【００６６】
図１４についても図１３と同様に、図１４（ａ）が、処理前の投影図であり、図１４（ｂ）は処理後の投影図である。この時、図１４（ｂ）において、実線で示す図が可動前の機構の投影図であり、点線で示す図が可動後の機構の投影図である。ここでは、部品Ａが動作情報を保持しており、部品Ａの回転動作に伴って、部品Ｂ、部品Ｃが動作している。動作情報に含まれる上限位置がＡ’の位置であるため、処理後は図のような投影図となる。
なお、ここでも、中心線を関節Ｊ３とＪ４の間にのみ付加しているが、他の関節間にも中心線を付加してもよい。
【００６７】
図１５についても図１３及び図１４と同様に、図１５（ａ）が、処理前の投影図であり、図１５（ｂ）は処理後の投影図である。この時、図１５（ｂ）において、実線で示す図が可動前の機構の投影図であり、点線で示す図が可動後の機構の投影図である。動作情報は部品Ａが保持しており、先端部品が部品Ｂである。従って、先端部品である部品Ｂの最大位置が上限位置となる。ここでは、部品Ｂの最大位置が部品Ｂ’の位置であるため、処理後は図のような投影図となる。
【００６８】
図１６についても図１３、図１４及び図１５と同様に、図１６（ａ）が、処理前の投影図であり、図１６（ｂ）は処理後の投影図である。ここでは、部品Ａが回転動作をし、それに伴って部品Ｂ及び部品Ｃが動作している。動作情報は部品Ａが保持しており、先端部品が部品Ｃである。しかし、この場合は可動前の状態と可動後の状態では変化がないため可動後の投影は行う必要がない。また、全ての部品が周期動作であるため、中心線を付加する必要もない。
なお、図１３ないし図１６において、可動後の状態は基本的には仮想線（２点鎖線）で投影することが好ましいが、利用者が任意に設定するようにしてもよい。
以上が図面化部１１４の動作の説明である。
【００６９】
このように、本実施形態に係る投影制御装置によれば、３次元モデルの可動部品について可動範囲を求め、可動範囲が視線方向に対して前後で重なる部品が存在する場合には、視線方向に対して手前の部品の駆動状態のみを２次元に投影して図面化するため、３次元モデルを動作させるような煩雑な手間省き、駆動状態を２次元の図面上で容易に確認することができると共に、視線方向に対して手前に配置された部品のみを図面化することで、表示を簡素化して利用者にとって確認し易い２次元図面を表示することができる。
【００７０】
また、視線方向に対して垂直方向の移動を行う部品と視線方向に対して平行な軸回りの回転移動を行う部品についての駆動状態を投影するため、その他の部品の不要な駆動状態は投影の対象外となり、必要な情報（重要と思われる情報）のみを図面化することができ、利用者の作業効率を上げることができる
さらに、連動して駆動する複数の部品を部品群として検索するため、連動した駆動状態についても容易に確認することができる。
【００７１】
さらにまた、部品の動作情報から当該部品の可動範囲を駆動の上限値及び下限値に基づいて検出するため、可動範囲の最大限を図面化することが可能となり、図面を参照する担当者にとって理解し易い図面を提供することができる。
【００７２】
さらにまた、部品群における先端の部品の駆動における最大値及び最小値に基づいて当該部品群の可動範囲を検出するため、単一の部品についての駆動状態のみではなく、連動して動作する部品についても可動範囲の最大限を図面化することが可能となり、図面を参照する担当者にとって理解し易い図面を提供することができる。
【００７３】
さらにまた、重なりの判定にエクステントを利用することで、判定する処理を簡潔にすることができると共に、エクステントの空白部分を敢えて重なりと判定することで、空白の表示領域を確保して利用者にとって簡潔で見やすい図面を投影することができる。
【００７４】
さらにまた、可視領域の大きさに応じて可動部を２次元に図面化するかどうかを判定するため、可視領域が小さい（例えば、他の部品と重なっている領域が多い）部品については、可動部であっても駆動状態を図面化しないため、図面が簡潔になり利用者にとって見やすい図面を投影することができる。
【００７５】
さらにまた、部品の中心線、寸法及び角度、並びに、可動前後の駆動状態の軌跡、駆動距離及び駆動角度の少なくとも一の情報を付加するため、規格に基づき、且つ、利用者や担当者にとって見やすい図面を投影することができる。
【００７６】
以上の前記各実施形態により本発明を説明したが、本発明の技術的範囲は実施形態に記載の範囲には限定されず、これら各実施形態に多様な変更又は改良を加えることが可能である。そして、かような変更又は改良を加えた実施の形態も本発明の技術的範囲に含まれる。このことは、特許請求の範囲及び課題を解決する手段からも明らかなことである。
【図面の簡単な説明】
【００７７】
【図１】第１の実施形態に係る投影制御装置の構成を示すブロック図である。
【図２】第１の実施形態に係る投影制御装置の可動部品検索部の動作を示すフローチャートである。
【図３】３次元ＣＡＤのモデルの一例を示す図である。
【図４】機構Ａを拡大して詳細に示した図である。
【図５】管理情報の一例を示した図である。
【図６】第１の実施形態に係る投影制御装置の可動範囲検出部の動作を示すフローチャートである。
【図７】可動部品が回転動作をし、先端部品が平行動作をする場合の上限／下限位置を示した図である。
【図８】可動範囲検出処理を行った後の管理情報の一例を示した図である。
【図９】第１の実施形態に係る投影制御装置の可動部品抽出部の動作を示すフローチャートである。
【図１０】３次元ＣＡＤのモデルにおいてエクステントを表示した場合の一例を示す図である。
【図１１】機構の重なりをチェックする処理の一例を示す図である。
【図１２】第１の実施形態に係る投影制御装置の図面化部の動作を示すフローチャートである。
【図１３】スライダー・クランク機構の場合の処理前と処理後を示す図である。
【図１４】４節リンク機構の場合の処理前と処理後を示す図である。
【図１５】ラックアンドピニオン機構の場合の処理前と処理後を示す図である。
【図１６】歯車伝道機構の場合の処理前と処理後を示す図である。
【図１７】ＪＩＳ規格に基づいて２次元図面を作成した場合の一例を示す図である。
【符号の説明】
【００７８】
１００  投影制御装置
１０１  ＣＡＤシステム
１１０  投影処理部
１１１  可動部品検索部
１１２  可動範囲検出部
１１３  可動部品抽出部
１１４  図面化部
１２０  ３次元モデル処理部
１２１  モデリングカーネル部
１３０  入力装置
１４０  主記憶装置
１５０  表示装置
【図１】
0004957609.tif 000002
【図２】
0004957609.tif 000003
【図３】
0004957609.tif 000004
【図４】
0004957609.tif 000005
【図５】
0004957609.tif 000006
【図６】
0004957609.tif 000007
【図７】
0004957609.tif 000008
【図８】
0004957609.tif 000009
【図９】
0004957609.tif 000010
【図１０】
0004957609.tif 000011
【図１１】
0004957609.tif 000012
【図１２】
0004957609.tif 000013
【図１３】
0004957609.tif 000014
【図１４】
0004957609.tif 000015
【図１５】
0004957609.tif 000016
【図１６】
0004957609.tif 000017
【図１７】
0004957609.tif 000018