(57)【特許請求の範囲】
【請求項１】
稜線が含まれる部品の形状を示す相貫面情報が記録された記録手段と、
前記記録手段に記録された相貫面情報が示す部品に含まれる稜線のうち、フィレット形状の半径値であるＲ属性値が予め付与された付与済み稜線を挟む面の折れ方向と異なる折れ方向となる面に挟まれる稜線を、前記付与済み稜線の前記Ｒ属性値を付与する可能性のある候補稜線から除外する除外手段と、
前記付与済み稜線の一方の端点から、前記除外手段により除外後の前記候補稜線を経由して他方の端点にたどり着くまでに経由する稜線からなるループ稜線群、及び前記付与済み稜線の一方の端点から、前記除外手段により除外後の前記候補稜線を経由して、一方の端点に隣接する稜線が存在しない終端稜線にたどり着くまでに経由する稜線からなる通常稜線群を抽出する候補稜線群抽出手段と、
前記候補稜線群抽出手段により抽出された稜線群のうち、属する稜線の数が最も多い稜線群を抽出する最多稜線群抽出手段と、
前記候補稜線群抽出手段により抽出された稜線群の中に、共通する稜線を有する異なる稜線群が存在する場合に、共通する稜線から分岐する稜線と、分岐元の稜線とのなす角度が最も大きい角度となる稜線を含む稜線群を抽出する最大角度稜線群抽出手段と、
前記候補稜線群抽出手段、前記最多稜線群抽出手段、及び前記最大角度稜線群抽出手段のうちのいずれかの手段により１つの稜線群が抽出された場合に、抽出された稜線群に属する稜線に対して前記付与済み稜線の前記Ｒ属性値と同じＲ属性値を付与する付与手段と、
を有する属性値付与装置。
【請求項２】
前記除外手段は、前記記録手段に記録された相貫面情報が示す部品に含まれる稜線のうち、既にＲ属性値が付与されている稜線を、前記候補稜線から更に除外する請求項１に記載の属性値付与装置。
【請求項３】
前記付与手段は、前記候補稜線群抽出手段、前記最多稜線群抽出手段、及び前記最大角度稜線群抽出手段のいずれかの手段により抽出された前記稜線群が、前記ループ稜線群及び前記通常稜線群の場合には、前記ループ稜線群に属する稜線のみに対して前記付与済み稜線の前記Ｒ属性値と同じＲ属性値を付与する請求項１又は請求項２に記載の属性値付与装置。
【請求項４】
記録手段に記録された稜線が含まれる部品の形状を示す相貫面情報が示す部品に含まれる稜線のうち、フィレット形状の半径値であるＲ属性値が予め付与された付与済み稜線を挟む面の折れ方向と異なる折れ方向となる面に挟まれる稜線を、前記付与済み稜線の前記Ｒ属性値を付与する可能性のある候補稜線から除外する除外手段と、
前記付与済み稜線の一方の端点から、前記除外手段により除外後の前記候補稜線を経由して他方の端点にたどり着くまでに経由する稜線からなるループ稜線群、及び前記付与済み稜線の一方の端点から、前記除外手段により除外後の前記候補稜線を経由して、一方の端点に隣接する稜線が存在しない終端稜線にたどり着くまでに経由する稜線からなる通常稜線群を抽出する候補稜線群抽出手段と、
前記候補稜線群抽出手段に抽出された稜線群のうち、属する稜線の数が最も多い稜線群を抽出する最多稜線群抽出手段と、
前記候補稜線群抽出手段により抽出された稜線群の中に、共通する稜線を有する異なる稜線群が存在する場合に、共通する稜線から分岐する稜線と、分岐元の稜線とのなす角度が最も大きい角度となる稜線を含む稜線群を抽出する最大角度稜線群抽出手段と、
前記候補稜線群抽出手段、前記最多稜線群抽出手段、及び前記最大角度稜線群抽出手段のうちのいずれかの手段により１つの稜線群が抽出された場合に、抽出された稜線群に属する稜線に対して前記付与済み稜線の前記Ｒ属性値と同じＲ属性値を付与する付与手段と、
としてコンピュータを機能させるための属性値付与プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、属性値付与装置、及び属性値付与プログラムに係り、特に相貫面情報に示される形状の部品の稜線にＲ属性値を付与する属性値付与装置、及び属性値付与プログラムに関する。
【背景技術】
【０００２】
自動車のシェルボディー等、薄板の部品の設計段階において、実際の部品における面と面の境界（稜線）にはフィレット形状と呼ばれる丸みがあるが、その丸みを省略してＣＡＤ（Computer Aided Design）により作成されたモデルを示す相貫面データで部品の検討が行われることが一般的である。
【０００３】
この検討においては、上記フィレット形状の半径値の数値（Ｒ属性値）が稜線に付与されるが、このＲ属性値は設計段階での覚え書きや、将来のフィレットモデル化に用いられる。
【０００４】
このようなフィレットに関する技術として、特許文献１には、次に辿る候補の稜線がある場合に、それらが次に辿る候補の稜線のうちから、仮フィレット面の作成済み稜線の他に、両側の曲面間の折れ角度が所定の範囲内の稜線を除外する技術が開示されている。
【０００５】
また、特許文献２には、指定されたエッジに順次接続されるとともに指定された特性若しくは属性を持つエッジを逐次取得し、その取得したエッジを指定されたエッジに相互につなぎ合わせて複合曲面を生成させる処理が開示されている。
【０００６】
更に、特許文献３には、位相データに基づき、代表の稜線を含み互いに接線連続に連なる複数の稜線のうち、代表の稜線以外の稜線を逐次探し出し、代表の稜線及び探し出した稜線の両側の面が形成する各部を、フィレット面として指定したものとする技術が開示されている。
【特許文献１】特開平８−１３７９１７号公報
【特許文献２】特開平６−２５９５１０号公報
【特許文献３】特開平６−２６６８０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述した相貫面データに示されるモデルの稜線の各々に対してＲ属性を付与する必要があるが、稜線が複数に分岐することが多々あり、更に分岐パターンも多種多様であることから、Ｒ属性を付与することができる従来のツールによる処理では、分岐しない連続する稜線に対して付与することしかできなかった。
【０００８】
このように従来のツールは実用的なものではないため、人手により斜視図に「Ｒ５一定」等の簡略表現を記すなどすることにより、稜線を見る側がＲ属性値を伝播する稜線を判断するようになっている。従って、Ｒ属性を完全に付与するための工数は多大なものとなる。
【０００９】
このように従来の技術では、相貫面データに示されるモデルの稜線に自動的にＲ属性値を付与することが出来ないという問題点があった。
【００１０】
本発明は上記問題点を解消するためになされたもので、相貫面データに示されるモデルの稜線に自動的にＲ属性値を付与することが可能な属性付与装置、及び属性値付与プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、請求項１の発明は、稜線が含まれる部品の形状を示す相貫面情報が記録された記録手段と、前記記録手段に記録された相貫面情報が示す部品に含まれる稜線のうち、フィレット形状の半径値であるＲ属性値が予め付与された付与済み稜線を挟む面の折れ方向と異なる折れ方向となる面に挟まれる稜線を、前記付与済み稜線の前記Ｒ属性値を付与する可能性のある候補稜線から除外する除外手段と、前記付与済み稜線の一方の端点から、前記除外手段により除外後の前記候補稜線を経由して他方の端点にたどり着くまでに経由する稜線からなるループ稜線群、及び前記付与済み稜線の一方の端点から、前記除外手段により除外後の前記候補稜線を経由して、一方の端点に隣接する稜線が存在しない終端稜線にたどり着くまでに経由する稜線からなる通常稜線群を抽出する候補稜線群抽出手段と、前記候補稜線群抽出手段により抽出された稜線群のうち、属する稜線の数が最も多い稜線群を抽出する最多稜線群抽出手段と、前記候補稜線群抽出手段により抽出された稜線群の中に、共通する稜線を有する異なる稜線群が存在する場合に、共通する稜線から分岐する稜線と、分岐元の稜線とのなす角度が最も大きい角度となる稜線を含む稜線群を抽出する最大角度稜線群抽出手段と、前記候補稜線群抽出手段、前記最多稜線群抽出手段、及び前記最大角度稜線群抽出手段のうちのいずれかの手段により１つの稜線群が抽出された場合に、抽出された稜線群に属する稜線に対して前記付与済み稜線の前記Ｒ属性値と同じＲ属性値を付与する付与手段と、を有する。
【００１２】
請求項１の発明によれば、記録手段には、稜線が含まれる部品の形状を示す相貫面情報が記録される。除外手段が、前記記録手段に記録された相貫面情報が示す部品に含まれる稜線のうち、フィレット形状の半径値であるＲ属性値が予め付与された付与済み稜線を挟む面の折れ方向と異なる折れ方向となる面に挟まれる稜線を、前記付与済み稜線の前記Ｒ属性値を付与する可能性のある候補稜線から除外する。
【００１３】
候補稜線群抽出手段が、前記付与済み稜線の一方の端点から、前記除外手段により除外後の前記候補稜線を経由して他方の端点にたどり着くまでに経由する稜線からなるループ稜線群、及び前記付与済み稜線の一方の端点から、前記除外手段により除外後の前記候補稜線を経由して、一方の端点に隣接する稜線が存在しない終端稜線にたどり着くまでに経由する稜線からなる通常稜線群を抽出する。
【００１４】
最多稜線群抽出手段が前記候補稜線群抽出手段により抽出された稜線群のうち、属する稜線の数が最も多い稜線群を抽出し、最大角度稜線群抽出手段が前記候補稜線群抽出手段により抽出された稜線群の中に、共通する稜線を有する異なる稜線群が存在する場合に、共通する稜線から分岐する稜線と、分岐元の稜線とのなす角度が最も大きい角度となる稜線を含む稜線群を抽出し、付与手段が、前記候補稜線群抽出手段、前記最多稜線群抽出手段、及び前記最大角度稜線群抽出手段のうちのいずれかの手段により１つの稜線群が抽出された場合に、抽出された稜線群に属する稜線に対して前記付与済み稜線の前記Ｒ属性値と同じＲ属性値を付与する。
【００１５】
前記候補稜線群抽出手段、前記最多稜線群抽出手段、及び前記最大角度稜線群抽出手段のうちのいずれかの手段により抽出された前記稜線群は、付与済み稜線の前記Ｒ属性値と同じＲ属性値となる可能性が高い稜線であるため、相貫面データに示されるモデルの稜線に自動的にＲ属性値を付与することが可能な属性付与装置を提供することができる。
【００１６】
なお、本発明は、請求項２の発明のように、前記除外手段は、前記記録手段に記録された相貫面情報が示す部品に含まれる稜線のうち、既にＲ属性値が付与されている稜線を、前記候補稜線から更に除外する。
【００１７】
請求項２の発明よれば、既に適切なＲ属性値が付与されている稜線の属性値を、適切ではない可能性が高いＲ属性値に変更することを回避することができる。
【００１８】
更に、本発明は、請求項３の発明のように、前記付与手段は、前記候補稜線群抽出手段、前記最多稜線群抽出手段、及び前記最大角度稜線群抽出手段のいずれかの手段により抽出された前記稜線群が、前記ループ稜線群及び前記通常稜線群の場合には、前記ループ稜線群に属する稜線のみに対して前記付与済み稜線の前記Ｒ属性値と同じＲ属性値を付与するようにしても良い。
【００１９】
請求項３の発明によれば、同一のＲ属性値を有する可能性の高いループ稜線群に属する稜線に対してのみ上記Ｒ属性値を付与することができる。
【００２０】
上記課題を解決するために、請求項４の発明は、記録手段に記録された稜線が含まれる部品の形状を示す相貫面情報が示す部品に含まれる稜線のうち、フィレット形状の半径値であるＲ属性値が予め付与された付与済み稜線を挟む面の折れ方向と異なる折れ方向となる面に挟まれる稜線を、前記付与済み稜線の前記Ｒ属性値を付与する可能性のある候補稜線から除外する除外手段と、前記付与済み稜線の一方の端点から、前記除外手段により除外後の前記候補稜線を経由して他方の端点にたどり着くまでに経由する稜線からなるループ稜線群、及び前記付与済み稜線の一方の端点から、前記除外手段により除外後の前記候補稜線を経由して、一方の端点に隣接する稜線が存在しない終端稜線にたどり着くまでに経由する稜線からなる通常稜線群を抽出する候補稜線群抽出手段と、前記候補稜線群抽出手段に抽出された稜線群のうち、属する稜線の数が最も多い稜線群を抽出する最多稜線群抽出手段と、前記候補稜線群抽出手段により抽出された稜線群の中に、共通する稜線を有する異なる稜線群が存在する場合に、共通する稜線から分岐する稜線と、分岐元の稜線とのなす角度が最も大きい角度となる稜線を含む稜線群を抽出する最大角度稜線群抽出手段と、前記候補稜線群抽出手段、前記最多稜線群抽出手段、及び前記最大角度稜線群抽出手段のうちのいずれかの手段により１つの稜線群が抽出された場合に、抽出された稜線群に属する稜線に対して前記付与済み稜線の前記Ｒ属性値と同じＲ属性値を付与する付与手段と、としてコンピュータを機能させるための属性値付与プログラムである。
【００２１】
請求項４の発明は、請求項１と同様に作用するため、請求項１の発明と同様の効果が得られる。
【発明の効果】
【００２２】
本発明によれば、相貫面データに示されるモデルの稜線に自動的にＲ属性値を付与することが可能な属性付与装置、及び属性値付与プログラムを提供することができるという効果が得られる。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照して、本発明の実施の形態について詳細に説明する。
【００２４】
まず、図１を用いて本実施の形態に係る属性値付与装置１０の構成について説明する。属性値付与装置１０は、各々バスＢにより接続されたＣＰＵ（Central Processing Unit）２０と、ＲＯＭ（Read Only Memory）２１と、ＲＡＭ（Random Access Memory）２２と、ＨＤＤ（Hard Disk Drive）２３と、表示部２４と、操作入力部２５と、通信インタフェース２６とを含む。
【００２５】
ＣＰＵ２０は、属性値付与装置１０の全体的な動作を司るものであり、後述するプログラムは、ＣＰＵ２０により実行される。ＲＯＭ２１は、属性値付与装置１０の起動時に動作するブートプログラムなどが記憶されている不揮発性の記憶装置である。ＲＡＭ２２は、ＯＳ（Operating System）、プログラム、及びデータが展開される揮発性の記憶装置である。ＨＤＤ２３は、稜線が含まれる部品の形状を示す相貫面情報、及びＯＳなどが記録された不揮発性の記憶装置である。表示部２４は、各種情報を表示するものである。操作入力部２５は、オペレータが属性値付与装置１０の操作をする場合や属性値付与装置１０に情報を入力する際に用いられるものである。通信インタフェース２６は、他の情報処理装置と通信するためのインタフェースであり、ＮＩＣ（Network Interface Card）や、ＵＳＢデバイス等である。この通信インタフェース２６は、例えば他の情報処理装置から部品情報を取得する場合などに用いられるが、ＵＳＢメモリやフレキシブルディスク等で部品情報を取得する場合、或いは上記ＨＤＤ２３に予め相貫面情報が記憶されている場合には上記通信インタフェース２６は必須の構成ではない。
【００２６】
以下、上記属性値付与装置１０で実行される属性値付与処理について、フローチャートを用いて説明するが、この説明に先立ち、実際の部品の形状を用いて処理の概要について、２つの部品を用いて説明する。なお、以下の説明において用いられるＲ属性値は、フィレット形状の半径値を示している。
【００２７】
図２（Ａ）には、稜線を有する１つ目の部品が示されている。この図２（Ａ）に示される稜線にＲ属性値を付与する処理の概要について説明する。まず、図２（Ａ）に示される部品の面にＡ〜Ｆまでの大文字を割り当て、稜線にａ〜ｉまでの小文字を割り当てたものが、図２（Ｂ）に示されるものである。図２（Ｂ）において、稜線ではない辺は点線で表現している。また、Ｒ属性値が予め付与された付与済み稜線は稜線ａとしている。
【００２８】
次に、稜線ａを挟む面の折れ方向と異なる折れ方向となる面に挟まれる稜線を、稜線ａのＲ属性値を付与する可能性のある候補稜線から除外するために、折れ方向を示した図が図２（Ｃ）である。
【００２９】
この折れ方向について説明する。稜線ａを挟む面は、面Ａ、Ｂであり、その面Ａ、Ｂがなす形状は稜線ａを境に折れたものとなっている。そして、この折れた形状は、手前から見て向こう側に対して凸となる形状である。
【００３０】
一方、稜線ｄを挟む面は、面Ｃ、Ｄであり、その面Ｃ、Ｄがなす形状は稜線ｄを境に折れたものとなっている。そして、この折れた形状は、手前から見て向こう側に対して凹となる形状である。
【００３１】
これら凹凸が、稜線を挟む面の折れ方向である。この凹凸の判断方法について、図３を用いて説明する。図３（Ａ）に示されるように、予め相貫面情報に各面に対して方向を与える情報を与えておく。なお、同図（Ａ）の場合は、面Ａ、Ｆのみについて記している。いずれの矢印も、手前方向を向くように与えられている。
【００３２】
そして、稜線ｉと平行なベクトルを法線ベクトルとする平面と面Ａ、Ｆとの交差部分は同図（Ｂ）に示されるように、２つの線分となり、これら２つの線分のなす角度を求める。この場合、同図（Ｂ）に示されるように、θ１、θ２の２つの角度が求まるが、このうち、面の方向がある側の角度を、これら２つの線分のなす角度とする。従って、同図（Ｂ）の場合はθ１がなす角度となる。
【００３３】
このようにしてなす角度θが求まったら、０°＜θ＜１８０°の場合は凹と判断し、１８０°＜θ＜３６０°の場合は凸と判断する。なお、辺ｉは稜線であるので、θが０°又は１８０°になることはない。
【００３４】
以上説明した判断方法により、図２（Ｃ）に示されるように各稜線に折れ方向を求めることができる。
【００３５】
このように折れ方向が求まると、今度はＲ属性値が予め付与された稜線ａを挟む面の折れ方向と異なる折れ方向となる面に挟まれる稜線を、稜線ａのＲ属性値を付与する可能性のある候補稜線から除外する。
【００３６】
図２（Ｃ）の場合、稜線ａを挟む面の折れ方向は凸であるので、その方向と異なる凹となる面に挟まれる稜線ｄ、ｆ（点線で示されている）は、稜線ａのＲ属性値を付与する可能性のある候補稜線から除外されることとなる。
【００３７】
この時点で候補稜線は、稜線ｂ、ｃ、ｅ、ｇ、ｉの５つとなる。これらの候補稜線から、まず稜線ａの一方の端点から候補稜線を経由して他方の端点にたどり着くまでに経由する稜線からなるループ稜線群を抽出する。同図（Ｃ）の場合、稜線ａの端点のうち、一方の端点を稜線ｃと接続する端点とした場合、他方の端点に接続する稜線は存在しないため、ループ稜線群の数は０となる。
【００３８】
次に、これらの候補稜線から、稜線ａの一方の端点から候補稜線を経由して、一方の端に隣接する稜線が存在しない終端稜線にたどり着くまでに経由する稜線からなる通常稜線群を抽出する。一方の端に隣接する稜線が存在しない終端稜線は、同図の場合稜線ａを除くと稜線ｂ、ｇ、ｉである。
【００３９】
従って、図４に示されるように、通常稜線群は３つ抽出されることとなる。稜線群をその稜線群に属する稜線を括弧で囲んで表現した場合、同図（Ａ）に示される稜線群は、｛ａ、ｂ｝（稜線群Ａとする）であり、同図（Ｂ）に示される稜線群は、｛ａ、ｃ、ｅ、ｈ、ｉ｝（稜線群Ｂとする）であり、同図（Ｃ）に示される稜線群は、｛ａ、ｃ、ｅ、ｈ、ｇ｝（稜線群Ｃとする）である。
【００４０】
同図の場合、複数（３つ）の稜線群が抽出されているが、１つの稜線群しか抽出されない場合は、その稜線群に対して稜線ａと同じＲ属性値が付与されることとなる。
【００４１】
次に、抽出された稜線群のうち、当該稜線群に属する稜線の数が最も多い稜線群を抽出する。これは、属する稜線の数が最も多い稜線群に属する稜線は同じＲ属性値である可能性が高いためである。
【００４２】
同図の場合は、稜線群Ａに属する稜線の数は２であり、稜線群Ｂに属する稜線の数は５であり、稜線群Ｃに属する稜線の数は５である。従って、稜線群Ｂ、Ｃが抽出されることとなる。ここでも複数（２つ）の稜線群が抽出されているが、１つの稜線群しか抽出されない場合は、その稜線群に対して稜線ａと同じＲ属性値が付与されることとなる。
【００４３】
次に、抽出された稜線群の中に、共通する稜線を有する異なる稜線群が存在する場合に、共通する稜線から分岐する稜線と、分岐元の稜線とのなす角度が最も大きい角度となる稜線を含む稜線群を抽出する。
【００４４】
これは、最も大きい角度で分岐する稜線は同じＲ属性値である可能性が高いためである。
【００４５】
同図の場合は、稜線群Ｂ、Ｃで共通する稜線が稜線ａ、ｃ、ｅ、ｉであり、分岐する稜線は稜線群Ｂでは稜線ｉであり、稜線群Ｃでは稜線ｇである。また、分岐する稜線と接続する稜線は稜線ｈである。
【００４６】
従って、分岐する稜線ｇ、ｉと接続する共通する稜線ｈとのなす角は、稜線ｈ、ｉの場合はθであり、稜線ｈ、ｇの場合はφである。同図の場合、φ＜θであるので、稜線群Ｂが抽出されることとなる。
【００４７】
このようにして抽出された稜線群Ｂに属する稜線（ｃ、ｅ、ｈ、ｉ）に対して稜線ａのＲ属性値と同じＲ属性値が付与される。
【００４８】
上述したようにＲ属性値を付与する稜線からなる稜線群が抽出される場合もあるが、図５に示されるように、そのような稜線群が抽出されない場合もある。上記処理により稜線（ｃ、ｅ、ｈ、ｉ）にはＲ属性値が付与された（同図では稜線にＲと表現している）場合、既にＲ属性値が付与されている稜線を、候補稜線から更に除外するため、稜線ｂは接続する候補稜線が存在せず孤立したかたちとなることにより、稜線群が抽出されることはない。
【００４９】
次に、図６に示される２つ目の部品を用いて処理概要について説明する。図６（Ａ）に示される部品は、手前から奥へ凸となっている部品である。この部品に対しても図６（Ｂ）に示されるように、部品の面にＡ〜Ｆまでの大文字を割り当て、稜線にａ〜ｌまでの小文字を割り当てる。図６（Ｂ）において、稜線ではない辺は点線で表現している。また、Ｒ属性値が予め付与された付与済み稜線は稜線ａとしている。
【００５０】
次に、稜線ａを挟む面の折れ方向と異なる折れ方向となる面に挟まれる稜線を、稜線ａのＲ属性値を付与する可能性のある候補稜線から除外するために、折れ方向を示した図が図６（Ｃ）である。
【００５１】
折れ方向は先ほど説明したとおりである。折れ方向が求まると、今度はＲ属性値が予め付与された稜線ａを挟む面の折れ方向と異なる折れ方向となる面に挟まれる稜線を、稜線ａのＲ属性値を付与する可能性のある候補稜線から除外する。
【００５２】
図６（Ｃ）の場合、稜線ａを挟む面の折れ方向は凸であるので、その方向と異なる凹となる面に挟まれる稜線ｉ、ｊ、ｋ、ｌ（点線で示されている）は、稜線ａのＲ属性値を付与する可能性のある候補稜線から除外されることとなる。
【００５３】
この時点で候補稜線は、稜線ｂ、ｃ、ｄ、ｅ、ｆ、ｇ、ｈの７つとなる。これらの候補稜線から、まず稜線ａの一方の端点から候補稜線を経由して他方の端点にたどり着くまでに経由する稜線からなるループ稜線群を抽出する。なお、ループとは、稜線ａから稜線ａに再び戻ることを表現するものである。
【００５４】
同図（Ｃ）の場合、稜線ａの両端には稜線ｂ、ｄが接続されている。そして、図７（Ａ）に示されるように、一方の端点から候補稜線を経由して他方の端点にたどり着くまでに経由（ａ→ｂ→ｃ→ｄ→ａの順、或いは逆順に経由）する稜線からなるループ稜線群｛ａ、ｂ、ｃ、ｄ｝が存在し、図７（Ａ）の場合はループ稜線群の数は１となる。
【００５５】
次に、稜線ａの一方の端点から候補稜線を経由して、一方の端に隣接する稜線が存在しない終端稜線にたどり着くまでに経由する稜線からなる通常稜線群を抽出する。一方の端に隣接する稜線が存在しない終端稜線は、稜線ｅ、ｆ、ｇ、ｈである。従って、同図（Ｂ）に示されるような通常稜線群｛ａ、ｅ｝のように、稜線ａから、稜線ｅ、ｆ、ｇ、ｈまでにたどり着く４つの通常稜線群が存在する。
【００５６】
以下、上述したように、稜線群に属する稜線の数が最も多い稜線群を抽出し、抽出された稜線群の中に、共通する稜線を有する異なる稜線群が存在する場合に、共通する稜線から分岐する稜線と、分岐元の稜線とのなす角度が最も大きい角度となる稜線を含む稜線群を抽出してもよいが、図７に示されるように、抽出された稜線群が、ループ稜線群及び通常稜線群の場合には、同一のＲ属性値を有する可能性の高いループ稜線群に属する稜線のみに対して稜線ａのＲ属性値と同じＲ属性値を付与するようにしても良い。この場合は、稜線ｂ、ｃ、ｄに稜線ａのＲ属性値と同じＲ属性値を付与されることとなる。
【００５７】
以上説明した処理の詳細を、フローチャートを用いて説明する。以下に説明する処理は、ＣＰＵ２０により実行されるものである。
【００５８】
まず最初に、図８に示されるＲ属性値を付与する処理の全体の流れを示すＲ属性値付与全体処理について説明する。ステップ１０１で、ＨＤＤ２３から相貫面情報を取得する。この相貫面情報には、上述した面の方向、及び後述する０番目の稜線のＲ属性値が少なくとも含まれている。なお、面の方向については、面の方向を付与する処理を予め設けておき、この処理を実行するようにしても良い。
【００５９】
次のステップ１０２で、稜線カウンタｊを０で初期化する。この稜線カウンタとは、稜線の数をカウントするためのものである。
【００６０】
次のステップ１０３で、ｊ番目の稜線である稜線ｊにＲ属性値が付与されているか否か判断する。このステップ１０３で否定判断した場合には、ステップ１０４でＲ属性値付与処理を行い、ステップ１０５の処理に進む。
【００６１】
一方、ステップ１０３で、否定判断した場合には、稜線ｊにＲ属性値を付与する必要がないので、ステップ１０５の処理に進む。
【００６２】
ステップ１０５で、カウンタｊを１つ増分し、ステップ１０６でｊがＮ以上か否か判断する。このＮは、相貫面情報が示す部品情報が有する稜線の総数であるので、このステップ１０６の判断は、全ての稜線に対してＲ属性値を付与したか否かを判断するステップである。
【００６３】
次に上記ステップ１０４のＲ属性値付与処理を、図９のフローチャートを用いて説明する。まず、ステップ２０１で、稜線ｊのＲ属性値を付与する可能性のある候補稜線から除外する除外処理を行う。次のステップ２０２で、図６で説明した稜線ｊの一方の端点から候補稜線を経由して他方の端点にたどり着くまでに経由する稜線からなるループ稜線群を抽出するループ稜線群抽出処理を行う。
【００６４】
次のステップ２０３で、上記ループ稜線群抽出処理で抽出された稜線群の数が０より大きいか否か判断する。本実施の形態では、抽出されたものがループ稜線群及び通常稜線群の場合には、ループ稜線群に属する稜線のみに対して稜線ｊのＲ属性値と同じＲ属性値を付与するようになっている。従って、ループ稜線群が抽出された場合には、通常稜線群の抽出は行わないため、ステップ２０６に処理が進む。
【００６５】
上記ステップ２０３で否定判断した場合には、ステップ２０４で、稜線ｊの一方の端点から候補稜線を経由して、一方の端点に隣接する稜線が存在しない終端稜線にたどり着くまでに経由する稜線からなる通常稜線群を抽出する通常稜線群抽出処理を行う。
【００６６】
次のステップ２０５で、上記通常稜線群抽出処理で抽出された稜線群の数が０より大きいか否か判断する。ステップ２０５で否定判断した場合には、Ｒ属性値を付与する稜線がないため（図５参照）、処理を終了する。
【００６７】
一方、ステップ２０５で肯定判断した場合には、次のステップ２０６で、上記ステップ２０２、ステップ２０４のいずれかで抽出された稜線群に属する稜線に稜線ｊと同じＲ属性値を付与して、処理を終了する。
【００６８】
次に、上記ステップ２０１の除外処理を、図１０のフローチャートを用いて説明する。まず、ステップ３０１で、稜線ｊを挟む面の折れ方向と異なる折れ方向となる面に挟まれる稜線を候補から除外し、ステップ３０２で、既にＲ属性値が付与されている稜線を、候補稜線から更に除外する。
【００６９】
次に、上記ステップ２０２のループ稜線群抽出処理を、図１１のフローチャートを用いて説明する。まず、ステップ４０１で、稜線ｊからループとなる稜線群を抽出する。次のステップ４０２で、抽出された稜線群の数が０か否か判断する。このステップ４０２で肯定判断した場合には、そのまま処理を終了し、否定判断した場合には、ステップ４０３で、稜線群に属する稜線の数が最も多い稜線群を抽出し、抽出された稜線群の中に、共通する稜線を有する異なる稜線群が存在する場合に、共通する稜線から分岐する稜線と、分岐元の稜線とのなす角度が最も大きい角度となる稜線を含む稜線群を抽出するＲ属性値付与稜線群抽出処理を行い、処理を終了する。
【００７０】
次に、上記ステップ２０４の通常稜線群抽出処理を、図１２のフローチャートを用いて説明する。まず、ステップ５０１で、稜線ｊから、一方の端に隣接する稜線が存在しない稜線にたどり着くまでに経由する稜線からなる稜線群を抽出する。
【００７１】
次のステップ５０２で、抽出された稜線群の数が０か否か判断する。このステップ５０２で肯定判断した場合には、そのまま処理を終了し、否定判断した場合には、ステップ５０３で、上述したＲ属性値付与稜線群抽出処理を行い、処理を終了する。
【００７２】
次に、図１３のフローチャートを用いて、上記Ｒ属性値付与稜線群抽出処理について説明する。まず、ステップ６０１で、含まれる稜線が最も多い稜線群を抽出する。次のステップ６０２で、抽出された稜線群の数が１か否か判断する。稜線群の数の数が１の場合は、その稜線群にＲ属性値を付与することが確定するので処理を終了する。
【００７３】
ステップ６０２で否定判断した場合には、ステップ６０３で、共通する稜線から分岐する稜線と、分岐元の稜線とのなす角度が最も大きい角度となる稜線を含む稜線群を抽出して処理を終了する。
【００７４】
以上説明したように、本実施の形態では、付与済み稜線の一方の端点から、除外後の候補稜線を経由して他方の端点にたどり着くまでに経由する稜線からなるループ稜線群、及び付与済み稜線の一方の端点から、前記除外手段により除外後の候補稜線を経由して、一方の端点に隣接する稜線が存在しない終端稜線にたどり着くまでに経由する稜線からなる通常稜線群を抽出する（候補稜線群抽出手段）。このときに抽出された稜線群の数が１であれば、その稜線群に対してＲ属性値が付与される。
【００７５】
抽出された稜線群の数が複数の場合には、当該稜線群に属する稜線の数が最も多い稜線群を抽出する（最多稜線群抽出手段）。このときに抽出された稜線群の数が１であれば、その稜線群に対してＲ属性値が付与される。
【００７６】
稜線の数が最も多い稜線群が複数の抽出され、抽出された稜線群の中に、共通する稜線を有する異なる稜線群が存在する場合に、共通する稜線から分岐する稜線と、分岐元の稜線とのなす角度が最も大きい角度となる稜線を含む稜線群を抽出する（最大角度稜線群抽出手段）。抽出された稜線群に対してＲ属性値が付与される。異なる稜線群同士では必ず角度が異なる稜線が存在するため、ここで抽出される稜線群の数は１となる。この稜線群に対してＲ属性値が付与される。
【００７７】
このように、候補稜線群抽出手段、多稜線群抽出手段、及び最大角度稜線群抽出手段のうちのいずれかの手段により１つの稜線群が抽出された場合に、抽出された稜線群に属する稜線に対して付与済み稜線の前記Ｒ属性値と同じＲ属性値を付与する。
【００７８】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【００７９】
また、上記の実施形態は、クレーム（請求項）にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。前述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組合せにより種々の発明を抽出できる。実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られる限りにおいて、この幾つかの構成要件が削除された構成が発明として抽出され得る。
【００８０】
また、実施の形態で示した各種処理プログラムの処理の流れ（図８、図９、図１０、図１１、図１２、図１３参照。）も一例であり、本発明の主旨を逸脱しない範囲内で適宜変更することができることも言うまでもない。
【図面の簡単な説明】
【００８１】
【図１】実施の形態に係る属性値付与装置の構成を示す図である。
【図２】稜線にＲ属性値を付与する処理概要を示す図（その１）である。
【図３】凹凸の判断方法を示す図である。
【図４】稜線にＲ属性値を付与する処理概要を示す図（その２）である。
【図５】稜線群が抽出されることがない例を示す図である。
【図６】稜線にＲ属性値を付与する処理概要を示す図（その３）である。
【図７】稜線にＲ属性値を付与する処理概要を示す図（その４）である。
【図８】Ｒ属性値付与全体処理を示すフローチャートである。
【図９】属性値付与処理を示すフローチャートである。
【図１０】除外処理を示すフローチャートである。
【図１１】ループ稜線群抽出処理を示すフローチャートである。
【図１２】通常稜線群抽出処理を示すフローチャートである。
【図１３】Ｒ属性値付与稜線群抽出処理を示すフローチャートである。
【符号の説明】
【００８２】
１０  属性値付与装置
２０  ＣＰＵ
２３  ＨＤＤ
２４  表示部
【図１】
0004968118.tif 000002
【図２】
0004968118.tif 000003
【図３】
0004968118.tif 000004
【図４】
0004968118.tif 000005
【図５】
0004968118.tif 000006
【図６】
0004968118.tif 000007
【図７】
0004968118.tif 000008
【図８】
0004968118.tif 000009
【図９】
0004968118.tif 000010
【図１０】
0004968118.tif 000011
【図１１】
0004968118.tif 000012
【図１２】
0004968118.tif 000013
【図１３】
0004968118.tif 000014