(57)【要約】【課題】ジオメトリックモデルにおけるジオメトリック特徴のグループを検出するためのコンピュータで実施される方法である。【解決手段】本方法は、定義された空間的関係における少なくとも第１および第２のジオメトリックエレメントを含んでいるジオメトリックエレメントのグループを伴うオブジェクトに係るジオメトリックモデルにアクセスするステップと、ジオメトリックエレメントそれぞれのあらゆるインスタンスを検出する検出結果にアクセスするステップと、各ジオメトリックエレメントの各インスタンスが他のジオメトリックエレメントそれぞれのインスタンスと定義された空間的関係を有することを検査するステップと、ジオメトリックエレメントのインスタンスが他のジオメトリックエレメントそれぞれのインスタンスと定義された空間的関係を有していない場合に、ジオメトリックエレメントのインスタンスを記グループに属していないものとして拒絶するステップとを含む。【選択図】図１
2018073379.tif 000002
【特許請求の範囲】
【請求項１】
ジオメトリックモデルにおけるジオメトリック特徴のグループを検出するためのコンピュータで実施される方法であって、
定義された空間的関係における少なくとも第１および第２のジオメトリックエレメントを含んでいるジオメトリックエレメントのグループを伴うオブジェクトに係るジオメトリックモデルにアクセスするステップと、
前記ジオメトリックエレメントそれぞれのあらゆるインスタンスを検出する検出結果にアクセスするステップと、
各ジオメトリックエレメントの各インスタンスが、他のジオメトリックエレメントそれぞれのインスタンスと前記定義された空間的関係を有することを検査するステップと、
ジオメトリックエレメントのインスタンスが、他のジオメトリックエレメントそれぞれのインスタンスと前記定義された空間的関係を有していない場合に、ジオメトリックエレメントの前記インスタンスを、前記グループに属していないものとして拒絶するステップと、
を含む、方法。
【請求項２】
前記定義された空間的関係は、ジオメトリックエレメント間の距離が閾値距離以下であること、または、距離がゼロであることである、
請求項１に記載の方法。
【請求項３】
前記ジオメトリックエレメント間の距離は、ジオメトリックエレメントの中心間距離によって、または、ジオメトリックエレメントの境界ボックス間の距離によって計算される、
請求項１または２に記載の方法。
【請求項４】
前記ジオメトリックエレメントのグループは、１つのネジと１つ以上の他のエレメントを含むエレメントのペアであり、かつ、ネジとボス、または、ネジとナット、もしくは、ネジとワッシャ、を含むものとして分類される、
請求項１乃至３いずれか一項に記載の方法。
【請求項５】
前記ジオメトリックエレメントのグループは、１つのネジと２つ以上の他のエレメントを含む３つのエレメントのグループであり、かつ、ネジとワッシャとナット、を含むものとして分類される、
請求項１乃至３いずれか一項に記載の方法。
【請求項６】
多数の分類それぞれのグループを検出することにより、ジオメトリックモデルにおいて、エレメントのグループに係る１つ以上の分類が検出される、
請求項１乃至５いずれか一項に記載の方法。
【請求項７】
前記方法は、さらに、
前記少なくとも第１および第２のジオメトリックエレメントの前記インスタンスを、並行して検出するステップ、を含む、
請求項１乃至６いずれか一項に記載の方法。
【請求項８】
前記方法は、さらに、
エレメントのグループを含む可能性があるサブパーツを検出するために、前記ジオメトリックモデルを分割するステップ、を含む、
請求項１乃至７いずれか一項に記載の方法。
【請求項９】
サブパーツは、既定のサイズ以下のフェイスを抽出すること、および、共通のエッジを有する場合に、抽出された前記フェイスを結合すること、によって検出される、
請求項８に記載の方法。
【請求項１０】
最小閾値よりも少ない数のフェイス、及び／又は、最大閾値よりも多い数のフェイスを伴う見込みのあるエレメントは、無視される、
請求項８または９に記載の方法。
【請求項１１】
前記方法は、さらに、
前記グループにおいて、メスのエレメントの内側におけるオスのエレメントのめり込みを検出するステップ、を含み、
検出は、オーバーラップしている前記オスのエレメントと前記メスのエレメントの表面を検出すること、および、前記オーバーラップしている距離を計算することによるものである、
請求項１乃至１０いずれか一項に記載の方法。
【請求項１２】
前記オーバーラップしている距離は、めり込みに係るネジ山の数量を計算し、かつ、前記ネジ山の数量が安全なネジ山の閾値よりも少ない場合に、アラームを生成する、ために使用される、
請求項１１に記載の方法。
【請求項１３】
前記ジオメトリックモデルは、フェイス情報を伴う三角形区分データを含み、または、前記方法は、フェイス情報を伴う三角形区分データを生成することを含む、
請求項１乃至１２いずれか一項に記載の方法。
【請求項１４】
前記ジオメトリックモデルは、物理的パーツのアセンブリを表わしている、
請求項１乃至１３いずれか一項に記載の方法。
【請求項１５】
ジオメトリックモデルにおけるジオメトリック特徴のグループを検出するためのコンピュータ装置であって、
プロセッサと、前記プロセッサによる実行のためのインストラクションを保管しているメモリと、を含み、
前記プロセッサは、前記インストラクションによって、
定義された空間的関係における少なくとも第１および第２のジオメトリックエレメントを含んでいるジオメトリックエレメントのグループを伴うオブジェクトに係るジオメトリックモデルを含んでいるコンピュータファイルにアクセスし、
前記ジオメトリックエレメントそれぞれのあらゆるインスタンスを検出する検出結果にアクセスし、
各ジオメトリックエレメントの各インスタンスが、他のジオメトリックエレメントそれぞれのインスタンスと前記定義された空間的関係を有することを検査し、
ジオメトリックエレメントのインスタンスが、他のジオメトリックエレメントそれぞれのインスタンスと前記定義された空間的関係を有していない場合に、ジオメトリックエレメントの前記インスタンスを、前記グループに属していないものとして拒絶する、
ように構成されている、装置。
【請求項１６】
実行されると、ジオメトリックモデルにおけるジオメトリック特徴のグループを検出するためのコンピュータで実施される方法を実行する、コンピュータプログラムであって、前記方法は、
定義された空間的関係における少なくとも第１および第２のジオメトリックエレメントを含んでいるジオメトリックエレメントのグループを伴うオブジェクトに係るジオメトリックモデル含んでいるコンピュータファイルにアクセスするステップと、
前記ジオメトリックエレメントそれぞれのあらゆるインスタンスを検出する検出結果にアクセスするステップと、
各ジオメトリックエレメントの各インスタンスが、他のジオメトリックエレメントそれぞれのインスタンスと前記定義された空間的関係を有することを検査するステップと、
ジオメトリックエレメントのインスタンスが、他のジオメトリックエレメントそれぞれのインスタンスと前記定義された空間的関係を有していない場合に、ジオメトリックエレメントの前記インスタンスを、前記グループに属していないものとして拒絶するステップと、を含む、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ支援設計（ｃｏｍｐｕｔｅｒ−ａｉｄｅｄ  ｄｅｓｉｇｎ）およびエンジニアリングに関する。特定的には、コンピュータ環境におけるオブジェクトの生成されたモデルの中の特徴グループを検出することに関する。一旦、特徴グループが検出されると、それらは、例えば、解析のためにより好適なモデルを表示するために、変更され、または、取り除かれてよい。
【背景技術】
【０００２】
ジオメトリックまたはコンピュータ支援設計、ＣＡＤ、モデルにおけるパーツまたはサブパーツを検出することの問題は、多くの研究において取り組まれてきた。採られているアプローチのタイプに基づいて、検出方法は、２つのカテゴリーに分離され得る。
１．エキスパートシステムタイプ
２．機械学習タイプ
【０００３】
エキスパートタイプシステムの一つの例は、従来技術文献［１］、Ｃｈｏｗ共著、タイトル”Ａｕｔｏｍａｔｉｃ  Ｄｅｔｅｃｔｉｏｎ  ｏｆ  Ｇｅｏｍｅｔｒｉｃ  Ｆｅａｔｕｒｅｓ  ｉｎ  ＣＡＤ  Ｍｏｄｅｌｓ  ｂｙ  Ｃｈａｒａｃｔｅｒｉｓｔｉｃｓ”、ＣＡＤ’１４議事録、２０１４、２０１−２０３、において示されており、そこでは、サブパーツの特別な特性が検出のために使用されている。そうしたシステムの利点は、専門知識が検出プロセスの中に明示的に取り込まれていることであり、そして、所定のパーツが他のものの間で検出される理由は、非常に容易には理解され得ない。他方で、正確なエキスパートシステムを設計することには多大な労力を要する。特に、ネジといった、複雑な形状についてである。
【０００４】
機械学習（またはＭＬ）タイプのシステムは、所定のオブジェクトを検出するように明示的にプログラムされる必要はない−事例から自動的に学習し得るものである。そうしたシステムの一つの例は、従来技術文献［２］、タイトル”Ａ  ｄｅｅｐ  ｌｅａｒｎｉｎｇ  ａｐｐｒｏａｃｈ  ｔｏ  ｔｈｅ  ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ｏｆ  ３Ｄ  ＣＡＤ  ｍｏｄｅｌｓ”、Ｊ  Ｚｈｅｊｉｓａｎｇ著、Ｕｎｉｖ−Ｓｃｉ  Ｃ（Ｃｏｎｐｕｔ＆Ｅｌｅｃｔｒｏｎ）２０１４  １５（２）：９１−１０６、において示されており、そこでは、様々なＣＡＤパーツを検出するためにニューラルネットワークが使用されている。しかしながら、そうしたシステムは、たいてい、フォールスポジティブ（ｆａｌｓｅ  ｐｏｓｉｔｉｖｅ）及び／又はフォールスネガティブ（ｆａｌｓｅ  ｎｅｇａｔｉｖｅ）になりがちであり、そのため、他のパーツまたはサブパーツが検索されているものに非常に類似して見えるということがしばしば起こる。ネジ検出の例においては、人間にとってさえもジオメトリだけを眺めることによってはそれらを見分けることが難しいという程度において、シャフト部品が、ときどき、ネジと同様に見えることがある。
【０００５】
採られたアプローチにかかわらず、検出を補完するために必要とされる人間の労力の量を減らすために、そうしたパーツに対する検出の精度を改善する必要が存在する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従って、ＣＡＤパーツまたはサブパーツの自動的な検出の信頼性を増加させるシステムを生成することが望まれる。
【課題を解決するための手段】
【０００７】
本発明の一つの態様に係る実施例に従って、ジオメトリックモデルにおけるジオメトリック特徴のグループを検出するためのコンピュータで実施される方法が提供される。本方法は、定義された空間的関係における少なくとも第１および第２のジオメトリックエレメントを含んでいるジオメトリックエレメントのグループを伴うオブジェクトに係るジオメトリックモデルにアクセスするステップと；ジオメトリックエレメントそれぞれのあらゆるインスタンスを検出する検出結果にアクセスするステップと；各ジオメトリックエレメントの各インスタンスが、他のジオメトリックエレメントそれぞれのインスタンスと定義された空間的関係を有することを検査するステップと；ジオメトリックエレメントのインスタンスが、他のジオメトリックエレメントそれぞれのインスタンスと定義された空間的関係を有していない場合に、ジオメトリックエレメントのインスタンスを、グループに属していないものとして拒絶するステップ；を含む。
【０００８】
それに応じて、ジオメトリックエレメントのインスタンスが、ペアにおける他のジオメトリックエレメントと定義された空間的関係を有するか（そして、グループにおいて２つ以上のエレメントが存在する場合には、他のジオメトリックエレメントと相互に定義された空間的関係を有するか）が確認され得る。ペア（２つのエレメントが存在する場合）、三つ揃い（３つのエレメントのグループ）、または、３つ以上のエレメントが一緒のグループを検出することは、ジオメトリックエレメントを検出するときに、「フォールスポジティブ」を除外することにおいて役に立つ。
【０００９】
あらゆる適切な空間的関係が提供され得る。特には、エレメントの近接（ｐｒｏｘｉｍｉｔｙ）を示すものである。定義された空間的関係は、ジオメトリックエレメント間の距離が閾値距離以下であること、または、閾値距離がゼロであることであってよい。
【００１０】
ジオメトリックエレメント間の距離は、例えば、最も近いフェイス（ｆａｃｅ）間、または、ジオメトリックエレメントの中心間の距離によって、もしくは、ジオメトリックエレメントの境界ボックス間の距離によって計算され得る。
【００１１】
ジオメトリックエレメントは、少なくとも２つのエレメント（ペア）を含む必要があり、または、３つのエレメントのグループであってもよい。本発明は、同一エレメントの１つ以上のグループ（特定の分類のグループ）がモデルの中に存在するときに、最も役に立つものである。
【００１２】
各グループ分類は、所定のエレメントのグループを含んでよい。いくつかの実施例において、エレメントのグループは、１つのネジエレメントと１つ以上の他のエレメントを含み、例えば、ネジとボス、または、ネジとナット、もしくは、ネジとワッシャ、を含むものとして分類される。代替的に、エレメントのグループは、１つのネジと２つ以上の他のエレメントを含んでよく、そして、例えば、ネジとワッシャとナット、を含むものとして分類され得る。
【００１３】
各分類のグループを検出することにより、ジオメトリックモデルにおいて、エレメントのグループに係る１つ以上の分類が検出され得る。例えば、同時に、または、順番に、異なる分類に係るグループを検出することによるものである。
【００１４】
少なくとも第１および第２のジオメトリックエレメント（または、グループ分類において存在する全てのジオメトリックエレメント）のインスタンスが、並行して検出される検出ステージが存在し得る。
【００１５】
本方法は、さらに、エレメントのグループを含む可能性があるサブパーツ（パーツの部分）を検出するために、ジオメトリックモデルを分割するステップを含み得る。
【００１６】
例えば、サブパーツは、既定のサイズ以下のフェイスを抽出すること、および、共通のエッジを有する場合に、抽出されたフェイスを結合することによって検出され得る。
【００１７】
最小閾値よりも少ない数のフェイス、及び／又は、最大閾値よりも多い数のフェイスを伴う見込みのあるエレメントは、無視されてよい。
【００１８】
本方法は、さらに、グループにおいて、メスのエレメントの内側におけるオスのエレメントのめり込み（ｐｅｎｅｔｒａｔｉｏｎ）を検出するステップを含む。オーバーラップしているオスのエレメントとメスのエレメントの表面を検出すること、および、オーバーラップしている距離を計算することによるものである。
【００１９】
このオーバーラップしている距離は、めり込みに係るネジ山の数量を計算し、かつ、ネジ山の数量が安全なネジ山の閾値（ｓａｆｅ−ｔｈｒｅａｄｉｎｇ  ｔｈｒｅｓｈｏｌｄ）よりも少ない場合に、アラームを生成するために使用され得る。例えば、アラームは、スクリーン上に表示されるポップアップ警告、または、他のユーザ警告であってよい。
【００２０】
コンピュータファイルのジオメトリックモデルは、フェイス情報を伴う三角形区分データ（ｔｒｉａｎｇｕｌａｔｅｄ  ｄａｔａ）を含んでよく、または、本方法は、（そうした情報を直ちには表わさないモデルから）フェイス情報を伴う三角形区分データを生成することを含んでよい。
【００２１】
ジオメトリックモデルは、物理的（３次元）パーツのアセンブリを、例えば、パーツのアセンブリにおいて、表わし得る。
【００２２】
本発明の第２の態様に係る実施例に従って、ジオメトリックモデルにおけるジオメトリック特徴のグループを検出するためのコンピュータ装置が提供される。本コンピュータ装置は、プロセッサと、プロセッサによる実行のためのインストラクションを保管しているメモリとを含む。プロセッサは、インストラクションによって、定義された空間的関係における少なくとも第１および第２のジオメトリックエレメントを含んでいるジオメトリックエレメントのグループを伴うオブジェクトに係るジオメトリックモデルを含んでいるコンピュータファイルにアクセスし；ジオメトリックエレメントそれぞれのあらゆるインスタンスを検出する検出結果にアクセスし；各ジオメトリックエレメントの各インスタンスが他のジオメトリックエレメントそれぞれのインスタンスと定義された空間的関係を有することを検査し；ジオメトリックエレメントのインスタンスが他のジオメトリックエレメントそれぞれのインスタンスと定義された空間的関係を有していない場合に、ジオメトリックエレメントのインスタンスをグループに属していないものとして拒絶する、ように構成されている。
【００２３】
本発明の第３の態様に係る実施例に従って、コンピュータプログラムが提供される。実行されると、ジオメトリックモデルにおけるジオメトリック特徴のグループを検出するためのコンピュータで実施される方法を実行するものである。本方法は、定義された空間的関係における少なくとも第１および第２のジオメトリックエレメントを含んでいるジオメトリックエレメントのグループを伴うオブジェクトに係るジオメトリックモデル含んでいるコンピュータファイルにアクセスするステップと；ジオメトリックエレメントそれぞれのあらゆるインスタンスを検出する検出結果にアクセスするステップと；各ジオメトリックエレメントの各インスタンスが他のジオメトリックエレメントそれぞれのインスタンスと定義された空間的関係を有することを検査するステップと；ジオメトリックエレメントのインスタンスが他のジオメトリックエレメントそれぞれのインスタンスと定義された空間的関係を有していない場合に、ジオメトリックエレメントのインスタンスをグループに属していないものとして拒絶するステップ；を含む。
【００２４】
本発明の望ましい実施例に従った装置またはコンピュータプログラムは、方法の態様のあらゆる組み合わせを含み得る。さらなる実施例に従った方法またはコンピュータプログラムは、それらが処理（ｐｒｏｃｅｓｓｉｎｇ）とメモリ機能を必要とする点でコンピュータにより実施されるものとして説明され得る。
【００２５】
望ましい実施例に従った装置は、所定の機能を実行するように構成または配置されているものとして、または、単に実行「するために」説明されている。この構成または配置は、ハードウェア、または、ミドルウェア、もしくは、あらゆる他の適切なシステムを使用するものであり得る。望ましい実施例において、構成または配置は、ソフトウェアによるものである。
【００２６】
一つの態様に従って、プログラムが提供される。少なくとも一つのコンピュータ上にロードされると、あらゆる前出の装置の定義、または、それらのあらゆる組み合わせに従った装置になるようにコンピュータを構成するものである。
【００２７】
さらなる態様に従って、プログラムが提供される。少なくとも一つのコンピュータ上にロードされると、あらゆる前出の方法の定義、または、それらのあらゆる組み合わせに従った方法のステップを実行するように少なくとも一つのコンピュータを構成するものである。一般的に、コンピュータは、定義された機能を提供するように構成または配置されているものとしてリストされたエレメントを含んでよい。
【００２８】
本発明は、デジタル電子回路、または、コンピュータハードウェア、ファームウェア、ソフトウェア、または、それらの組み合わせにおいて、実施され得る。本発明は、コンピュータプログラムまたはコンピュータプログラム製品として実施され得る。つまり、固定の情報キャリア（ｃａｒｒｉｅｒ）において明確に具現されたコンピュータプログラムであり、例えば、マシンで読取り可能な記録デバイス、または、一つまたはそれ以上のハードウェアモジュールによる実行のため、または、オペレーションをコントロールするために伝播された信号におけるものである。
【００２９】
コンピュータプログラムは、スタンドアロンプログラム、コンピュータプログラム部分、または、一つ以上のコンピュータプログラムの形式であってよく、かつ、コンパイルまたはインタープリタ言語を含む、あらゆる形式のプログラミング言語で書かれてよい。そして、スタンドアロンプログラムとして、もしくは、モジュール、コンポーネント、サブルーチン、または、データ処理環境における使用のために適切な他のユニットとしての形式を含む、あらゆる形式において展開されてよい。コンピュータプログラムは、一つのモジュール上で、もしくは、一つのサイト、または、分散され、かつ、通信ネットワークによって相互接続された複数のサイトにおける複数のモジュール上で実行されるように展開されてよい。
【００３０】
本発明の方法ステップは、入力データにおいて動作し、かつ、出力を生成することによって本発明の機能を実施するためのコンピュータプログラムを実行する一つまたはそれ以上のプログラマブルプロセッサによって実行され得る。本発明の装置は、プログラムされたハードウェア、または、特定目的の論理回路として実施され得る。例えば、ＦＰＧＡ（現場プログラム可能ゲートウェイ）またはＡＳＩＣ（特定用途向け集積回路）を含むものである。
【００３１】
コンピュータプログラムの実行のために適したプロセッサは、例として、汎用と専用の両方のマイクロプロセッサ、および、あらゆる種類のデジタルコンピュータに係る一つまたはそれ以上のプロセッサを含んでいる。一般的に、プロセッサは、読出し専用メモリ、または、ランダムアクセスメモリ、もしくは、その両方から、インストラクションとデータを受け取る。コンピュータの主要なエレメントは、インストラクションとデータを保管するための一つまたはそれ以上のメモリデバイスに結合されたインストラクションを実行するためのプロセッサである。
【００３２】
本発明は、特定の実施例に関して説明されている。他の実施例は、以降の請求項の範囲内のものである。例えば、本発明のステップは、異なる順序で実行されてよく、かつ、それでも望ましい結果を達成し得るものである。
【００３３】
本発明のエレメントは、用語「メモリ（”ｍｅｍｏｒｙ”）」、「プロセッサ（”ｐｒｏｃｅｓｓｏｒ”）」、等を使用して説明されてきた。当業者であれば、そうした用語とそれらの均等物が、空間的には離れているが、定義された機能を果たすように統合されているシステムに係るパーツを参照し得ることを正しく理解するだろう。同様に、システムの同一な物理的パーツは、２つまたはそれ以上の定義された機能を提供し得るものである。
【００３４】
例えば、別々に定義された手段は、同一のメモリ及び／又はプロセッサを適切に使用して実施されてよい。
【図面の簡単な説明】
【００３５】
本発明の望ましい特徴が、添付の図面を参照して、純粋に例として、これから説明される。
【図１】図１は、一つの一般的な実施例における方法のフローチャートである。
【図２】図２は、本発明に係る一つの一般的な実施例におけるメインシステムコンポーネントのブロックダイヤグラムである。
【図３】図３は、一つの発明の実施例に係るハイレベルなレイアウトのダイヤグラムである。
【図４】図４は、近接近（ｃｌｏｓｅ  ｐｒｏｘｉｍｉｔｙ）におけるエレメントのペアの一つの例である。
【図５】図５は、ペア化検出方法のフローチャートである。
【図６】図６は、パーツのサブパーツを検出するための分割方法のフローチャートである。
【図７】図７は、検出されるべきジオメトリックエレメントを含んでいる、モデルの部分の斜視図である。
【図８】図８は、ネジのモデルの斜視図である。
【図９】図９は、ネジおよびボスの断面図であり、ボスの内側のネジ山の数量を示している。
【図１０】図１０は、ボスの内側のネジ山の数量を計算するためのフローチャートである。
【発明を実施するための形態】
【００３６】
図１は、本発明の一つの一般的な実施例を示しているフローチャートである。コンピュータで実施される方法は、ジオメトリックモデルにおけるジオメトリック特徴のグループを検出する。最初に、本モデルは、ジオメトリックエレメントのグループを伴うオブジェクトのジオメトリックモデルを含んでいるコンピュータファイルにアクセスする。グループは、定義された空間的関係における少なくとも第１および第２のジオメトリックエレメントを含んでいるものである。これは、あらゆる利用可能なフォーマットにおけるＣＡＤファイルであってよい。本方法は、また、ジオメトリックエレメントそれぞれのあらゆるインスタンス（ｉｎｓｔａｎｃｅ）を検出している検出結果にアクセスする（または、実際には提供する）。このデータを使用して、本方法は、各ジオメトリックエレメントの各インスタンスが、他のジオメトリックエレメントそれぞれのインスタンスと定義された空間的関係を有することを検査する。例えば、このことは、境界ボックス（オブジェクトそれぞれを取り囲むボックス）またはオブジェクトの中心の比較によるものであってよい。ジオメトリックエレメントのインスタンスが、２つまたはそれ以上のエレメントのグループにおける他のジオメトリックエレメントのペア又はそれぞれにおける他のジオメトリックエレメントのインスタンスと定義された空間的関係を有していないとき、ジオメトリックエレメントのインスタンスは、グループに属していないものとして拒絶される。もちろん、拒絶されたインスタンスは、別のグループに属してよく、もしくは、あらゆるグループに属しないでよい。
【００３７】
図２は、本発明を具現化するハードウェアデータストレージサーバといった、コンピューティングデバイスのブロックダイヤグラムであり、ここにおいて詳細に述べられるように改善されたパーツ検出の方法を実施するために使用され得るものである。コンピューティングデバイスは、プロセッサ９９３、および、メモリ９９４、といったハードウェアパーツを含んでいる。任意的に、コンピューティングデバイスは、また、他のコンピューティングデバイスと通信するためのネットワークインターフェイス９９７を含んでいる。例えば、本発明の実施例に係る他のコンピューティングデバイスである。
【００３８】
例えば、一つの実施例は、そうしたコンピューティングデバイスのネットワークにより構成されてよい。任意的に、コンピューティングデバイスは、また、キーボードおよびマウスといった一つまたはそれ以上の入力メカニズム９９６、および、一つまたはそれ以上のモニタといったディスプレイユニット９９５を含んでいる。コンポーネントは、バス９９２を介して相互に接続可能である。
【００３９】
メモリ９９４は、コンピュータで読取り可能な媒体を含んでよい。この用語は、コンピュータで実行可能なインターフェイスを搬送し、または、データ構造をそこに保管させるように構成されている単一の媒体または複数の媒体（例えば、集中化または分散化されたデータベース及び／又は関連するキャッシュおよびサーバ）を参照してよい。コンピュータで実行可能なインストラクションは、例えば、インストラクションおよびデータを含んでよい。汎用コンピュータ、専用コンピュータ、または、専用処理装置（例えば、一つまたはそれ以上のプロセッサ）によってアクセス可能であり、そして、それらに、一つまたはそれ以上の機能又はオペレーションを実行させるものである。従って、用語「コンピュータで読取り可能な記録媒体（”ｃｏｍｐｕｔｅｒ−ｒｅａｄａｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ”）」は、また、マシンによる実行のための一式のインストラクションを保管し、符号化し、または、搬送することができるあらゆる媒体を含んでよい。そして、マシンに、本開示に係る一つまたはそれ以上のあらゆる方法を実行させるものである。用語「コンピュータで読取り可能な記録媒体」は、従って、これらに限定されるわけではないが、半導体メモリ、光媒体、および磁気媒体を含むものと捉えられてよい。例として、そして、限定するものではなく、そうしたコンピュータで読取り可能な媒体は、固定のコンピュータで読取り可能な記録媒体を含んでよい。ランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、電気的消去可能プログラマブル読出し専用メモリ（ＥＥＰＲＯＭ）、コンパクトディスク読出し専用メモリ（ＣＤ−ＲＯＭ）、または、他の光ディスクストレージ、磁気ディスクストレージ、または、他の磁気ストレージデバイス、フラッシュメモリデバイス（例えば、半導体メモリデバイス）を含むものである。
【００４０】
プロセッサ９９３は、コンピューティングデバイスをコントロールし、かつ、オペレーションの処理を実行するように構成されている。例えば、様々な異なる機能を実施するためにメモリの中に保管されたコードを実行することである。機能は、ここにおいて、そして、請求項において、および、図１と図５において説明されるものであり、定義された空間的関係における第１および第２のジオメトリックエレメントを含んでいるモデルにアクセスすることに係る図１におけるステップといったものである。そして、ジオメトリックエレメントのインスタンスに係る検出結果にアクセスすること、インスタンス間の定義された空間的関係を検査すること、および、定義された空間的関係が必要とされない場合にインスタンスを拒否することである。従って、プロセッサは、図３に示される検出改善機能を実施する。図５に示されるように、２つのエレメントに係る近接（ｐｒｏｘｉｍｉｔｙ）を使用するペア検出（ｐａｉｒ  ｄｅｔｅｃｔｉｏｎ）の特定の方法を実施し得るものである。
【００４１】
プロセッサは、また、三角形区分（ｔｒｉａｎｇｕｌａｔｅｄ）のＣＡＤモデルのあらゆる前処理、そして、次に、図６において詳しく説明される全てのＣＡＤモデルの処理を実施してもよい。一般的なエッジ方法（ｅｄｇｅ  ｍｅｔｈｏｄｏｌｏｇｙ）を使用して、一式の特徴フェイス（ｆａｃｅ）、グループ特徴フェイスを特徴へと抽出し、そして、次に、各特徴について既知のパーツ検出方法を使用するものである。
【００４２】
メモリ９９４は、プロセッサ９９３によって読出され、かつ、書込まれるデータを保管する。例えば、メモリは、ジオメトリックモデル、抽出された特徴フェイスと特徴といった処理の中間結果、および、ジオメトリックエレメントのインスタンスに係る結果検出を保管し得る。パーツの検出されたグループといった、最終結果も、また、保管し得るものである。
【００４３】
ここにおいて参照されるように、プロセッサは、マイクロプロセッサ、中央処理装置、等といった、一つまたはそれ以上の汎用処理装置を含んでよい。プロセッサは、複合命令セットコンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令設置コンピューティング（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、または、他のインストラクションセットを実行する一つのプロセッサ、もしくは、インストラクションセットの組合せを実行する複数のプロセッサを含んでよい。プロセッサは、また、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロトコル、等といった、一つまたはそれ以上の特定目的デバイスも含んでよい。一つまたはそれ以上の実施例において、プロセッサは、ここにおいて説明されるオペレーションおよび方法を実施するためにインストラクションを実行するように構成されている。
【００４４】
ディスプレイユニット９９７は、コンピューティングデバイスによって保管されたデータの表現を表示し、そして、また、カーソルと、ダイアログボックスと、スクリーンを表示してもよく、ユーザとコンピューティングデバイスに保管されたプログラムおよびデータとの間のインタラクション（ｉｎｔｅｒａｃｔｉｏｎ）ができるようにしている。入力メカニズム９９６は、コンピューティングデバイスに対して、ユーザがデータとインタラクションを入力できるようにし得る。
【００４５】
ネットワークインターフェイス（ネットワークＩ／Ｆ）９９７は、インターネットといった、ネットワークに対して接続されてよく、そして、ネットワークを介して他のそうしたコンピューティングデバイスに対して接続可能である。ネットワークＩ／Ｆ９９７は、ネットワークを介して、他の装置からの／に対するデータ入力／出力をコントロールし得る。マイクロフォン、スピーカ、プリンタ、電源ユニット、ファン、ケース、スキャナ、トラックボール、等といった、他の周辺機器が、コンピューティングデバイスの中に含まれてよい。
【００４６】
処理インストラクションは、メモリ９９４の一部分において保管されてよく、プロセッサ９９３は、処理インストラクションを実行してよく、そして、メモリ９９４の一部分が、処理インストラクションの実行の最中にデータを保管してよい。例えば、ジオメトリックエレメントを検出するためか、空間的関係を検査するためか、または、エレメントのインスタンスを拒絶／グループのパーツとしてエレメントのインスタンスを確認するためである。検出されたグループと拒絶されたインスタンスは、メモリ９９４、及び／又は、接続されたストレージユニットに保管され得る。拒絶されたインスタンスの手動処理、例えば、または、さらなる自動処理のためである。
【００４７】
本発明を具体化する方法は、図２に示されるような、コンピューティングデバイスにおいて実行され得る。そうしたコンピューティングデバイスは、図２に示される全てのコンポーネントを有する必要はなく、そして、それらのコンポーネントのサブセットで構成されてよい。本発明を具体化する一つの方法は、ネットワークを介して一つまたはそれ以上のデータストレージサーバと通信する単一のコンピューティングデバイスによって実行されてよい。コンピューティングデバイスは、ＣＡＤモデル、検出された特徴のグループ、および、あらゆる補正されたＣＡＤモデルを保管しているストレージ自身であってよい。
【００４８】
本発明を具体化する方法は、相互に協働して動作する複数のコンピューティングデバイスによって実行されてよい。複数のコンピューティングデバイスの一つまたはそれ以上は、少なくとも、ＣＡＤモデルの一部分、特徴に係る検出されたグループ、および、あらゆる補正されたＣＡＤモデルを保管しているデータストレージサーバであってよい。
【００４９】
この発明の実施例は、ネジといった、所定のパーツに対して適用され得る。ペア（ネジについて、これはボスである）を有するものと知られているものであり、その２つは、いつも近接して存在し、そして、従って、定義された空間的関係を有するものである。
【００５０】
本発明の実施例は、また、ペアに係る２つの異なる分類（ｃｌａｓｓｉｆｉｃａｔｉｏｎ）に属しているパーツが存在するもの（ネジとボス、または、ネジとナット）について適用されてもよい。
【００５１】
さらに、本発明の実施例は、パーツの「三つ揃い（”ｔｒｉｐｌｅｔ”）」を形成する３つのパーツが存在するものについて適用されてもよい。ネジとワッシャとナット、または、ネジとワッシャとボルト、といったものである。
【００５２】
本発明の実施例に従ったシステムは、入力としてＣＡＤモデルを捉える。ＣＡＤモデルは、一般的に、多くのコンポーネントのアセンブリであってよく（例えば、ラップトップコンピュータについては数百個）、いずれかの解析的境界（ａｎａｌｙｔｉｃ  ｂｏｕｎｄａｒｙ）表現形式において保管されてよい。ＳＴＥＰ（Ｓｔａｎｄａｒｄ  ｆｏｒ  ｔｈｅ  Ｅｘｃｈａｎｇｅ  ｏｆ  Ｐｒｏｄｕｃｔ  ｍｏｄｅｌ  ｄａｔａ）、ＩＧＥＳ（Ｉｎｉｔｉａｌ  Ｇｒａｐｈｉｃｓ  Ｅｘｃｈａｎｇｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）、または、ＳＴＬ（ＳＴｅｒｅｏＬｉｔｈｏｇｒａｐｈｙ）又はＶＲＭＬ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）フォーマットといったＡＣＩＳフォーマットもしくは三角形区分フォーマット、といったものである。
【００５３】
図３には、本発明の実施例のハイレベルなレイアウトが示されている。ここにおいて、ＣＡＤモデルは、「検出改善機能」によって読出される。この機能は、検出されているＣＡＤパーツのタイプに対して適切な既に存在しているＣＡＤパーツ検出機能について、検出の品質を改善するものである。改善は、ＣＡＤパーツ検出機能をブラックボックスとして使用するという意味において一般的であり得る。しかしながら、効率化の理由のためには、既存のＣＡＤパーツ検出機能が、検出閾値を調整する方法（つまり、フォールスポジティブが生成する確率とフォールスネガティブのそれとの間のバランス）を提供することが望ましい。
【００５４】
検出が機械学習に基づくものであり、かつ、ポジティブ例とネガティブ例が適用されてきている場合には、そして、未知の形状の分類は、最も類似のＮ個の形状を見い出すこと、かつ、大多数の分類を捉えることによるものであってよいだろう。この場合には、５０％閾値が存在してよいだろう。ポジティブの側に誤るためには、ポジティブ分類（ｐｏｓｉｔｉｖｅ  ｃｌａｓｓ）が割り当てられてよいだろう。例えば、５０％ではなく最も類似の形状のうちたった３０％の場合、ポジティブである。
【００５５】
望ましくは、本発明の使用によって、検出フェイズにおいてより多くのフォールスポジティブを許容し得る。それらは、改善またはグループ検出フェイズにおいて取り除かれるからである。そして、従って、実施例は、また、検出フェイズにおける処理も簡素化し得る。既に検出方法が存在する場合には、それは、次に、精度を増すために、ペア検出方法へ接続され得るだろう。新たな検出機能が開発されている場合には、開発に注がれる労力はより少なく、そして、ギャップを埋めるためのペア検出における信頼が存在し得るだろう。
【００５６】
本発明の実施例に係る方法は、標準的な方法に対するドロップイン置換（ｄｒｏｐ−ｉｎ  ｒｅｐｌａｃｅｍｅｎｔ）として見られてよく、結果を改善し、かつ、検出を実行している。この場合には、同一のユーザが同一の場所で（物理的、および、実行しているコードにおいて）方法を使用する。より正確であるべきことが期待されていることだけが異なっている。代替的に、本発明の実施例に係る方法は、上記のブラックボックス方法に従って、検出機能の結果を捉え、かつ、これらの改善をなし得る。
【００５７】
しかしながら、この方法は、一つのパーツの単純な検出以上のものを実際には達成し得るものである。例えば、ネジ−ボス検出の場合に、本方法は、ボス、および、ネジに対するボスの空間的関係も同様に、検出し得る。従って、本方法は、同一のユーザまたは別の人によって、異なる目的のために、たぶん使用されてよい。例えば、対応しているボスの中におけるネジのめり込み量を計算するためである。
【００５８】
ペア化またはグループ化検出
本発明の実施例に係る一つのアイデアは、「ペア化検出（”ｐａｉｒｅｄ  ｄｅｔｅｃｔｉｏｎ”）」を使用して、既存の検出プロセスの精度を改善することである。ＣＡＤモデルに係るパーツの「ペア（”ｐａｉｒ”）」は、同一のＣＡＤモデルに係る別のパーツ、または、同一のＣＡＤモデルに係るパーツのサブパーツであるように定義される。前者および後者（パーツとそのペア）が、いつでも、すぐ近くに見つけられるようにである。同一のコンセプトは、「三つ揃いのグループ（”ｇｒｏｕｐｓ  ｏｆ  ｔｒｉｐｌｅｓ”）」、および、たいてい一緒に見つけられるパーツのより大きなグループをカバーするように拡張され得る。ペアを有するＣＡＤパーツに係るタイプの一つの例は、ネジ（ｓｃｒｅｗ）である。ここで、ネジのペアは、ボス（ｂｏｓｓ）である。一つの構成の例が図４に示されている。
【００５９】
ＣＡＤパーツに対する既存の検出プロシージャが存在するものと仮定すると、ペア化検出方法は、ペア化されたエレメントの検出を連結することによって、その精度を増し得るものである。
【００６０】
図５には、ペア化検出方法のフローが示されている。本方法は、第１のエレメントタイプに対する既存の検出方法を使用して、ペアにおける第１のエレメント（我々のネジ−ボスのペア例におけるネジ）の全てのインスタンスを検出するＳ５０で開始する。第１のペアエレメントの検出と並行して、本システムは、また、第２のエレメントタイプに対する既存の検出方法を使用して、第２のペアエレメントを検出してよいＳ６０。（第３のエレメントが存在する場合、それも同時に検出され得るか、３つのエレメントが異なる時間に検出され得るものである。）
【００６１】
２つのペアエレメントのうちいずれかが、パーツの代わりにサブパーツである場合（つまり、それらは独立している（ｆｒｅｅ−ｓｔａｎｄｉｎｇ）より、むしろ別のパーツの中に含まれている）、そのエレメントを属しているパーツから分離するために、図６に示されるような分割（ｓｅｇｍｅｎｔａｔｉｏｎ）方法が適用されてよい。Ｓ７０において、２つのパーツの近接を使用することによってペアが見つからない場合は、Ｓ８０において、第１のエレメントがフォールスポジティブとして拒絶される。そうでなければ、Ｓ９０において、そのパーツは受け容れられる。上述の方法を使用すると、ほとんどすべてのフォールスポジティブが自動的に取り除かれることが期待される。結合されたフォールスポジティブの確率は、個々のフォールスポジティブの確率よりもずっと小さいからである。
【００６２】
ペアに係るエレメントの一つが、パーツではなく、しかし、ＣＡＤパーツのサブパーツである場合（ネジ−ボスのペア例におけるボスといったもの）には、検出方法を適用する以前に、残りのパーツから特徴を分離するために分割が必要とされ得る。このプロセスは、図６において説明されているもので、パーツに係るサブパーツを検出するための分割プロセスの一つの例である。
【００６３】
最初に、ダイヤグラムの上部左側において、ＣＡＤモデルが解析フォーマットにおいて保管されている場合には、ＣＡＤフェイス（ＣＡＤ  ｆａｃｅ）を獲得するために、いくつかの前処理（ｐｒｅ−ｐｒｏｓｅｓｓｉｎｇ）が最初に実行される必要がある。これは、図示されていない。
【００６４】
ＣＡＤモデルが、ＶＲＭＬといった、フェイスＩＤ（ｆａｃｅ  ＩＤ）情報を保管する三角形区分フォーマットにおいて保管されている場合には（ダイヤグラムの中央上部を参照）、次に、Ｓ１００において、同一のフェイスＩＤを共有する三角形がＣＡＤフェイスへとグループ化される。
【００６５】
そうした情報が利用可能でない場合には（ダイヤグラムの上部右側を参照）、表面をＣＡＤフェイスへと分割するために、Ｓ１１０において、三角形の垂線（ｎｏｒｍａｌ  ｏｆ  ｔｈｅ  ｔｒｉａｎｇｌｅ）の角度における変更が使用され得る（これは、従来技術文献［２］に係るＧｍｓｈメッシュ化ソフトウェアからの”Ｒｅｃｌａｓｉｆｙ２Ｄ”機能と同様な方法を使用してよい）。
【００６６】
今やフェイス情報が利用可能なので、境界ボックスまたは領域の寸法といったフェイスの特性が使用され得る。（Ｓ１２０において）ボスといった、特徴のパーツであるように十分に小さいフェイスを抽出するためである。サイズの閾値がアプリケーションで変動し得る一方で、ラップトップ（ｌａｐｔｏｐ）を表現しているＣＡＤモデルについて、適切な限界（ｌｉｍｉｔ）は、２ｃｍより小さい境界ボックスに係る最大の寸法を有する特徴フェイスを考慮することであることが見つけられてきた。選択された閾値より大きいフェイスをフェイスのセットから取り除くことは、分割を手助けする。特徴を接続する、より大きなフェイスが、今や取り除かれたからである。
【００６７】
次に、Ｓ１３０において、少なくとも一つのエッジを共通に有する特徴フェイスが、「特徴（”ｆｅａｔｕｒｅｓ”）」へと結合される。この段階において、Ｎ個（例えば、Ｎ＝３）より少ないフェイスを有する特徴は無視される。本プロセスが特定しようとする特徴（例えば、ボス）に係るタイプを生成するためには、少なくともＮ個の個別のフェイスが必要とされるからである。このことは、機械学習を使用して評価されることを要する特徴の数量を著しく減少させる。
【００６８】
最後に、各特徴は分離され、そして、個別の特徴がボスであるか否かを判断するために、上述のネジ検出と同様な方法が使用される。例えば、従来技術文献［１］（または［２］）において説明された方法の一つが使用されてよい。
【００６９】
実用的な実施例
本発明の実施例は、Ｃ＋＋で書かれた、コンピュータプログラムとして実行されてよい。望ましい実施において、入力データは、解析ＣＡＤデータではなく、フェイスＩＤ情報を伴う三角形区分データである（図６の中央のパス）。
【００７０】
２つの主要な機能が存在している。
・形状認識機能（ｓｈａｐｅ  ｒｅｃｏｇｎｉｔｉｏｎ  ｆｕｎｃｔｉｏｎ）であり、検出されるべき形状を表現しているオリジナル表面から三角形のサブセットが与えられると、その形状をネジ／非ネジ、または、ボス／非ボスへと分類する。この機能は、分類されるべき形状を既存の形状のデータベースと比較するために機械学習を使用する。従来技術文献［２］において使用されるものと同様なアルゴリズムを使用するものである。
・分割機能（ｓｅｇｍｅｎｔａｔｉｏｎ  ｆｕｎｃｔｉｏｎ）であり、図６に従って実施され、入力メッシュを読取り、そして、次に形状認識機能によって分類される数多くのメッシュ特徴（ｍｅｓｈ  ｆｅａｔｕｒｅ）を出力する。
【００７１】
特別なハードウェアの要求は無い。検出方法がディープラーニング（ｄｅｅｐ  ｌｅａｒｎｉｎｇ）を使用する特定の場合には、グラフィック処理装置（ＧＰＵ）が計算を多大に加速し得る。
【００７２】
図７に示されるＣＡＤモデルの部分を考慮すると、３つのボス、３つのネジ、および、パイプセクションを含んでいる。このモデルにおいては、それぞれのボスに対して一つのネジが存在することが知られており、従って、その２つがペアを形成している。従来技術において、ネジ（第１のペアエレメント）を検出するやり方は、ネジのジオメトリックだけを使用することによるもので、従来技術において既知の方法を使用するものであった。そうしたジオメトリックは、図８に示されている。
【００７３】
形状ベースの認識は、最先端の方法を使用すれば非常に正確である一方で、完全であることが決して期待され得ないものである。例えば、図７からのパイプ分類は、ネジについての誤りであり得るだろうことが予想される。
【００７４】
本発明の実施例においては、検出精度を増すために、問題が２ステッププロセス（ｔｗｏ−ｓｔｅｐ  ｐｔｏｃｅｓｓ）へ変換される。
【００７５】
第１に、モデルにおける全てのネジは、従来技術において使用される方法を使用して検出される。上記と同様な問題に出くわすこと、および、形状認識方法は、ネジを、モデルの中の３つの正しいネジとしてだけでなく、また、パイプセグメントとしも認識することが想定される。
【００７６】
第２ステップにおいて、別の形状認識タスク（上述のような分割を含んでいる）が実行され、そして、３つのボスが配置される。このステップにおいては、一つまたはそれ以上の追加のＣＡＤ特徴をボスとして誤ってラベル付けすることにより間違う可能性もある。
【００７７】
次に、２つの認識タスクの結果が結合される。ネジ番号１、２、および３について、ボス１、２、３が、それぞれにすぐ近接に（つまり、境界ボックスがオーバーラップしている）存在しており、受け容れられることがわかる。ここで、「すぐ近接に（”ｉｎ  ｃｌｏｓｅ  ｐｒｏｘｉｍｉｔｙ”）」は、境界ボックスの観点から定められるものである。ペアエレメントの境界ボックスが所定の許容範囲内にある場合、それらはすぐ近接あるものと判断される。さらに多くの一般的な状態について、２つの境界ボックス間の距離が、所定の閾値以下であることが要求され得る（この場合、オーバーラップはこの距離をたいていゼロにするだろう）。
【００７８】
しかしながら、誤って分類されたパイプセグメントについては、対応するボスが近接に存在しない。従って、拒絶されることになる。
【００７９】
まとめると、本発明の実施例に係る方法は、誤って分類されたパイプセグメントを拒絶することができ、かつ、そうであるから、オリジナルの検出方法の精度を改善することができる。
【００８０】
この方法、上記の形式におけるものは、モデルにおいてペアエレメントがいつでも一緒に登場する場合だけに適用され得るものである。しかしながら、エレメントタイプ１が、エレメントタイプ２またはエレメントタイプ３とペアをなし得る事例にまで拡張されてよい。この場合には、タイプ２およびタイプ３の全てのエレメントを検出し、かつ、タイプ２またはタイプ３のエレメントがすぐ近接に存在しない場合に、エレメントタイプ１を拒絶することが可能である。代替的に、エレメントのグループに係る異なる分類（例えば、ネジ／ボス分類およびネジ／ナット分類）が次から次に検出されてもよい。エレメントのグループに係る一つの分類に属していないものとして拒絶された一つのエレメントが、後に、別の分類の中に含まれことがあり得るようにである。この拡張において、例えば、第３のエレメント（ワッシャといったもの）が第１および第２エレメントとの間に存在し、または、存在しないことがある場合には、３つのエレメントのグループが最初に取り扱われるべきものである。
【００８１】
ネジ−ボスのペアに対するデザイン問題の検出
検出するペアが、ネジ-ボスのペア、または、別のネジ状のペア（ｔｈｒｅａｄｅｄ  ｐａｉｒ）、もしくは、ネジ状のペアを含んでいる三つ揃い（ｔｒｉｐｌｅｔ）である特定の事例については、追加情報が自動的に計算され、そして、ユーザに対して提供され得る。これは、ネジ-ボスのペアと、他のそうしたペア、および、三つ揃いの検出が成功裡に完了した後で、配置（ｐｌａｃｅｍｅｎｔ）情報が計算され得るからである。
【００８２】
以下は、そうした配置情報の一つの例である。
【００８３】
ここで、ネジ／ボスの検出されたペアそれぞれについて、ボスの内側におけるネジのめり込み（ｐｅｎｅｔｒａｔｉｏｎ）が見積りされる。この距離がユーザに対して単純に与えられる一方で、一般的には、その代わりにネジ山の数量（ｎｕｍｂｅｒ  ｏｆ  ｔｈｒｅａｄｓ）を提供することが、より有効である。図９に図示されるように、そして、図１０のフローチャートのようにである。ネジ山自体は、必ずしもモデル化される必要はない。利用可能な情報は、ネジとボスの間、例えば、ネジの底部とボスの上面との間の相互のめり込みを定める表面の位置である。そうした表面は、Ｓ１５０において検出される。オーバーラップしているネジ山の数量は、Ｓ１６０において計算される、これらの面の間の距離；Ｓ１７０における計算された呼び径（ｎｏｍｉｎａｌ  ｄｉａｍｅｔｅｒ）；および、採用されているネジ規格（一般的には、ＩＳＯメトリックネジ山標準、または、インチ表ごとの米国（ＵＳ）ネジ山からのもの）に関連する公式を使用して検出されたネジの大径（ｍａｊｏｒ  ｄｉａｍｅｔｅｒ）から、Ｓ１８０において見積りされ、又は、計算されたピッチ、を使用して見積りされ得るものである。例えば、３ｍｍの呼び径が計算された場合には、これがＭ３型のネジであることが想定される。０．５ｍｍのピッチを有し、従って、検出された相互のめり込みに係るそれぞれの０．５ｍｍに対して１つのネジ山が想定されるものである。Ｎ個ネジ止めに係る以前に確立された閾値を使用して、計算されたネジ山の数量がＮ個より小さい場合には、Ｓ２００においてレポートが発行される。実際に使用されるＮの例は、Ｎ＝３個のネジ山、である。
【００８４】
上記の実施形態に加えて、以下の付記を開示する。
（付記１）
ジオメトリックモデルにおけるジオメトリック特徴のグループを検出するためのコンピュータで実施される方法であって、
定義された空間的関係における少なくとも第１および第２のジオメトリックエレメントを含んでいるジオメトリックエレメントのグループを伴うオブジェクトに係るジオメトリックモデルにアクセスするステップと、
前記ジオメトリックエレメントそれぞれのあらゆるインスタンスを検出する検出結果にアクセスするステップと、
各ジオメトリックエレメントの各インスタンスが、他のジオメトリックエレメントそれぞれのインスタンスと前記定義された空間的関係を有することを検査するステップと、
ジオメトリックエレメントのインスタンスが、他のジオメトリックエレメントそれぞれのインスタンスと前記定義された空間的関係を有していない場合に、ジオメトリックエレメントの前記インスタンスを、前記グループに属していないものとして拒絶するステップと、
を含む、方法。
（付記２）
前記定義された空間的関係は、ジオメトリックエレメント間の距離が閾値距離以下であること、または、距離がゼロであることである、
付記１に記載の方法。
（付記３）
前記ジオメトリックエレメント間の距離は、ジオメトリックエレメントの中心間距離によって、または、ジオメトリックエレメントの境界ボックス間の距離によって計算される、
付記１または２に記載の方法。
（付記４）
前記ジオメトリックエレメントのグループは、１つのネジと１つ以上の他のエレメントを含むエレメントのペアであり、かつ、ネジとボス、または、ネジとナット、もしくは、ネジとワッシャ、を含むものとして分類される、
付記１乃至３いずれか一項に記載の方法。
（付記５）
前記ジオメトリックエレメントのグループは、１つのネジと２つ以上の他のエレメントを含む３つのエレメントのグループであり、かつ、ネジとワッシャとナット、を含むものとして分類される、
付記１乃至３いずれか一項に記載の方法。
（付記６）
多数の分類それぞれのグループを検出することにより、ジオメトリックモデルにおいて、エレメントのグループに係る１つ以上の分類が検出される、
付記１乃至５いずれか一項に記載の方法。
（付記７）
前記方法は、さらに、
前記少なくとも第１および第２のジオメトリックエレメントの前記インスタンスを、並行して検出するステップ、を含む、
付記１乃至６いずれか一項に記載の方法。
（付記８）
前記方法は、さらに、
エレメントのグループを含む可能性があるサブパーツを検出するために、前記ジオメトリックモデルを分割するステップ、を含む、
付記１乃至７いずれか一項に記載の方法。
（付記９）
サブパーツは、既定のサイズ以下のフェイスを抽出すること、および、共通のエッジを有する場合に、抽出された前記フェイスを結合することによって検出される、
付記８に記載の方法。
（付記１０）
最小閾値よりも少ない数のフェイス、及び／又は、最大閾値よりも多い数のフェイスを伴う見込みのあるエレメントは、無視される、
付記８または９に記載の方法。
（付記１１）
前記方法は、さらに、
前記グループにおいて、メスのエレメントの内側におけるオスのエレメントのめり込みを検出するステップ、を含み、
検出は、オーバーラップしている前記オスのエレメントと前記メスのエレメントの表面を検出すること、および、前記オーバーラップしている距離を計算することによるものである、
付記１乃至１０いずれか一項に記載の方法。
（付記１２）
前記オーバーラップしている距離は、めり込みに係るネジ山の数量を計算し、かつ、前記ネジ山の数量が安全なネジ山の閾値よりも少ない場合に、アラームを生成する、ために使用される、
付記１１に記載の方法。
（付記１３）
前記ジオメトリックモデルは、フェイス情報を伴う三角形区分データを含み、または、前記方法は、フェイス情報を伴う三角形区分データを生成することを含む、
付記１乃至１２いずれか一項に記載の方法。
（付記１４）
前記ジオメトリックモデルは、物理的パーツのアセンブリを表わしている、
付記１乃至１３いずれか一項に記載の方法。
（付記１５）
ジオメトリックモデルにおけるジオメトリック特徴のグループを検出するためのコンピュータ装置であって、
プロセッサと、前記プロセッサによる実行のためのインストラクションを保管しているメモリと、を含み、
前記プロセッサは、前記インストラクションによって、
定義された空間的関係における少なくとも第１および第２のジオメトリックエレメントを含んでいるジオメトリックエレメントのグループを伴うオブジェクトに係るジオメトリックモデルを含んでいるコンピュータファイルにアクセスし、
前記ジオメトリックエレメントそれぞれのあらゆるインスタンスを検出する検出結果にアクセスし、
各ジオメトリックエレメントの各インスタンスが、他のジオメトリックエレメントそれぞれのインスタンスと前記定義された空間的関係を有することを検査し、
ジオメトリックエレメントのインスタンスが、他のジオメトリックエレメントそれぞれのインスタンスと前記定義された空間的関係を有していない場合に、ジオメトリックエレメントの前記インスタンスを、前記グループに属していないものとして拒絶する、
ように構成されている、装置。
（付記１６）
実行されると、ジオメトリックモデルにおけるジオメトリック特徴のグループを検出するためのコンピュータで実施される方法を実行する、コンピュータプログラムであって、前記方法は、
定義された空間的関係における少なくとも第１および第２のジオメトリックエレメントを含んでいるジオメトリックエレメントのグループを伴うオブジェクトに係るジオメトリックモデル含んでいるコンピュータファイルにアクセスするステップと、
前記ジオメトリックエレメントそれぞれのあらゆるインスタンスを検出する検出結果にアクセスするステップと、
各ジオメトリックエレメントの各インスタンスが、他のジオメトリックエレメントそれぞれのインスタンスと前記定義された空間的関係を有することを検査するステップと、
ジオメトリックエレメントのインスタンスが、他のジオメトリックエレメントそれぞれのインスタンスと前記定義された空間的関係を有していない場合に、ジオメトリックエレメントの前記インスタンスを、前記グループに属していないものとして拒絶するステップと、を含む、
コンピュータプログラム。
【符号の説明】
【００８５】
９９３  プロセッサ
９９４  メモリ
９９５  ディスプレイ
９９６  入力
９９７  ネットワークインターフェイス
【図１】
2018073379.tif 000003
【図２】
2018073379.tif 000004
【図３】
2018073379.tif 000005
【図４】
2018073379.tif 000006
【図５】
2018073379.tif 000007
【図６】
2018073379.tif 000008
【図７】
2018073379.tif 000009
【図８】
2018073379.tif 000010
【図９】
2018073379.tif 000011
【図１０】
2018073379.tif 000012