(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-04
(45)【発行日】2024-03-12
(54)【発明の名称】ネジの締結状態判定プログラム、ネジの締結状態判定方法および情報処理システム
(51)【国際特許分類】
G06F 30/10 20200101AFI20240305BHJP
G06F 30/20 20200101ALI20240305BHJP
【FI】
G06F30/10 100
G06F30/20
(21)【出願番号】P 2020047609
(22)【出願日】2020-03-18
【審査請求日】2022-12-08
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100104190
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】梅本 達也
【審査官】松浦 功
(56)【参考文献】
【文献】特開2008-065708(JP,A)
【文献】特開2014-092887(JP,A)
【文献】特開2019-074929(JP,A)
【文献】特開2018-073379(JP,A)
【文献】特開2001-265836(JP,A)
【文献】特開2011-238008(JP,A)
【文献】特開2009-123060(JP,A)
【文献】特開2011-100392(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00 -30/28
(57)【特許請求の範囲】
【請求項1】
判定の対象となるモデルのアセンブリデータに基づいて、前記モデル内のネジ
を囲うバウンディングボックスに含まれる部品を抽出し、
前記ネジの中心軸のネジ頭方向を上方向として見た画像において、前記バウンディングボックスの左右の枠線と前記ネジが接する部分のうち一番下の高さを、前記ネジのネジ首の高さとして特定して、抽出した前記部品のうち、前記ネジの中心軸のネジ頭方向を上方向として、
特定した前記ネジ首の高さよりも下にあり、かつ、前記ネジの中心軸からの距離が前記ネジのネジ径に応じた所定長以内にある部品を締結部品として特定し、
抽出した前記部品のうち、前記ネジ頭方向を上方向として、前記ネジ首の高さよりも下にあり、かつ、特定した前記締結部品よりも上にある部品を被締結部品として特定する、
処理をコンピュータに実行させることを特徴とするネジの締結状態判定プログラム。
【請求項2】
抽出した前記部品のうち、特定した前記締結部品および前記被締結部品のいずれの部品とも異なる部品を、除外部品として特定する、
処理を前記コンピュータに実行させることを特徴とする請求項1に記載のネジの締結状態判定プログラム。
【請求項3】
前記ネジの中心軸のネジ頭方向を上方向として、前記ネジの中心軸回りにビューを回転させて、複数の異なる方向から前記モデルを見た画像をそれぞれ取得し、
取得した前記画像ごとに、前記抽出する処理、前記締結部品を特定する処理および前記被締結部品を特定する処理を、前記コンピュータに実行させることを特徴とする請求項1または2に記載のネジの締結状態判定プログラム。
【請求項4】
前記複数の異なる方向のうちの少なくともいずれかの方向に対応する画像において、抽出した前記部品のうち、前記ネジ首の高さよりも下にあり、かつ、前記ネジの中心軸からの距離が前記所定長以内にある部品を締結部品として特定する、
処理を前記コンピュータに実行させることを特徴とする請求項3に記載のネジの締結状態判定プログラム。
【請求項5】
前記バウンディングボックスの左右の枠線と前記ネジが接する部分のうち一番下の点の間を結ぶ線と、前記ネジの中心軸との交点を、前記ネジ首の位置として特定する、
処理を前記コンピュータに実行させることを特徴とする請求項1に記載のネジの締結状態判定プログラム。
【請求項6】
前記モデル内のネジごとに、前記抽出する処理、前記締結部品を特定する処理および前記被締結部品を特定する処理を前記コンピュータに実行させ、
前記モデルに複数種類のネジが含まれる場合、前記ネジごとに特定した被締結部品に基づいて、前記モデル内の部品のうち被締結部品として特定された部品を締結するネジが同一種類のネジであるか否かを判定し、
判定した結果を出力する、
処理を前記コンピュータに実行させることを特徴とする請求項1~5のいずれか一つに記載のネジの締結状態判定プログラム。
【請求項7】
特定した前記締結部品と前記ネジとが接する締結部分の長さが規定値以上であるか否かを判定し、
判定した結果を出力する、
処理を前記コンピュータに実行させることを特徴とする請求項1~5のいずれか一つに記載のネジの締結状態判定プログラム。
【請求項8】
判定の対象となるモデルのアセンブリデータに基づいて、前記モデル内のネジを囲うバウンディングボックスに含まれる部品を抽出し、
前記ネジの中心軸のネジ頭方向を上方向として見た画像において、前記バウンディングボックスの左右の枠線と前記ネジが接する部分のうち一番下の高さを、前記ネジのネジ首の高さとして特定して、抽出した前記部品のうち、前記ネジの中心軸のネジ頭方向を上方向として、特定した前記ネジ首の高さよりも下にあり、かつ、前記ネジの中心軸からの距離が前記ネジのネジ径に応じた所定長以内にある部品を締結部品として特定し、
抽出した前記部品のうち、前記ネジ頭方向を上方向として、前記ネジ首の高さよりも下にあり、かつ、特定した前記締結部品よりも上にある部品を被締結部品として特定する、
処理をコンピュータが実行することを特徴とするネジの締結状態判定方法。
【請求項9】
判定の対象となるモデルのアセンブリデータに基づいて、前記モデル内のネジを囲うバウンディングボックスに含まれる部品を抽出する抽出部と、
前記ネジの中心軸のネジ頭方向を上方向として見た画像において、前記バウンディングボックスの左右の枠線と前記ネジが接する部分のうち一番下の高さを、前記ネジのネジ首の高さとして特定して、前記抽出部によって抽出された前記部品のうち、前記ネジの中心軸のネジ頭方向を上方向として、特定した前記ネジ首の高さよりも下にあり、かつ、前記ネジの中心軸からの距離が前記ネジのネジ径に応じた所定長以内にある部品を締結部品として特定し、抽出された前記部品のうち、前記ネジ頭方向を上方向として、前記ネジ首の高さよりも下にあり、かつ、特定した前記締結部品よりも上にある部品を被締結部品として特定する特定部と、
を含むことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネジの締結状態判定プログラム、ネジの締結状態判定方法および情報処理システムに関する。
【背景技術】
【0002】
従来、製造業の設計工程におけるデザインレビューでは、設計したモデルに対して、機能性、生産性、信頼性、コストなどの様々な観点から、設計上のミスがないかチェックすることが行われている。例えば、製品に含まれる複数の部品を締結するネジの締結状態に関するチェックが行われる。
【0003】
先行技術としては、例えば、3D-CADで設計されたオネジモデルとタップ穴モデルとの整合性をチェックするモデル設計検証装置がある。また、部品の形状情報と、部品の取付位置情報とに基づいて、部品と他の配置された部品との干渉をチェックする干渉チェック装置がある。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2007-213120号公報
【文献】特開2006-48221号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、設計されたモデルに含まれるネジの締結状態に関するチェックに時間や手間がかかるという問題がある。例えば、画面上に表示された3次元モデルを目視で確認して、ネジの締結状態に関するチェックを人手により行う場合、ネジ一つ一つについて、締結部品や被締結部品を特定してチェックを行うことになり、作業時間や作業負荷が増大する。
【0006】
一つの側面では、本発明は、ネジの締結状態の確認に供する情報を提供することを目的とする。
【課題を解決するための手段】
【0007】
一つの実施態様では、判定の対象となるモデルのアセンブリデータに基づいて、前記モデル内のネジの周辺の所定範囲に含まれる部品を抽出し、抽出した前記部品のうち、前記ネジの中心軸のネジ頭方向を上方向として、前記ネジのネジ首の高さよりも下にあり、かつ、前記ネジの中心軸からの距離が前記ネジのネジ径に応じた所定長以内にある部品を締結部品として特定し、抽出した前記部品のうち、前記ネジ頭方向を上方向として、前記ネジ首の高さよりも下にあり、かつ、特定した前記締結部品よりも上にある部品を被締結部品として特定する、ネジの締結状態判定プログラムが提供される。
【発明の効果】
【0008】
本発明の一側面によれば、ネジの締結状態の確認に供する情報を提供することができるという効果を奏する。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施の形態にかかる情報処理システム100のシステム構成例を示す説明図である。
【
図2】
図2は、ネジと周辺部品との関係を示す説明図である。
【
図3】
図3は、情報処理装置101のハードウェア構成例を示すブロック図である。
【
図4A】
図4Aは、アセンブリデータのデータ構造例を示す説明図(その1)である。
【
図4B】
図4Bは、アセンブリデータのデータ構造例を示す説明図(その2)である。
【
図4C】
図4Cは、アセンブリデータのデータ構造例を示す説明図(その3)である。
【
図5】
図5は、情報処理装置101の機能的構成例を示すブロック図である。
【
図6】
図6は、ネジ一覧情報の具体例を示す説明図である。
【
図7】
図7は、バウンディングボックスの一例を示す説明図である。
【
図8】
図8は、ビットマップ画像の取得例を示す説明図である。
【
図9A】
図9Aは、情報処理装置101の動作例を示す説明図(その1)である。
【
図9B】
図9Bは、情報処理装置101の動作例を示す説明図(その2)である。
【
図9C】
図9Cは、情報処理装置101の動作例を示す説明図(その3)である。
【
図9D】
図9Dは、情報処理装置101の動作例を示す説明図(その4)である。
【
図9E】
図9Eは、情報処理装置101の動作例を示す説明図(その5)である。
【
図9F】
図9Fは、情報処理装置101の動作例を示す説明図(その6)である。
【
図10】
図10は、ネジの周辺部品の特定例を示す説明図である。
【
図15】
図15は、情報処理装置101のネジの締結状態特定処理手順の一例を示すフローチャートである。
【
図16】
図16は、特定処理の具体的処理手順の一例を示すフローチャートである。
【
図17】
図17は、情報処理装置101のネジの締結状態判定処理手順の一例を示すフローチャートである。
【
図18】
図18は、第1の判定処理の具体的処理手順の一例を示すフローチャートである。
【
図19】
図19は、第2の判定処理の具体的処理手順の一例を示すフローチャートである。
【
図20】
図20は、第3の判定処理の具体的処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下に図面を参照して、本発明にかかるネジの締結状態判定プログラム、ネジの締結状態判定方法および情報処理システムの実施の形態を詳細に説明する。
【0011】
(実施の形態)
まず、実施の形態にかかる情報処理システム100のシステム構成例について説明する。情報処理システム100は、例えば、製造業の設計工程におけるデザインレビューを支援するコンピュータシステムに適用される。
【0012】
図1は、実施の形態にかかる情報処理システム100のシステム構成例を示す説明図である。
図1において、情報処理システム100は、情報処理装置101と、情報管理サーバ102とを含む。情報処理システム100において、情報処理装置101および情報管理サーバ102は、有線または無線のネットワーク110を介して接続される。ネットワーク110は、例えば、インターネット、LAN、WAN(Wide Area Network)などである。
【0013】
ここで、情報処理装置101は、設計されたモデルについて、モデル内のネジの締結状態の確認に供する情報を提供するコンピュータである。モデルは、設計対象物のモデルであり、例えば、設計対象物を3次元のデジタルデータ化したものである。設計対象物は、例えば、複合機、カメラ、PCなどの製品である。ネジは、モデルに含まれる部品の一つであり、複数の部品を締結する部品である。情報処理装置101は、例えば、PC(Personal Computer)、タブレットPCなどである。
【0014】
情報管理サーバ102は、アセンブリDB(Database)120を有し、モデルのアセンブリデータを記憶するコンピュータである。アセンブリデータは、複数の部品を含むモデルを3次元空間上(シミュレーション空間)に表示するための情報である。アセンブリデータは、モデルに含まれる各部品の形状データを含む。
【0015】
部品の形状データは、3次元空間上に部品を表示するための情報であり、例えば、部品のポリゴンデータ、配置位置、姿勢、重心位置などを示す。アセンブリデータにおいて、モデルに含まれる複数の部品の形状データは、階層構造化されている。すなわち、ある部品が、他のどの部品から構成されるのかを特定可能である。
【0016】
アセンブリデータは、例えば、3次元CAD(Computer Aided Design)の設計データをもとに生成される。具体的には、例えば、アセンブリデータは、各部品を表示できる程度にCADデータを簡素化したものであり、ネジの円筒やループなどの属性を特定する情報は含まなくてもよい。アセンブリデータのデータ構造例については、
図4A、
図4Bおよび
図4Cを用いて後述する。
【0017】
ここで、製造業の設計工程におけるデザインレビューでは、設計した製品のモデルに対して、ネジの締結状態に関するチェックが行われる。ネジの締結状態に関するチェックとしては、例えば、一部品を取り付ける際に使用するネジの種類が統一されているかをチェックするものがある。また、ネジと締結部品との締結部分の長さが規定値以上であるかをチェックするものがある。また、ネジを締める際に使用する工具と他の部品との干渉チェックなどがある。
【0018】
このような、ネジの締結状態に関する各種チェックを自動化する場合、例えば、ネジの周辺部品を探索して、探索した周辺部品を分類したり、ネジ首位置の座標を特定したりする必要がある。周辺部品の分類とは、例えば、周辺部品を締結部品、被締結部品、その他部品などに分類することである。
【0019】
締結部品は、ネジ(締結ネジ)のネジ山がかかる部品、例えば、ネジ穴部品、雌ネジなどである。被締結部品は、ネジと締結部品とに挟まれて固定される部品である。その他部品は、締結部品とも被締結部品とも異なる部品である。ネジ首位置は、ネジのネジ首の位置である。例えば、ネジ頭がなべ型のネジのネジ首位置は、ネジの中心軸とネジ頭との境目である。
【0020】
ここで、
図2を用いて、ネジと周辺部品との関係について説明する。
【0021】
図2は、ネジと周辺部品との関係を示す説明図である。
図2において、部品201は、ネジ頭がなべ型のネジである。部品202は、部品201(ネジ)のネジ山がかかる締結部品である。部品203は、部品201(ネジ)と部品202(締結部品)とに挟まれて固定される被締結部品である。点204は、部品201(ネジ)のネジ首位置を示している。
【0022】
例えば、ネジの締結部品や被締結部品を探索する方法として、ネジのバウンディングボックスに含まれる部品を探索することが考えられる。しかしながら、この探索方法では、ネジ頭より上やネジ先よりも下に偶然存在している、ネジに締結されていない部品も検出してしまう場合がある。また、どの部品にネジ山がかかっていて、どの部品が間に挟まれている部品であるかを判別することができない。
【0023】
また、ネジ首位置の座標を特定する方法として、ユーザにネジ首位置を指定させることが考えられる。しかしながら、全ての種類のネジについて、ネジ首位置を予めユーザが指定しておく必要がある。ネジの種類は数百にも及ぶことがあり、自動化のための事前設定に膨大な時間や手間がかかるという問題がある。
【0024】
また、画面上に表示される3次元モデルなどを目視で確認して、ネジの締結状態に関する各種チェックを人手により行うことが考えられる。しかしながら、製品のモデルに含まれるネジ一つ一つについて、締結部品や被締結部品などを特定して各種チェックを人手で行うには、作業時間や作業負荷が増大するという問題がある。
【0025】
そこで、本実施の形態では、判定の対象となるモデルのアセンブリデータに基づいて、モデル内のネジに対応する締結部品や被締結部品を特定して、ネジの締結状態の確認に供する情報を提供するネジの締結状態判定方法について説明する。
【0026】
(情報処理装置101のハードウェア構成例)
つぎに、
図3を用いて、情報処理装置101のハードウェア構成例について説明する。
【0027】
図3は、情報処理装置101のハードウェア構成例を示すブロック図である。
図3において、情報処理装置101は、CPU(Central Processing Unit)301と、メモリ302と、ディスクドライブ303と、ディスク304と、通信I/F(Interface)305と、ディスプレイ306と、入力装置307と、可搬型記録媒体I/F308と、可搬型記録媒体309と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
【0028】
ここで、CPU301は、情報処理装置101の全体の制御を司る。CPU301は、複数のコアを有していてもよい。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMがOS(Operating System)のプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
【0029】
ディスクドライブ303は、CPU301の制御に従ってディスク304に対するデータのリード/ライトを制御する。ディスク304は、ディスクドライブ303の制御で書き込まれたデータを記憶する。ディスク304としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【0030】
通信I/F305は、通信回線を通じてネットワーク110に接続され、ネットワーク110を介して外部のコンピュータ(例えば、
図1に示した情報管理サーバ102)に接続される。そして、通信I/F305は、ネットワーク110と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信I/F305には、例えば、モデムやLANアダプタなどを採用することができる。
【0031】
ディスプレイ306は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する表示装置である。ディスプレイ306としては、例えば、液晶ディスプレイや有機EL(Electroluminescence)ディスプレイなどを採用することができる。
【0032】
入力装置307は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置307は、キーボードやマウスなどであってもよく、また、タッチパネル式の入力パッドやテンキーなどであってもよい。
【0033】
可搬型記録媒体I/F308は、CPU301の制御に従って可搬型記録媒体309に対するデータのリード/ライトを制御する。可搬型記録媒体309は、可搬型記録媒体I/F308の制御で書き込まれたデータを記憶する。可搬型記録媒体309としては、例えば、CD(Compact Disc)-ROM、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリなどが挙げられる。
【0034】
なお、情報処理装置101は、上述した構成部のうち、例えば、ディスクドライブ303、ディスク304、可搬型記録媒体I/F308、可搬型記録媒体309を有していなくてもよい。また、
図1に示した情報管理サーバ102についても、情報処理装置101と同様のハードウェア構成により実現することができる。ただし、情報管理サーバ102は、上述した構成部のうち、例えば、ディスプレイ306、入力装置307を有していなくてもよい。
【0035】
(アセンブリデータのデータ構造例)
つぎに、
図4A、
図4Bおよび
図4Cを用いて、アセンブリデータのデータ構造例について説明する。
【0036】
図4A、
図4Bおよび
図4Cは、アセンブリデータのデータ構造例を示す説明図である。
図4Aにおいて、アセンブリデータ400は、モデルM1のアセンブリデータである。アセンブリデータ400は、モデルM1に含まれる複数の部品に関する階層構造化された形状データ(例えば、形状データd1-1,d1-2,d2-1)を含む。
【0037】
例えば、モデルM1に含まれるサブアセンブリ1は、部品P1-1と部品P1-2とから構成される。サブアセンブリは、複数の部品を配下に持ち取りまとめるものである。形状データd1-1は、部品P1-1の形状データである。形状データd1-2は、部品P1-2の形状データである。なお、部品P#の「P#」は、部品を一意に識別する部品番号である。
【0038】
各部品の形状データは、3次元空間上に部品を表示するための情報であり、例えば、部品の部品番号、部品種別、名称、ポリゴンデータ、寸法、配置位置、重心位置、姿勢(3×3のマトリクス)、バウンディング中心位置などを特定する情報である。ポリゴンデータは、部品の形状を表す情報であり、3つの頂点座標を持つポリゴンの集合体である。
【0039】
なお、頂点座標、配置位置、重心位置等は、例えば、ローカル座標系およびグローバル座標系の双方の情報が含まれていてもよい。ローカル座標系は、部品単位の座標系である。グローバル座標系は、モデルM単位の座標系である。
【0040】
また、アセンブリデータ400は、組立順番データ410(
図4B参照)と、補助データ420(
図4C参照)とを含む。
【0041】
図4Bにおいて、組立順番データ410は、モデルM1を組み立てる際の各部品の順番を示す。組立順番データ410は、「部品A⇒部品B⇒ネジ1⇒…」の順に各部品を組み合わせて、モデルM1を作り上げることを示している。なお、「部品A」、「ネジ1」などは、各部品の部品番号を表している。
【0042】
図4Cにおいて、補助データ420は、モデルM1に含まれるネジの一覧である。補助データ420は、ネジに使用する工具を特定する情報、例えば、工具名を含む。なお、「ネジ1」、「ネジ2」などは、各部品(ネジ)の部品番号を表している。また、補助データ420は、ネジと締結部品との締結部分の長さに関する規定値を含む。規定値は、例えば、ネジと締結部品とによって被締結部品を固定するのに必要となる締結部分の長さを示している。
【0043】
(情報処理装置101の機能的構成例)
図5は、情報処理装置101の機能的構成例を示すブロック図である。
図5において、情報処理装置101は、受付部501と、抽出部502と、特定部503と、判定部504と、出力部505と、を含む。具体的には、例えば、受付部501~出力部505は、
図3に示したメモリ302、ディスク304、可搬型記録媒体309などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F305により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。
【0044】
受付部501は、判定の対象となるモデルのアセンブリデータの入力を受け付ける。ここで、アセンブリデータは、複数の部品を含むモデルをシミュレーション空間に表示するための情報であり、例えば、
図4Aに示したアセンブリデータ400である。具体的には、例えば、受付部501は、
図3に示した入力装置307を用いたユーザの操作入力により、モデルM1のアセンブリデータ400の入力を受け付ける。
【0045】
また、受付部501は、
図1に示した情報管理サーバ102からアセンブリデータ400を受信することにより、モデルM1のアセンブリデータ400の入力を受け付けることにしてもよい。なお、情報管理サーバ102は、例えば、情報処理装置101からのモデルの指定に応じて、アセンブリDB120から指定されたモデルのアセンブリデータを取得し、取得したアセンブリデータを情報処理装置101に送信する。
【0046】
以下の説明では、判定の対象となるモデルを「モデルM」と表記する場合がある。
【0047】
抽出部502は、取得されたモデルMのアセンブリデータに基づいて、モデルM内のネジの周辺の所定範囲に含まれる部品を抽出する。ここで、所定範囲は、任意に設定可能であり、例えば、ネジのバウンディングボックスに設定される。ネジのバウンディングボックスは、ネジを囲う最小矩形の枠線である。
【0048】
具体的には、例えば、抽出部502は、モデルMのアセンブリデータに基づいて、ネジ一覧情報を作成する。ネジ一覧情報は、モデルMに含まれるネジの重心位置およびバウンディング中心位置を示す。なお、モデルMに含まれるネジ(部品番号)は、例えば、
図4Cに示した補助データ420から特定することができる。
【0049】
ここで、
図6を用いて、ネジ一覧情報の具体例について説明する。
【0050】
図6は、ネジ一覧情報の具体例を示す説明図である。
図6において、ネジ一覧情報600は、モデルM1(
図4A参照)に含まれるネジごとに、当該ネジの重心位置およびバウンディング中心位置を示す。例えば、ネジ1の重心位置は「0,0,6」であり、ネジ1のバウンディング中心位置は「0,0,4」である。
【0051】
つぎに、
図7を用いて、バウンディングボックスの一例について説明する。
【0052】
図7は、バウンディングボックスの一例を示す説明図である。
図7において、点線枠710は、ネジ700のバウンディングボックスを示している。また、点701は、ネジ700の重心位置を示している。また、点711は、ネジ700のバウンディング中心位置を示している。
【0053】
図5の説明に戻り、抽出部502は、例えば、ネジ一覧情報600を参照して、各ネジについて、バウンディング中心位置からネジの重心位置に向かう直線(ベクトル)を、ネジの中心軸として特定する。
図7の例では、点711から点701に向かう直線(ベクトル)を、ネジ700の中心軸720とする。
【0054】
また、抽出部502は、ネジの重心位置側を、ネジの頭方向として特定する。
図7の例では、ネジ700の重心位置701側を、ネジ700の頭方向とする。そして、抽出部502は、モデルMのアセンブリデータに基づいて、ネジの中心軸のネジ頭方向を上方向として、ネジの中心軸回りにビュー(視点)を回転させて、複数の異なる方向からモデルMを見た画像をそれぞれ取得する。画像は、例えば、ビットマップ画像である。ビットマップ画像は、色の付いたドット(ピクセル)の集まりで画像を表現したものである。以下の説明では、画像として、ビットマップ画像を例に挙げて説明するが、他の画像を用いることにしてもよい。
【0055】
ここで、
図8を用いて、ビットマップ画像の取得例について説明する。
【0056】
図8は、ビットマップ画像の取得例を示す説明図である。
図8において、ビットマップ画像801~804は、ネジ800のネジ頭方向を上方向として、ネジ800の中心軸810回りにビュー(視点)を回転させて、複数の異なる方向からモデルMを見た2次元画像である。
【0057】
例えば、部品820のように、ネジ800に対応する締結部品が長穴を有する部品の場合、一つの角度から見ると、ネジ800に締結されていないように見える可能性がある。
図8の例では、矢印811の方向から見ると、ネジ800と部品820とが締結されているのが見える。一方、矢印812の方向から見ると、ネジ800と部品820とが締結されていないように見える。
【0058】
このため、抽出部502は、例えば、ネジ800の中心軸810回りにビューを45度ずつ回転させて、複数の異なる方向からモデルMを見たビットマップ画像801~804を取得する。そして、抽出部502は、取得したビットマップ画像801~804それぞれについて、ネジ800を囲うバウンディングボックスに含まれる部品を抽出する。
【0059】
なお、部品の抽出例については、
図9Aを用いて後述する。
【0060】
以下の説明では、モデルM内のネジのネジ頭方向を上方向として、ネジの中心軸回りにビュー(視点)を回転させて取得された複数のビットマップ画像のうち、任意のビットマップ画像を「ビットマップ画像bm」と表記する場合がある。
【0061】
図5の説明に戻り、特定部503は、抽出された部品のうち、ネジの中心軸のネジ頭方向を上方向として、ネジのネジ首の高さよりも下にあり、かつ、ネジの中心軸からの距離がネジ径に応じた所定長以内にある部品を締結部品として特定する。ここで、締結部品は、ネジのネジ山がかかる部品であり、例えば、ネジ穴部品、雌ネジなどである。
【0062】
ネジ径に応じた所定長は、例えば、ネジ径の半分の長さである。ネジ径は、ネジ山がある部分の太さに相当する。また、ネジ首の高さは、ネジを囲うバウンディングボックスの左右の枠線とネジが接する部分のうち一番下の高さである。ネジ首の高さおよび締結部品は、例えば、取得された各ビットマップ画像bm(例えば、
図8に示したビットマップ画像801~804)において特定される。
【0063】
この際、特定部503は、例えば、複数の異なる方向のうちの少なくともいずれかの方向に対応するビットマップ画像bmにおいて、抽出された部品のうち、ネジのネジ首の高さよりも下にあり、かつ、ネジの中心軸からの距離がネジ径に応じた所定長以内にある部品を締結部品として特定する。
【0064】
なお、ネジ首の高さの特定例については、
図9Bを用いて後述する。また、締結部品の特定例については、
図9Dを用いて後述する。
【0065】
また、特定部503は、抽出された部品のうち、ネジの中心軸のネジ頭方向を上方向として、ネジ首の高さよりも下にあり、かつ、特定された締結部品よりも上にある部品を被締結部品として特定する。ここで、被締結部品は、ネジと締結部品とに挟まれて固定される部品である。
【0066】
被締結部品は、例えば、取得された各ビットマップ画像bm(例えば、ビットマップ画像801~804)において特定される。この際、特定部503は、例えば、複数の異なる方向のうちの少なくともいずれかの方向に対応するビットマップ画像bmにおいて、抽出された部品のうち、ネジ首の高さよりも下にあり、かつ、特定された締結部品よりも上にある部品を被締結部品として特定する。
【0067】
なお、ビットマップ画像bmにおいて、各部品の高さを判断するにあたり、特定部503は、部品の形状のうち、ネジのバウンディングボックス範囲内に存在する部分を使って高さの判断を行う。
【0068】
なお、被締結部品の特定例については、
図9Eを用いて後述する。
【0069】
また、特定部503は、抽出された部品のうち、特定した締結部品および被締結部品のいずれの部品とも異なる部品を、除外部品として特定することにしてもよい。ここで、除外部品は、締結部品とも被締結部品とも異なる部品であり、ネジによって締結されていないその他部品である。
【0070】
なお、除外部品の特定例については、
図9Fを用いて後述する。
【0071】
また、特定部503は、ネジの中心軸のネジ頭方向を上方向として、ネジを囲うバウンディングボックスの左右の枠線とネジが接する部分のうち一番下の点の間を結ぶ線と、ネジの中心軸との交点を、ネジ首位置として特定することにしてもよい。ここで、ネジ首位置は、ネジのネジ首の位置であり、例えば、ネジの中心軸とネジ頭との境目である。
【0072】
また、被締結部品が特定されている場合には、特定部503は、ネジの中心軸上にあり、特定した被締結部品のうちの一番上にある被締結部品の一番上側の座標を、ネジ首位置として特定することにしてもよい。
【0073】
なお、ネジ首位置の特定例については、
図9Cを用いて後述する。また、ネジ首位置の座標算出例については、
図11Aおよび
図11Bを用いて後述する。
【0074】
判定部504は、モデルMに複数種類のネジが含まれる場合、ネジごとに特定された被締結部品に基づいて、モデルM内の部品のうち被締結部品として特定された部品を締結するネジが同一種類のネジであるか否かを判定する。
【0075】
一部品を取り付ける際に使用するネジの種類を統一することで、ネジの付け間違いを防ぎ、また、工具の持ち替えなどが不要となり、部品を取り付ける際の作業負荷を抑えることができる。この判定は、一部品を取り付ける際に使用するネジの種類が統一されているかのチェックに相当する。ネジの種類としては、例えば、ナベ小ネジ、皿小ネジ、トラス小ネジ、バインド小ネジなどがある。
【0076】
なお、モデルM内の一部品を締結するネジが同一種類のネジであるか否かの判定例については、
図12Aおよび
図12Bを用いて後述する。
【0077】
また、判定部504は、特定された締結部品とネジとが接する締結部分の長さが規定値以上であるか否かを判定する。ここで、規定値は、ネジと締結部品とによって被締結部品を固定するのに必要となる締結部分の長さを示し、例えば、ネジの種類やネジによって締結される部品の種類などによって予め設定される。各ネジに対応する規定値は、例えば、アセンブリデータ400に含まれる補助データ420から特定することができる。
【0078】
なお、ネジと締結部品との締結部分の長さが規定以上であるか否かの判定例については、
図13Aおよび
図13Bを用いて後述する。
【0079】
また、判定部504は、モデルMを組み立てる際の各部品の組立順番に基づいて、特定されたネジ首位置に工具を配置した場合に他の部品と干渉するか否かを判定する。ここで、他の部品との干渉とは、例えば、ビットマップ画像bm上のネジ首位置に工具を配置した場合に、工具と他の部品とが重なることである。各部品の組立順番は、例えば、アセンブリデータ400に含まれる組立順番データ410から特定することができる。
【0080】
なお、ネジ首位置に工具を配置した場合に他の部品と干渉するか否かの判定例については、
図14Aおよび
図14Bを用いて後述する。
【0081】
出力部505は、判定部504によって判定された判定結果を出力する。出力部505の出力形式としては、例えば、メモリ302、ディスク304などの記憶装置への記憶、通信I/F305による他のコンピュータへの送信、ディスプレイ306への表示、不図示のプリンタへの印刷出力などがある。
【0082】
具体的には、例えば、出力部505は、モデルM内の一部品(被締結部品)について、当該部品を締結するネジが同一種類のネジであるか否かの判定結果(以下、「第1の判定結果」と称する)を出力する。第1の判定結果の具体例については、
図12Bを用いて後述する。
【0083】
また、出力部505は、モデルM内のネジと締結部品との締結部分の長さが規定値以上であるか否かの判定結果(以下、「第2の判定結果」と称する)を出力する。第2の判定結果の具体例については、
図13Bを用いて後述する。
【0084】
また、出力部505は、モデルM内のネジのネジ首位置に工具を配置した場合に他の部品と干渉するか否かの判定結果(以下、「第3の判定結果」と称する)を出力する。第3の判定結果の具体例については、
図14Bを用いて後述する。
【0085】
また、出力部505は、特定部503によって特定された結果を出力することにしてもよい。具体的には、例えば、出力部505は、モデルM内のネジと対応付けて、特定された締結部品および被締結部品を表す締結状態特定結果を出力することにしてもよい。また、出力部505は、モデルM内のネジと対応付けて、さらに、特定されたネジ首位置を表す締結状態特定結果を出力することにしてもよい。
【0086】
より具体的には、例えば、締結状態特定結果には、モデルM内の各ネジについて、ビットマップ画像bmごとに、特定された締結部品、被締結部品およびネジ首位置を特定する情報が含まれていてもよい。これにより、例えば、情報処理装置101とは異なる他のコンピュータにおいて、情報処理装置101から出力される締結状態特定結果に基づいて、モデルM内のネジの締結状態に関する各種チェックを実行することができる。
【0087】
また、出力部505は、モデルMをシミュレーション空間に表示する際に、モデルM内の各ネジについて特定された締結部品や被締結部品を識別可能に、
図3に示したディスプレイ306に表示することにしてもよい。これにより、画面上に表示されるモデルMを見ながら、ネジの締結状態に関する各種チェックを行う場合に、各ネジに対する締結部品や被締結部品を識別しやすくして、人手によるチェック作業を支援することができる。
【0088】
また、出力部505は、モデルMをシミュレーション空間に表示する際に、さらに、モデルM内のネジを、当該ネジの種類に応じた形態で表示することにしてもよい。これにより、画面上に表示されるモデルMを見ながら、一部品を取り付ける際に使用するネジが統一されているかのチェックを行う場合に、ネジの種類を判別しやすくして、人手によるチェック作業を支援することができる。
【0089】
なお、上述した情報処理装置101の機能部は、情報処理システム100内の複数のコンピュータ(例えば、情報処理装置101と情報管理サーバ102)により実現されることにしてもよい。
【0090】
(情報処理装置101の動作例)
つぎに、
図9A~
図9Fおよび
図10を用いて、情報処理装置101の動作例について説明する。ここでは、モデルM1(
図4A参照)内のネジとして、モデルM1内のネジ900を例に挙げて説明する。
【0091】
図9A~
図9Fは、情報処理装置101の動作例を示す説明図である。
図10は、ネジの周辺部品の特定例を示す説明図である。
図9Aにおいて、ビットマップ画像910,920は、モデルM1内のネジ900の中心軸のネジ頭方向を上方向として、ネジ900の中心軸回りにビューを回転させて、異なる方向からモデルM1を見た側面図を示す。
【0092】
情報処理装置101は、ビットマップ画像910を参照して、ネジ900のバウンディングボックス911に含まれる部品を抽出する。ここでは、部品P1~P6が抽出される。また、情報処理装置101は、ビットマップ画像920を参照して、ネジ900のバウンディングボックス921に含まれる部品を抽出する。ここでは、部品P1,P5が抽出される。
【0093】
図9Bにおいて、情報処理装置101は、ビットマップ画像910を参照して、バウンディングボックス911の左右の枠線とネジ900が接する高さのうち一番下の高さを、ネジ900のネジ首の高さとして特定する。
【0094】
また、情報処理装置101は、ビットマップ画像920を参照して、バウンディングボックス921の左右の枠線とネジ900が接する高さのうち一番下の高さを、ネジ900のネジ首の高さとして特定する。なお、ビットマップ画像間でネジ首の高さが異なる場合には、情報処理装置101は、例えば、最も低いものを、ネジ900のネジ首の高さとして特定する。
【0095】
図9Cにおいて、情報処理装置101は、ビットマップ画像910を参照して、バウンディングボックス911の左右の枠線とネジ900が接する部分のうち一番下の点の間を結ぶ線と、ネジ900の中心軸との交点930を、ネジ首位置として特定する。なお、ネジ首位置は、全ビットマップ画像で同じ位置となる。
【0096】
図9Dにおいて、情報処理装置101は、ビットマップ画像910から抽出された部品P1~P6のうち、ネジ900のネジ首の高さhよりも下にあり、かつ、ネジ900の中心軸からの距離がネジ径の半径以内にある部品を締結部品として特定する。ただし、ネジ900の中心軸のネジ頭方向を上方向とする。ここでは、部品P5が締結部品として特定される。
【0097】
また、情報処理装置101は、ビットマップ画像920から抽出された部品P1,P5のうち、ネジ900のネジ首の高さhよりも下にあり、かつ、ネジ900の中心軸からの距離がネジ径の半径以内にある部品を締結部品として特定する。ここでは、部品P5が締結部品として特定される。
【0098】
図9Eにおいて、情報処理装置101は、ビットマップ画像910から抽出された部品P1~P6(ただし、
図9Eでは、部品P6は不図示)のうち、ネジ900のネジ首の高さhよりも下にあり、かつ、特定された締結部品P5よりも上にある部品を被締結部品として特定する。ここでは、部品P2~P4が被締結部品として特定される。
【0099】
なお、締結部品として特定された部品が複数存在する場合がある。この場合、情報処理装置101は、例えば、ネジ首の高さよりも下にあり、かつ、特定された複数の締結部品のうちの一番下の締結部品よりも上にある部品を被締結部品として特定する。
【0100】
また、情報処理装置101は、ビットマップ画像920から抽出された部品P1,P5のうち、ネジ900のネジ首の高さhよりも下にあり、かつ、特定された締結部品P5よりも上にある部品を被締結部品として特定する。ここでは、被締結部品は特定されない。
【0101】
図9Fにおいて、情報処理装置101は、全ビットマップ画像(ここでは、ビットマップ画像910,920)から抽出された部品P1~P6のうち、締結部品および被締結部品のいずれの部品とも異なる部品を、その他部品(除外部品)として特定する。ここでは、部品P1,P6がその他部品として特定される。
【0102】
このように、情報処理装置101によれば、モデルM1内のネジ900の締結状態に関する各種チェックを行うために必要な情報を特定することができる。
【0103】
具体的には、例えば、
図10に示すように、モデルM1のビットマップ画像910から、ネジ900のバウンディングボックス911に含まれる部品P1~P6が抽出される。そして、抽出された部品P1~P6のうち、ネジ900のネジ首の高さhよりも下にあり、かつ、ネジ900の中心軸からの距離がネジ径の半径以内にある部品P5が締結部品として特定される。また、抽出された部品P1~P6のうち、ネジ900のネジ首の高さhよりも下にあり、かつ、特定した締結部品P5よりも上にある部品P2~P4が被締結部品として特定される。
【0104】
(ネジ首位置の算出例)
図11Aおよび
図11Bを用いて、ネジ首位置の座標算出例について説明する。ネジ首位置の座標は、例えば、ネジ首位置に工具を配置した場合の他の部品との干渉チェックに用いられる。
【0105】
図11Aおよび
図11Bは、ネジ首位置の座標算出例を示す説明図である。ここでは、モデルM内のネジ1100のネジ首位置の座標を算出する場合を例に挙げて説明する。
【0106】
図11Aにおいて、まず、情報処理装置101は、ネジ1100のポリゴンデータに含まれる全ポリゴンの頂点のXYZ成分(ローカル座標系)から、XYZ成分それぞれについて最小値、最大値を算出する。そして、情報処理装置101は、算出したXYZ成分それぞれの最小値、最大値から、ネジ1100のバウンディングボックス1110を設定する。
【0107】
つぎに、情報処理装置101は、バウンディングボックス1110を、ネジ1100の中心軸を通る断面で切ったビットマップ画像1120を作成する。ビットマップ画像1120を取得する際には、1ピクセル当たり0.1mmとする。
【0108】
つぎに、情報処理装置101は、ビットマップ画像1120上の点1130をローカル座標系に変換する。点1130は、ネジ1100のネジ首位置を示す。ビットマップ画像1120上の点1130の位置は、(Xp,Yp)である。なお、Xp、Ypは、ピクセル数である。
【0109】
ローカル座標系でのネジ首位置(Xnec,Ynec,Znec)は、例えば、下記式(1)を用いて求めることができる。
【0110】
【0111】
図11Bにおいて、情報処理装置101は、ローカル座標系でのネジ首位置(Xnec,Ynec,Znec)を、グローバル座標系でのネジ首位置(Xglobal,Yglobal,Zglobal)に変換する。
【0112】
グローバル座標系でのネジ首位置(Xglobal,Yglobal,Zglobal)は、例えば、下記式(2)を用いて求めることができる。ただし、3×3のマトリクスは、ネジ1100のローカル座標姿勢を示す。(Xlocal,Ylocal,Zlocal)は、ローカル座標系の原点位置を示す。
【0113】
【0114】
ここで、ローカル座標系でのネジ首位置(Xnec,Ynec,Znec)を下記式(3)とし、ローカル座標系の原点位置(Xlocal,Ylocal,Zlocal)を下記式(4)とする。また、ネジ1100のローカル座標姿勢を下記式(5)とする(Z軸周りに時計方向に30度回転)。
【0115】
(Xnec,Ynec,Znec)=(5,5,5) …(3)
【0116】
(Xlocal,Ylocal,Zlocal)=(10,10,10)…(4)
【0117】
【0118】
この場合、グローバル座標系でのネジ首位置(Xglobal,Yglobal,Zglobal)は、下記式(6)となる。
【0119】
(Xglobal,Yglobal,Zglobal)
=(16.8,11.8,15.0) …(6)
【0120】
これにより、ネジ1100のネジ首位置に工具を配置した場合の他の部品との干渉チェックに用いる、グローバル座標系でのネジ首位置(Xglobal,Yglobal,Zglobal)を求めることができる。
【0121】
(第1の判定例)
つぎに、
図12Aおよび
図12Bを用いて、モデルM内の一部品を締結するネジが同一種類のネジであるか否かの判定例について説明する。
【0122】
図12Aは、第1の判定例を示す説明図である。
図12Aにおいて、情報処理装置101は、例えば、モデルM1内の各ネジについて、各ネジに対応する被締結部品とのペアを作成する。この際、情報処理装置101は、例えば、各ネジについて特定された被締結部品のうち、各ネジのネジ頭に接触している被締結部品とのペアを作成する。
【0123】
図9Eに示した例では、ネジ900と、ネジ900のネジ頭に接触している被締結部品P2とのペアが作成される。作成されたネジと被締結部品とのペアは、例えば、ペアテーブル1200に登録される。ペアテーブル1200は、モデルM1内の各ネジについて、各ネジと被締結部品とのペアを示す。
【0124】
つぎに、情報処理装置101は、例えば、ペアテーブル1200を参照して、キーを締結部品の部品番号、値をネジの部品番号の配列とした二次元配列1210を作成する。部品Aを例に挙げると、部品Aを締結するために、ネジ1およびネジ2が使用されていることを示す。
【0125】
そして、情報処理装置101は、二次元配列1210を参照して、締結部品ごとに、当該締結部品を締結しているネジが同一種類のネジであるか否かを判定する。ここで、同一種類のネジの場合(一つのネジのみ使用されている場合も含む)、情報処理装置101は、判定OKとする。
【0126】
一方、同一種類のネジではない場合、情報処理装置101は、判定NGとする。例えば、部品Aに対応するネジ1およびネジ2が、異なる種類のネジであるとする。この場合、情報処理装置101は、部品Aについて、判定NGとする。第1の判定結果は、例えば、
図12Bに示すような第1の判定結果一覧1220に記憶される。
【0127】
図12Bは、第1の判定結果の具体例を示す説明図である。
図12Bにおいて、第1の判定結果一覧1220は、モデルM1内の各部品について、各部品が同一種類のネジで締結されているか否かを示す第1の判定結果を含む情報である。
【0128】
第1の判定結果一覧1220によれば、例えば、モデルM1内の部品Aについて、部品Aが異なる種類のネジ1,ネジ2で締結されているため判定NGとなっていることがわかる。また、モデルM1内の部品Cについて、部品Cが同一種類のネジ5で締結されているため、判定OKとなっていることがわかる。
【0129】
(第2の判定例)
つぎに、
図13Aおよび
図13Bを用いて、モデルM内のネジと締結部品との締結部分の長さが規定以上であるか否かの判定例について説明する。
【0130】
図13Aは、第2の判定例を示す説明図である。
図13Aにおいて、情報処理装置101は、ビットマップ画像bm上のネジと締結部品とのペアに着目する。
図9Dに示したビットマップ画像910を例に挙げると、情報処理装置101は、ビットマップ画像910上のネジ900と締結部品P5とのペアに着目する。ただし、
図13Aでは、ビットマップ画像910の一部を抜粋して表示している。
【0131】
つぎに、情報処理装置101は、ビットマップ画像910において、ネジ900のバウンディングボックス911の範囲で上から下へ順に、横方向(例えば、左⇒右)にチェックして、ネジ900と締結部品P5とのピクセルが連続している所をカウントする。
【0132】
ここでは、締結部品P5からネジ900へとピクセルが連続する所の数を「299」とし、ネジ900から締結部品P5へとピクセルが連続する所の数を「300」とする。
【0133】
つぎに、情報処理装置101は、カウントした「締結部品P5⇒ネジ900」の数「299」と、「ネジ900⇒締結部品P5」の数「300」のうちの多い方の数「300」に基づいて、ネジ900と締結部品P5との締結部分の長さを算出する。
【0134】
ここでは、1ピクセル0.1mmとすると、ネジ900と締結部品P5との締結部分の長さは、「30mm(=300×0.1mm)」となる。
【0135】
そして、情報処理装置101は、算出した締結部分の長さが、ネジ900に対応する規定値以上であるか否かを判定する。ネジ900に対応する規定値は、例えば、
図4Cに示した補助データ420から特定することができる。ここで、締結部分の長さが規定値以上の場合、情報処理装置101は、判定OKとする。
【0136】
一方、締結部分の長さが規定値未満の場合、情報処理装置101は、判定NGとする。例えば、ネジ900に対応する規定値を「30mm」とすると、ネジ900と締結部品P5との締結部分の長さ「30mm」が規定以上のため、判定OKとなる。第2の判定結果は、例えば、
図13Bに示すような第2の判定結果一覧1320に記憶される。
【0137】
図13Bは、第2の判定結果の具体例を示す説明図である。
図13Bにおいて、第2の判定結果一覧1320は、モデルM1内の各ネジについて、各ネジと締結部品との締結部分の長さが規定値以上であるか否かを示す第2の判定結果を含む情報である。
【0138】
第2の判定結果一覧1320によれば、例えば、モデルM1内のネジ1について、締結部品との締結部分の長さ(測定値)が規定値以上のため判定OKとなっていることがわかる。また、モデルM1内のネジ3について、締結部品との締結部分の長さ(測定値)が規定値未満のため判定NGとなっていることがわかる。
【0139】
(第3の判定例)
つぎに、
図14Aおよび
図14Bを用いて、モデルM内のネジのネジ首位置に工具を配置した場合に他の部品と干渉するか否かの判定例について説明する。
【0140】
図14Aは、第3の判定例を示す説明図である。
図14Aにおいて、情報処理装置101は、モデルM内の各ネジについて、各ネジのネジ首位置を起点としてネジ頭方向に工具を配置する。ここでは、モデルM1内のネジ1400のネジ首位置1401に工具1402を配置する場合を想定する。ネジ1400のネジ首位置1401に配置される工具1402は、例えば、
図4Cに示した補助データ420から特定することができる。
【0141】
つぎに、情報処理装置101は、
図4Bに示した組立順番データ410を参照して、ネジ1400よりも組立順番が前の他の部品を対象として、工具1402と干渉するか否かを判定する。ここで、他の部品と干渉しない場合、情報処理装置101は、判定OKとする。一方、他の部品と干渉する場合、情報処理装置101は、判定NGとする。
【0142】
ここでは、ネジ1400を「ネジ2」とし、ネジ2よりも組立順番が前の他の部品を、部品A、部品B、ネジ1、部品Cおよび部品Dとする。また、部品Aおよび部品Bが、ネジ2(ネジ1400)のネジ首位置1401に配置される工具1402と干渉する場合を想定する。
【0143】
この場合、情報処理装置101は、モデルM1内のネジ2(ネジ1400)について、判定NGとする。第3の判定結果は、例えば、
図14Bに示すような第3の判定結果一覧1420に記憶される。
【0144】
図14Bは、第3の判定結果の具体例を示す説明図である。
図14Bにおいて、第3の判定結果一覧1420は、モデルM1内の各ネジについて、各ネジのネジ首位置に工具を配置した場合に他の部品と干渉するか否かを示す第3の判定結果を含む情報である。
【0145】
第3の判定結果一覧1420によれば、例えば、モデルM1内のネジ1について、ネジ1のネジ首位置に工具を配置した場合に他の部品と干渉しないため判定OKとなっていることがわかる。また、モデルM1内のネジ2について、ネジ2のネジ首位置に工具を配置した場合に部品A、部品Bと干渉するため判定NGとなっていることがわかる。
【0146】
(情報処理装置101の各種処理手順)
つぎに、
図15~
図20を用いて、情報処理装置101の各種処理手順について説明する。まず、
図15および
図16を用いて、情報処理装置101のネジの締結状態特定処理手順について説明する。
【0147】
図15は、情報処理装置101のネジの締結状態特定処理手順の一例を示すフローチャートである。
図15のフローチャートにおいて、まず、情報処理装置101は、判定の対象となるモデルMのアセンブリデータの入力を受け付けたか否かを判断する(ステップS1501)。
【0148】
ここで、情報処理装置101は、モデルMのアセンブリデータの入力を受け付けるのを待つ(ステップS1501:No)。情報処理装置101は、モデルMのアセンブリデータの入力を受け付けた場合(ステップS1501:Yes)、モデルM内の全部品に対し、部品ごとにユニークな色を付ける(ステップS1502)。
【0149】
なお、部品への色付けは、モデルM上の部品とビットマップ画像bm上の部品とを対応付けるとともに、ビットマップ画像bm上で部品を区別するために行われる。
【0150】
つぎに、情報処理装置101は、入力されたアセンブリデータ(例えば、アセンブリデータ400に含まれる補助データ420)を参照して、モデルM内のネジのうち選択されていない未選択のネジを選択する(ステップS1503)。
【0151】
そして、情報処理装置101は、選択したネジの締結状態を特定する特定処理を実行する(ステップS1504)。特定処理の具体的な処理手順については、
図16を用いて後述する。つぎに、情報処理装置101は、モデルM内のネジのうち選択されていない未選択のネジがあるか否かを判断する(ステップS1505)。
【0152】
ここで、未選択のネジがある場合(ステップS1505:Yes)、情報処理装置101は、ステップS1503に戻る。一方、未選択のネジがない場合(ステップS1505:No)、情報処理装置101は、モデルM内のネジごとの締結状態特定結果を出力して(ステップS1506)、本フローチャートによる一連の処理を終了する。
【0153】
つぎに、
図16を用いて、
図15に示したステップS1504の特定処理の具体的な処理手順について説明する。
【0154】
図16は、特定処理の具体的処理手順の一例を示すフローチャートである。
図16のフローチャートにおいて、まず、情報処理装置101は、選択したネジの中心軸と頭方向とを特定する(ステップS1601)。そして、情報処理装置101は、モデルMのアセンブリデータに基づいて、ネジの中心軸のネジ頭方向を上方向として、ネジの中心軸回りにビューを回転させて、複数のビュー角度のビットマップ画像bmを取得する(ステップS1602)。この際、情報処理装置101は、例えば、ビューをネジの大きさでフィットして、ビューの状態をビットマップ画像bmとして取得する。
【0155】
つぎに、情報処理装置101は、取得した複数のビットマップ画像bmのうち選択されていない未選択のビットマップ画像bmを選択する(ステップS1603)。そして、情報処理装置101は、選択したビットマップ画像bmを画像解析して、ネジのバウンディングボックスに含まれる全部品を抽出する(ステップS1604)。
【0156】
つぎに、情報処理装置101は、バウンディングボックスの左右の枠線とネジが接する部分のうち一番下の高さを、ネジのネジ首高さとして特定する(ステップS1605)。そして、情報処理装置101は、ネジのバウンディングボックスの左右の枠線とネジが接する部分のうち一番下の点の間を結ぶ線と、ネジの中心軸との交点を、ネジ首位置として特定する(ステップS1606)。
【0157】
つぎに、情報処理装置101は、取得した複数のビットマップ画像bmのうち選択されていない未選択のビットマップ画像bmがあるか否かを判断する(ステップS1607)。ここで、未選択のビットマップ画像bmがある場合(ステップS1607:Yes)、情報処理装置101は、ステップS1603に戻る。
【0158】
一方、未選択のビットマップ画像bmがない場合(ステップS1607:No)、情報処理装置101は、複数のビットマップ画像bmのうち少なくともいずれかのビットマップ画像bmにおいて、抽出した部品のうち、ネジの中心軸のネジ頭方向を上方向として、ネジ首高さよりも下にあり、かつ、ネジの中心軸から横方向にネジ径の半径以内にある部品を締結部品として特定する(ステップS1608)。
【0159】
つぎに、情報処理装置101は、複数のビットマップ画像bmのうち少なくともいずれかのビットマップ画像bmにおいて、抽出した部品のうち、ネジの中心軸のネジ頭方向を上方向として、ネジ首高さよりも下にあり、かつ、特定した締結部品よりも上にある部品を被締結部品として特定する(ステップS1609)。
【0160】
そして、情報処理装置101は、抽出した全部品のうち、締結部品でも被締結部品でもない部品を、その他部品(除外部品)として特定して(ステップS1610)、特定処理を呼び出したステップに戻る。
【0161】
これにより、モデルM内のネジについて、ネジの締結状態を特定するための情報(締結状態特定結果)を提供することができる。
【0162】
つぎに、
図17~
図20を用いて、情報処理装置101のネジの締結状態判定処理手順について説明する。
【0163】
図17は、情報処理装置101のネジの締結状態判定処理手順の一例を示すフローチャートである。
図17のフローチャートにおいて、まず、情報処理装置101は、判定の対象となるモデルM内のネジごとの締結状態特定結果を取得する(ステップS1701)。取得される締結状態特定結果は、
図15に示したステップS1506において出力された締結状態特定結果である。
【0164】
つぎに、情報処理装置101は、取得したネジごとの締結状態特定結果に基づいて、モデルM内の各ネジについて第1の判定処理を実行する(ステップS1702)。第1の判定処理の具体的な処理手順については、
図18を用いて後述する。
【0165】
つぎに、情報処理装置101は、取得したネジごとの締結状態特定結果に基づいて、モデルM内の各ネジについて第2の判定処理を実行する(ステップS1703)。第2の判定処理の具体的な処理手順については、
図19を用いて後述する。
【0166】
つぎに、情報処理装置101は、取得したネジごとの締結状態特定結果に基づいて、モデルM内の各ネジについて第3の判定処理を実行する(ステップS1704)。第3の判定処理の具体的な処理手順については、
図20を用いて後述する。
【0167】
そして、情報処理装置101は、モデル内の各ネジについて、第1の判定処理結果、第2の判定処理結果および第3の判定処理結果を含む判定結果一覧を出力して(ステップS1705)、本フローチャートによる一連の処理を終了する。
【0168】
ここで、
図18を用いて、
図17に示したステップS1702の第1の判定処理の具体的な処理手順について説明する。
【0169】
図18は、第1の判定処理の具体的処理手順の一例を示すフローチャートである。
図18のフローチャートにおいて、まず、情報処理装置101は、取得したネジごとの締結状態特定結果に基づいて、モデルM内の各ネジと被締結部品とのペアを作成する(ステップS1801)。
【0170】
そして、情報処理装置101は、モデルM内の各ネジについて、作成したペアを参照して、キーを締結部品の部品番号、値をネジの部品番号の配列とした二次元配列を作成する(ステップS1802)。つぎに、情報処理装置101は、モデルM内の締結部品ごとに、当該締結部品を締結しているネジが同一種類のネジであるか否かを判定する(ステップS1803)。
【0171】
そして、情報処理装置101は、モデルM内の各部品について、各部品が同一種類のネジで締結されているか否かを示す第1の判定処理結果を作成して(ステップS1804)、第1の判定処理を呼び出したステップに戻る。
【0172】
これにより、モデルM内の各部品(被締結部品)について、各部品が同一種類のネジで締結されているかをチェックすることができる。
【0173】
ここで、
図19を用いて、
図17に示したステップS1703の第2の判定処理の具体的な処理手順について説明する。
【0174】
図19は、第2の判定処理の具体的処理手順の一例を示すフローチャートである。
図19のフローチャートにおいて、まず、情報処理装置101は、モデルM内のネジのうち選択されていない未選択のネジを選択する(ステップS1901)。
【0175】
つぎに、情報処理装置101は、選択したネジについて、ビットマップ画像bm上のネジと締結部品とを特定する(ステップS1902)。ここで使用されるビットマップ画像bmは、選択されたネジに対応する締結部品が特定された画像である。
【0176】
そして、情報処理装置101は、ビットマップ画像bmにおいて、ネジのバウンディングボックスの範囲で上から下へ順に、横方向にチェックして、ネジと締結部品とのピクセルが連続している所をカウントする(ステップS1903)。つぎに、情報処理装置101は、ネジから締結部品へとピクセルが連続する所をカウントする(ステップS1904)。つぎに、情報処理装置101は、締結部品からネジへとピクセルが連続する所をカウントする(ステップS1905)。
【0177】
そして、情報処理装置101は、カウント数が多い方の数に基づいて、ネジと締結部品との締結部分の長さを算出する(ステップS1906)。つぎに、情報処理装置101は、算出した締結部分の長さが、ネジに対応する規定値以上であるか否かを判定する(ステップS1907)。
【0178】
つぎに、情報処理装置101は、モデルM内のネジのうち選択されていない未選択のネジがあるか否かを判断する(ステップS1908)。ここで、未選択のネジがある場合(ステップS1908:Yes)、情報処理装置101は、ステップS1901に戻る。
【0179】
一方、未選択のネジがない場合(ステップS1908:No)、情報処理装置101は、モデルM内の各ネジについて、各ネジと締結部品との締結部分の長さが規定値以上であるか否かを示す第2の判定処理結果を作成して(ステップS1909)、第2の判定処理を呼び出したステップに戻る。
【0180】
これにより、モデルM内の各ネジについて、各ネジと締結部品との締結部分の長さが規定値以上であるかをチェックすることができる。
【0181】
つぎに、
図20を用いて、
図17に示したステップS1704の第3の判定処理の具体的な処理手順について説明する。
【0182】
図20は、第3の判定処理の具体的処理手順の一例を示すフローチャートである。
図20のフローチャートにおいて、まず、情報処理装置101は、モデルM内のネジのうち選択されていない未選択のネジを選択する(ステップS2001)。
【0183】
つぎに、情報処理装置101は、モデルMを表示するシミュレーション空間(3次元空間)において、選択したネジのネジ首位置を起点としてネジ頭方向に工具を配置する(ステップS2002)。そして、情報処理装置101は、モデルMの組立順番データを参照して、選択したネジよりも組立順番が前の他の部品を対象として、配置した工具と干渉するか否かを判定する(ステップS2003)。
【0184】
つぎに、情報処理装置101は、モデルM内のネジのうち選択されていない未選択のネジがあるか否かを判断する(ステップS2004)。ここで、未選択のネジがある場合(ステップS2004:Yes)、情報処理装置101は、ステップS2001に戻る。
【0185】
一方、未選択のネジがない場合(ステップS2004:No)、情報処理装置101は、モデルM内の各ネジについて、各ネジのネジ首位置に工具を配置した場合に他の部品と干渉するか否かを示す第3の判定処理結果を作成して(ステップS2005)、第3の判定処理を呼び出したステップに戻る。
【0186】
これにより、モデルM内の各ネジについて、各ネジのネジ首位置に工具を配置した場合に他の部品と干渉するかをチェックすることができる。
【0187】
以上説明したように、実施の形態にかかる情報処理装置101によれば、判定の対象となるモデルMのアセンブリデータに基づいて、モデルM内のネジの周辺の所定範囲に含まれる部品を抽出し、抽出した部品のうち、ネジの中心軸のネジ頭方向を上方向として、ネジのネジ首高さよりも下にあり、かつ、ネジの中心軸からの距離がネジのネジ径に応じた所定長以内にある部品を締結部品として特定し、ネジ首高さよりも下にあり、かつ、特定した締結部品よりも上にある部品を被締結部品として特定することができる。所定長は、例えば、ネジ径の半分の長さである。
【0188】
これにより、モデルM内のネジの締結状態の確認に供する情報として、ネジに対応する締結部品および被締結部品を特定可能な情報を提供することができる。
【0189】
また、情報処理装置101によれば、抽出した部品のうち、特定した締結部品および被締結部品のいずれの部品とも異なる部品を、除外部品として特定することができる。
【0190】
これにより、モデルM内のネジの締結状態の確認に供する情報として、ネジの周辺に存在するものの、ネジによって締結されないその他部品(除外部品)を特定可能な情報を提供することができる。
【0191】
また、情報処理装置101によれば、ネジの中心軸のネジ頭方向を上方向としてネジの中心軸回りにビューを回転させて、複数の異なる方向からモデルMを見たビットマップ画像bmをそれぞれ取得し、取得したビットマップ画像bmごとに、周辺の部品を抽出する処理、締結部品を特定する処理および被締結部品を特定する処理を実行することができる。また、情報処理装置101によれば、複数の異なる方向のうちの少なくともいずれかの方向に対応するビットマップ画像bmにおいて、抽出した部品のうち、ネジ首高さよりも下にあり、かつ、ネジの中心軸からの距離が所定長以内にある部品を締結部品として特定することができる。
【0192】
これにより、どの方向から見るかによって、ネジと締結部品とが締結されていないように見える場合があることを考慮して、複数のビュー角度のビットマップ画像bmを用いて締結部品を特定でき、ネジに対応する締結部品の特定漏れを防ぐことができる。
【0193】
また、情報処理装置101によれば、ネジのバウンディングボックスの左右の枠線とネジが接する部分のうち一番下の点の間を結ぶ線と、ネジの中心軸との交点を、ネジ首位置として特定することができる。
【0194】
これにより、モデルM内のネジの締結状態の確認に供する情報として、ネジを締める際に使用する工具を配置するネジ首位置を特定可能な情報を提供することができる。
【0195】
また、情報処理装置101によれば、モデルMに複数種類のネジが含まれる場合、モデルM内のネジごとに特定した被締結部品に基づいて、モデルM内の部品のうち被締結部品として特定された部品を締結するネジが同一種類のネジであるか否かを判定し、判定した結果を出力することができる。
【0196】
これにより、モデルM内の各部品(被締結部品)について、各部品が同一種類のネジで締結されているかをチェックすることができる。
【0197】
また、情報処理装置101によれば、特定した締結部品とネジとが接する締結部分の長さが規定値以上であるか否かを判定し、判定した結果を出力することができる。
【0198】
これにより、モデルM内の各ネジについて、各ネジと締結部品とによって被締結部品を固定するのに必要な締結部分の長さが確保されているかをチェックすることができる。
【0199】
また、情報処理装置101によれば、モデルMを組み立てる際の各部品の組立順番に基づいて、特定したネジ首位置に工具を配置した場合に他の部品と干渉するか否かを判定し、判定した結果を出力することができる。
【0200】
これにより、モデルM内の各ネジについて、各ネジのネジ首位置に工具を配置した場合に他の部品と干渉するかをチェックすることができる。
【0201】
これらのことから、実施の形態にかかる情報処理システム100および情報処理装置101によれば、製品に含まれるネジの締結状態の確認に供する情報を提供して、ネジの締結状態に関する各種チェックを自動化することが可能となる。
【0202】
例えば、一部品に使用するネジの種類が統一されているか、ネジの締結部分の長さが規定値以上であるか、組立時にネジを締める際に工具が他の部品と干渉しないかなどのチェックを自動で行うことができる。これにより、製造業における設計工程から生産準備工程へ移行する段階で、ネジに関する各種チェックを行うことが可能となり、組立時の作業効率の向上を図るとともに、組立時に部品が組み付かない、工具が入らないといった問題の発生を抑えて、手戻りを防ぐことができる。
【0203】
なお、本実施の形態で説明したネジの締結状態判定方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本ネジの締結状態判定プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、DVD、USBメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本ネジの締結状態判定プログラムは、インターネット等のネットワークを介して配布してもよい。
【0204】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0205】
(付記1)判定の対象となるモデルのアセンブリデータに基づいて、前記モデル内のネジの周辺の所定範囲に含まれる部品を抽出し、
抽出した前記部品のうち、前記ネジの中心軸のネジ頭方向を上方向として、前記ネジのネジ首の高さよりも下にあり、かつ、前記ネジの中心軸からの距離が前記ネジのネジ径に応じた所定長以内にある部品を締結部品として特定し、
抽出した前記部品のうち、前記ネジ頭方向を上方向として、前記ネジ首の高さよりも下にあり、かつ、特定した前記締結部品よりも上にある部品を被締結部品として特定する、
処理をコンピュータに実行させることを特徴とするネジの締結状態判定プログラム。
【0206】
(付記2)抽出した前記部品のうち、特定した前記締結部品および前記被締結部品のいずれの部品とも異なる部品を、除外部品として特定する、
処理を前記コンピュータに実行させることを特徴とする付記1に記載のネジの締結状態判定プログラム。
【0207】
(付記3)前記ネジの中心軸のネジ頭方向を上方向として、前記ネジの中心軸回りにビューを回転させて、複数の異なる方向から前記モデルを見た画像をそれぞれ取得し、
取得した前記画像ごとに、前記抽出する処理、前記締結部品を特定する処理および前記被締結部品を特定する処理を、前記コンピュータに実行させることを特徴とする付記1または2に記載のネジの締結状態判定プログラム。
【0208】
(付記4)前記複数の異なる方向のうちの少なくともいずれかの方向に対応する画像において、抽出した前記部品のうち、前記ネジ首の高さよりも下にあり、かつ、前記ネジの中心軸からの距離が前記所定長以内にある部品を締結部品として特定する、
処理を前記コンピュータに実行させることを特徴とする付記3に記載のネジの締結状態判定プログラム。
【0209】
(付記5)前記抽出する処理は、
前記ネジを囲うバウンディングボックスに含まれる部品を抽出し、
前記ネジの中心軸のネジ頭方向を上方向として、前記バウンディングボックスの左右の枠線と前記ネジが接する部分のうち一番下の高さを、前記ネジ首の高さとして特定する、処理を前記コンピュータに実行させることを特徴とする付記1~4のいずれか一つに記載のネジの締結状態判定プログラム。
【0210】
(付記6)前記バウンディングボックスの左右の枠線と前記ネジが接する部分のうち一番下の点の間を結ぶ線と、前記ネジの中心軸との交点を、前記ネジ首の位置として特定する、
処理を前記コンピュータに実行させることを特徴とする付記5に記載のネジの締結状態判定プログラム。
【0211】
(付記7)前記モデル内のネジごとに、前記抽出する処理、前記締結部品を特定する処理および前記被締結部品を特定する処理を前記コンピュータに実行させ、
前記モデルに複数種類のネジが含まれる場合、前記ネジごとに特定した被締結部品に基づいて、前記モデル内の部品のうち被締結部品として特定された部品を締結するネジが同一種類のネジであるか否かを判定し、
判定した結果を出力する、
処理を前記コンピュータに実行させることを特徴とする付記1~6のいずれか一つに記載のネジの締結状態判定プログラム。
【0212】
(付記8)特定した前記締結部品と前記ネジとが接する締結部分の長さが規定値以上であるか否かを判定し、
判定した結果を出力する、
処理を前記コンピュータに実行させることを特徴とする付記1~7のいずれか一つに記載のネジの締結状態判定プログラム。
【0213】
(付記9)前記モデルを組み立てる際の各部品の組立順番に基づいて、特定した前記ネジ首の位置に工具を配置した場合に他の部品と干渉するか否かを判定し、
判定した結果を出力する、
処理を前記コンピュータに実行させることを特徴とする付記6に記載のネジの締結状態判定プログラム。
【0214】
(付記10)前記ネジと対応付けて、特定した前記締結部品および前記被締結部品を表す情報を出力する、処理を前記コンピュータに実行させることを特徴とする付記1~9のいずれか一つに記載のネジの締結状態判定プログラム。
【0215】
(付記11)前記所定長は、前記ネジ径の半分の長さである、ことを特徴とする付記1~10のいずれか一つに記載のネジの締結状態判定プログラム。
【0216】
(付記12)判定の対象となるモデルのアセンブリデータに基づいて、前記モデル内のネジの周辺の所定範囲に含まれる部品を抽出し、
抽出した前記部品のうち、前記ネジの中心軸のネジ頭方向を上方向として、前記ネジのネジ首の高さよりも下にあり、かつ、前記ネジの中心軸からの距離が前記ネジのネジ径に応じた所定長以内にある部品を締結部品として特定し、
抽出した前記部品のうち、前記ネジ頭方向を上方向として、前記ネジ首の高さよりも下にあり、かつ、特定した前記締結部品よりも上にある部品を被締結部品として特定する、
処理をコンピュータに実行させることを特徴とするネジの締結状態判定方法。
【0217】
(付記13)判定の対象となるモデルのアセンブリデータに基づいて、前記モデル内のネジの周辺の所定範囲に含まれる部品を抽出する抽出部と、
前記抽出部によって抽出された前記部品のうち、前記ネジの中心軸のネジ頭方向を上方向として、前記ネジのネジ首の高さよりも下にあり、かつ、前記ネジの中心軸からの距離が前記ネジのネジ径に応じた所定長以内にある部品を締結部品として特定し、抽出された前記部品のうち、前記ネジ頭方向を上方向として、前記ネジ首の高さよりも下にあり、かつ、特定した前記締結部品よりも上にある部品を被締結部品として特定する特定部と、
を含むことを特徴とする情報処理システム。
【符号の説明】
【0218】
100 情報処理システム
101 情報処理装置
102 情報管理サーバ
110 ネットワーク
120 アセンブリDB
300 バス
301 CPU
302 メモリ
303 ディスクドライブ
304 ディスク
305 通信I/F
306 ディスプレイ
307 入力装置
308 可搬型記録媒体I/F
309 可搬型記録媒体
400 アセンブリデータ
410 組立順番データ
420 補助データ
501 受付部
502 抽出部
503 特定部
504 判定部
505 出力部
600 ネジ一覧情報
700,800,900,1100,1400 ネジ
710 点線枠
720,810 中心軸
801,802,803,804,910,920,1120 ビットマップ画像
911,921,1110 バウンディングボックス
1220,1320,1420 判定結果一覧
1401 ネジ首位置
1402 工具