JP5018595B2 - 関節認識プログラム、部品データ生成プログラム、関節認識装置、部品データ生成装置、関節認識方法、および部品データ生成方法 - Google Patents

関節認識プログラム、部品データ生成プログラム、関節認識装置、部品データ生成装置、関節認識方法、および部品データ生成方法 Download PDF

Info

Publication number
JP5018595B2
JP5018595B2 JP2008090928A JP2008090928A JP5018595B2 JP 5018595 B2 JP5018595 B2 JP 5018595B2 JP 2008090928 A JP2008090928 A JP 2008090928A JP 2008090928 A JP2008090928 A JP 2008090928A JP 5018595 B2 JP5018595 B2 JP 5018595B2
Authority
JP
Japan
Prior art keywords
feature
data
shape
component data
joint
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008090928A
Other languages
English (en)
Other versions
JP2009245157A (ja
Inventor
道裕 西本
輝敏 田口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008090928A priority Critical patent/JP5018595B2/ja
Publication of JP2009245157A publication Critical patent/JP2009245157A/ja
Application granted granted Critical
Publication of JP5018595B2 publication Critical patent/JP5018595B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、アセンブリを構成する部品データ群の中から関節に該当する部品データを認識する関節認識プログラム、関節認識装置、および関節認識方法に関し、また、このような部品データを生成する部品データ生成プログラム、部品データ生成装置、および部品データ生成方法に関する。
特許文献1には、可動部分が動く状況をオペレータが容易に確認できるように表示するツールおよび可動部分に関しての入力を受け付けることが開示されている。また、特許文献2には、リンクおよび関節を有する機械の機構をシミュレーションする技術が開示してある。
特開2005−284393号公報 特許第3361007号公報
一般に、設計対象となる製品には、ローラやローラを軸支するシャフトなどの関節構造が多数設けられている。たとえば、プリンタやデジタルカメラ、車のエンジンを例に挙げると、全部品数(約10000〜20000個)の20〜30%が関節構造に相当する。上述した特許文献1および特許文献2の従来技術では、関節構造の設定は、オペレータの操作によってしなければならない。
すなわち、シミュレーションの実行に先立って、どの部品とどの部品とが関連をして動作する関節構造かという判断と、この判断された関節構造について、どのような動作が可能かといったパラメータの設定とを、オペレータが手動操作によりおこなわなければならないという問題があった。
したがって、シミュレーションに先立ってオペレータが関節構造の設定を手動操作でおこなうと、オペレータの作業負担が増大するという問題があった。また、オペレータへの依存度が高いと、関節構造なのに非関節構造と設定してしまったり、非関節構造なのに関節構造と設定してしまう設定ミスが発生する。
これにより、誤った関節構造に基づくシミュレーションが実行されると、正常に駆動するはずの箇所が駆動しなかったり、駆動してはいけない箇所が駆動してしまうという誤ったシミュレーション結果による設計ミスが発生するという問題があった。同様に、本来干渉しないはずの箇所が干渉したり、干渉するはずだった箇所が干渉しなかったりするという誤ったシミュレーション結果による設計ミスが発生するという問題があった。このように、作業負担が増大することにより設計作業に時間がかかり、また、設計ミスが生じると手戻りが発生するため、設計期間の長期化を招くという問題があった。
この発明は、上述した従来技術による問題点を解消するため、オペレータの設計負担の軽減と、シミュレーション結果の信頼性の向上とを図ることにより、設計期間の短縮化を図ることができるプログラム、装置、および方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、第1のプログラム、装置、および方法は、アセンブリを構成する部品データ群の中から円柱形状を有する部品データと円筒形状または円筒の穴形状(以下、「円筒/穴形状」という)を有する部品データとを選択し、選択された一対の部品データの配置位置と前記円柱形状の軸と前記円筒/穴形状の軸とに基づいて、前記一対の部品データが関節を構成する部品データ対であるか否かを判断し、判断結果に基づいて、前記一対の部品データのうち少なくともいずれか一方の部品データを他方の部品データの軸に対して回転するように見える関節動作が描画可能な関節属性を前記一対の部品データに設定することを要件とする。第1のプログラム、装置、および方法によれば、関節属性を自動設定することができる。
また、第2のプログラム、装置、および方法は、部品をあらわすCADデータから前記部品を構成する形状の一部または全部を特徴付けるデータ構造を有するフィーチャを抽出し、抽出されたフィーチャのデータ構造に基づいて、前記フィーチャの特徴を、円柱形状、円筒形状、円筒の穴形状、またはいずれにも該当しない形状の中から決定し、前記フィーチャの特徴が前記円柱形状、前記円筒形状、または前記円筒の穴形状に決定された場合、当該形状の両端の配置位置を算出し、決定された前記フィーチャの特徴と前記算出手段によって算出された配置位置とを前記フィーチャごとに関連付けることにより、前記フィーチャを構成要素とする部品データを生成し、生成された部品データを、当該部品データに関節属性を認識するコンピュータに出力することを要件とする。第2のプログラム、装置、および方法によれば、関節属性を自動設定するための部品データを自動生成することができる。
このプログラム、装置、および方法によれば、オペレータの設計負担の軽減と、シミュレーション結果の信頼性の向上とを図ることにより、設計期間の短縮化を図ることができるという効果を奏する。
以下に添付図面を参照して、このプログラム、装置、および方法の好適な実施の形態を詳細に説明する。まず、本実施の形態の概要について説明する。本実施の形態では、2つの部品データの形状の関係(円柱と円筒)、配置位置関係(重なり具合)、各軸の位置関係(同軸上にあるか)を元に、2つの部品データが関節構造であるか否かを判断し、関節構造と判断された2つの部品データに関節属性を自動設定する。これにより、オペレータの設計負担の軽減を実現する。
図1は、部品データの一例を示す説明図である。(A)は円柱形状の部品データ101であり、(B)は円筒形状の部品データ102である。柱形状または筒形状の部品データは、軸(の情報)を有する。部品データ101は軸101Aを有し、部品データ102は軸102Aを有する。
図2は、図1に示した部品データ対のアセンブリ状態を示す説明図である。部品データ101と部品データ102とは、その配置位置に基づいてアセンブリされる。部品データ101と部品データ102の場合、部品データ101が部品データ102の中空部に嵌合するようにアセンブリされる。そして、軸101Aと軸102Aとが同軸上にあれば、部品データ101と部品データ102は、関節構造200となる。部品データ101と部品データ102には、関節属性が設定される。
図2に示した例では、部品データ102に相当する部品(ローラ)が部品データ101に相当する部品(シャフト)を回転軸として回転する。部品データ101のように、回転軸となる部品をベース部品と呼び、部品データ102のように、回転する部品を駆動部品と呼ぶ。
この場合の関節属性として、部品データ101に対しては、回転パラメータを付与せず、部品データ102に対しては、軸102A周り(図2中、点線矢印方向)に回転する回転パラメータが付与される。これにより、オペレータがマウスなどの入力装置を用いて点線矢印方向にドラッグすると、画面上において、その方向に部品データ102が軸102A周りに回転するように見える。この回転動作自体は、従来技術の項で説明したような既存のツールで実行することができる。
(設計支援システムのシステム構成)
図3は、本実施の形態の設計支援システム300のシステム構成図である。図3において、設計支援システム300は、3次元CAD301とシミュレータ302とを含む構成である。3次元CAD301は、オペレータの操作により設計対象のCADデータ320を作成する機能を有する。特に、本実施の形態では、3次元CAD301は、図1に示したような部品データを自動生成する部品データ生成機能311を有する。これにより部品データ群からなる設計対象のアセンブリ情報303を出力する。
また、シミュレータ302は、アセンブリを構成する部品データを元に、動作シミュレーションを実行する機能を有する。特に、本実施の形態では、シミュレータ302は、図2に示したような関節属性を自動設定する関節認識機能312を有する。これにより、図2に示したような関節動作が可能となる。なお、3次元CAD301とシミュレータ302は別々の装置でもよく、一体型でもよい。
(コンピュータのハードウェア構成)
図4は、実施の形態にかかるコンピュータ(3次元CAD301またはシミュレータ302)のハードウェア構成を示すブロック図である。図4において、コンピュータは、CPU(Central Processing Unit)401と、ROM(Read‐Only Memory)402と、RAM(Random Access Memory)403と、磁気ディスクドライブ(Hard Disk Drive)404と、磁気ディスク(Hard Disk)405と、光ディスクドライブ(Flexible Disk Drive)406と、着脱可能な記録媒体の一例としての光ディスク(Flexible Disk)407と、ディスプレイ408と、I/F(Interface)409と、キーボード410と、マウス411と、スキャナ412と、プリンタ413と、を備えている。また、各構成部はバス400によってそれぞれ接続されている。
ここで、CPU401は、コンピュータの全体の制御を司る。ROM402は、ブートプログラムなどのプログラムを記憶している。RAM403は、CPU401のワークエリアとして使用される。磁気ディスクドライブ404は、CPU401の制御にしたがって磁気ディスク405に対するデータのリード/ライトを制御する。磁気ディスク405は、磁気ディスクドライブ404の制御で書き込まれたデータを記憶する。
光ディスクドライブ406は、CPU401の制御にしたがって光ディスク407に対するデータのリード/ライトを制御する。光ディスク407は、光ディスクドライブ406の制御で書き込まれたデータを記憶したり、光ディスク407に記憶されたデータをコンピュータに読み取らせたりする。
ディスプレイ408は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ408は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
インターフェース(以下、「I/F」と略する。)409は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク414に接続され、このネットワーク414を介して他の装置に接続される。そして、I/F409は、ネットワーク414と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F409には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード410は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス411は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ412は、画像を光学的に読み取り、コンピュータ内に画像データを取り込む。なお、スキャナ412は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ413は、画像データや文書データを印刷する。プリンタ413には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(3次元CAD301からの出力情報)
つぎに、3次元CAD301からの出力情報について説明する。3次元CAD301では、設計対象のCADデータを、シミュレータ302に読み込ませることが可能なファセットと呼ばれる3角形パッチデータ(ポリゴン)に変換する。
図5は、CADデータとファセットとの関係を示す説明図である。CADデータ500から、CADデータ500により特定される部品表面をポリゴン化したファセット集合501が抽出される。各ファセットは3角形パッチデータである。ここで、ファセットfに着目する。ファセットfは、3つの頂点v1〜v3の頂点座標(x1,y1,z1)〜(x3,y3,z3)を有する。また、ファセットfは、法線ベクトルNLを有する。
図6は、ファセット情報を示す説明図である。ファセット情報600において、各ファセットfiは、3つの頂点vi_1〜vi_3の頂点座標(不図示)と、法線ベクトルNLiを有する。ファセット集合は、従来と同様、シミュレータ302に出力される。
つぎに、フィーチャについて説明する。ファセット情報600がCADデータにより特定される部品表面をポリゴン化したデータ群であるのに対し、フィーチャは、形状の特徴となる要素を抽出した情報である。フィーチャには、フィーチャ種ごとに特徴となる要素が異なる。
図7は、フィーチャ種テーブルを示す説明図である。フィーチャ種テーブル700において、フィーチャ種は、4種類存在する。Type1がスイープ突起、Type2がスイープ穴、Type3が回転突起、Type4が回転穴である。以下、スイープ型と回転型に分けて説明する。
図8は、スイープ型を示す説明図である。図8において、(A)は、断面が矩形のスイープ型を示す。縦D1、横D2の矩形S1を矢印方向にD3だけスイープすることで、四角柱のフィーチャとなる。このフィーチャに、突起属性が付与されていると、Type1となり、穴属性が付与されていると、Type2となる。
(B)は、断面が円のスイープ型を示す。半径rの円S2を矢印方向にD4だけスイープすることで、円柱のフィーチャとなる。このフィーチャに、突起属性が付与されていると、Type1となり、穴属性が付与されていると、Type2となる。
図9は、回転型を示す説明図である。縦D5、横D6の矩形S3をr離れた軸A周りに回転角θ分回転させることで、円筒のフィーチャとなる。このフィーチャに、突起属性が付与されていると、Type3となり、穴属性が付与されていると、Type4となる。
Type1とType3はともに突起であるため、単独のフィーチャで部品データとなることが可能である。一方、Type2とType4はともに穴であるため、それ自体単独のフィーチャで存在できず、Type1またはType3のフィーチャと結合する必要がある。
図10は、フィーチャの合成を示す説明図である。部品データPは、Type1(スイープ突起)のフィーチャFaとType2(スイープ穴)のフィーチャFbとの合成(論理積)により得られる。部品データPはフィーチャFbに相当する円柱状の穴が開いている角筒となる。
図11は、CADデータとフィーチャとファセットとの対応関係を示すテーブルの説明図である。テーブル1100において、CADデータCPjは、形状の特徴要素となるフィーチャと、部品データにより特定される部品を簡略化したファセットと対応する。たとえば、CADデータCP1は、単一のフィーチャF1に対応する。また、CADデータCP1の外形はファセットf1〜f10によりポリゴン化されている。また、CADデータCP2は、フィーチャF2_1,F2_2の合成フィーチャに対応する。また、CADデータCP2の外形はファセットf11〜f30によりポリゴン化されている。なお、CADデータCPjと後述する部品データPjとは一対一に対応する。すなわち、CADデータCPjのシミュレータ302に与えられる部品データは、部品データPjとなる。
図12は、図11に示した各フィーチャのデータ構造を示す説明図である。各フィーチャは、フィーチャ種、幾何形状、断面情報、スイープ量、回転情報により特定される。幾何形状は、フィーチャの幾何学的な形状を特定する。具体的には、たとえば、フィーチャの形状が柱形状、筒形状、軸の有無、突起/穴…など、フィーチャの形状を認識するための情報である。この幾何形状から、フィーチャが図7に示したType1〜Type4のうちどのTypeに該当するかを判断することができる。なお、幾何形状のうち、ハッチングが施されていない幾何形状は、フィーチャに実体があることを示す「突起(タイプ)」をあらわしており、ハッチングが施されている幾何形状は、フィーチャに実体がないことを示す「穴(タイプ)」をあらわしている。
断面情報は、断面形状(多角形、円)と形状寸法(多角形の場合は縦横などの辺長、円の場合は半径)を有する。スイープ量は、フィーチャ種がType1またはType2のときのスイープする量である。スイープする方向も含めてもよい。回転情報は、軸方向と距離と回転角を有する。軸方向は、断面を回転させる回転軸の方向である。距離は、回転軸と断面との間隔である。回転角は、断面を回転軸周りに回転させる回転角である。
(出力情報の具体例)
つぎに、出力情報の具体例について説明する。図13は、アセンブリ空間内の部品データを示す説明図である。各部品データP1〜P5は、アセンブリ空間内における配置情報M1〜M5を有する。配置情報M1〜M5とは、たとえば、部品データP1〜P5の配置座標(図中●で表記)と、部品データの向きをあらわす情報(図中の座標系)である。向きをあらわす情報は、たとえば、回転行列によりあらわすことができる。この配置情報M1〜M5にしたがってアセンブルすると、部品データP1〜P5を組み合わせたアセンブリA1が生成される。
図14−1〜図14−5は、部品データを示す説明図である。図14−1は、部品データP1を示している。(A)は部品データP1の斜視図、(B)は部品データP1の側面図を示している。部品データP1は、単一のフィーチャF1により構成されている。部品データP1は円形の断面S1を始点座標(図中○で表記)からy軸方向に145[mm]スイープしたフィーチャF1である。
図14−2は、部品データP2を示している。(A)は部品データP2の斜視図、(B)は部品データP2の側面図、(C)はフィーチャの合成を示している。部品データP2は、Type1(スイープ突起)のフィーチャF2_1とType2(スイープ穴)のフィーチャF2_2の合成フィーチャである。フィーチャF2_1は円形の断面S2_1を始点座標(図中○で表記)からy軸方向に10[mm]スイープしたフィーチャである。フィーチャF2_2は円形の断面S2_2を始点座標(図中○で表記)からy軸方向に10[mm]スイープしたフィーチャである。
図14−3は、部品データP3を示している。(A)は部品データP3の斜視図、(B)は部品データP3の側面図、(C)はフィーチャの合成を示している。部品データP3は、Type1(スイープ突起)のフィーチャF3_1とType2(スイープ穴)のフィーチャF3_2の合成フィーチャである。フィーチャF3_1は円形の断面S3_1を始点座標(図中○で表記)からy軸方向に10[mm]スイープしたフィーチャである。フィーチャF3_2は円形の断面S3_2を始点座標(図中○で表記)からy軸方向に10[mm]スイープしたフィーチャである。
図14−4は、部品データP4を示している。(A)は部品データP4の斜視図、(B)は部品データP4の側面図、(C)はフィーチャの合成を示している。部品データP4は、Type1(スイープ突起)のフィーチャF4_1とType1(スイープ突起)のフィーチャF4_2の合成フィーチャである。フィーチャF4_1は円形の断面S4_1を始点座標(図中○で表記)からy軸方向に145[mm]スイープしたフィーチャである。フィーチャF4_2は矩形の断面S4_2を始点座標(図中○で表記)からy軸方向に25[mm]スイープしたフィーチャである。
図14−5は、部品データP5を示している。(A)は部品データP5の斜視図、(B)は部品データP5の側面図、(C)はフィーチャの合成を示している。部品データP5は、Type1(スイープ突起)のフィーチャF5_1とType2(スイープ穴)のフィーチャF5_2の合成フィーチャである。フィーチャF5_1は円形の断面S5_1を始点座標(図中○で表記)からy軸方向に25[mm]スイープしたフィーチャである。フィーチャF5_2は円形の断面S5_2を始点座標(図中○で表記)からy軸方向に25[mm]スイープしたフィーチャである。
(始点座標と終点座標の求め方)
ここで、図14−1〜図14−5に示した始点座標と終点座標の求め方について説明する。図15は、スイープ型の場合の始点座標と終点座標の求め方を示す説明図である。図15に示したフィーチャFaは、断面Saをx軸方向に距離d分スイープしたフィーチャである。始点spは断面Saの中心に位置し、その始点座標は(x,y,z)である。終点epの終点座標は始点spをx軸方向に距離d分スイープしたときの座標(x+d,y,z)となる。
図16は、回転型の場合の始点座標と終点座標の求め方を示す説明図である。図16に示したフィーチャFbは、断面Sbをz軸と同方向の回転軸Abの軸周りに回転角θ分回転させたフィーチャとなる。まず、断面Sbの頂点a〜dから回転軸Abに対して垂線を引く。その交点をpa〜pdとする。各交点pa〜pdから2つ取り出して、すべての組み合わせの交点間距離を算出する。交点間距離が最大となる一対の交点をそれぞれ始点と終点にする。図16の場合は、交点paと交点pdの交点間距離が最大となるため、交点paが始点(終点)となり、交点pdが終点(始点)となる。
図17−1〜図17−5は、部品データP1〜P5の部品情報PI1〜PI5を示す説明図である。図17−1〜図17−5において、部品情報PI1〜PI5は、それぞれ形状情報を有する。形状情報とは、部品データP1〜P5の形状の特徴要素であるフィーチャと部品データP1〜P5の外形をポリゴン化したファセットを有する。たとえば、部品情報PI2においては、部品データP2の合成元であるフィーチャF2_1,F2_2を有する。具体的には、図12に示したフィーチャF2_1,F2_2の項目のデータを保持する。
また、図6に示したファセットf11〜f30のファセット情報600(頂点座標、法線ベクトル)も有する。また、軸/穴フラグは、そのフィーチャが軸なのか穴なのかを識別するフラグである。フラグの設定については後述する。始点座標および終点座標は、図16または図17に示した求め方により算出する。
図18は、3次元CAD301から最終的に出力されるアセンブリ情報303を示す説明図である。アセンブリ情報303は、アセンブリごとに、部品データ群を有する。アセンブリを構成する部品データ群は、部品名、配置情報および部品情報により特定される。たとえば、アセンブリA1については、5個の部品データP1〜P5の部品データ群からなり、それぞれの部品データP1〜P5の配置情報はM1〜M5であり(図13を参照)、部品情報はPI1〜PI5である(図17−1〜図17−5を参照)。
(3次元CAD301の機能的構成)
図19は、3次元CAD301の機能的構成を示すブロック図である。3次元CAD301は、CADデータ作成部1901と、ファセット生成部1902と、フィーチャ生成部1903と、抽出部1904と、決定部1905と、算出部1906と、部品データ生成部1907と、出力部1908と、を含む構成である。これら制御部(CADデータ作成部1901〜出力部1908)は、具体的には、たとえば、図4に示したROM402、RAM403、磁気ディスク405、光ディスク407などの記憶領域に記憶されたプログラムをCPU401に実行させることにより、または、I/F409により、その機能を実現する。
CADデータ作成部1901は、マウスなどの入力装置をオペレータが操作することで、CADデータを作成する機能を有する。CADデータ作成部1901は、具体的には、たとえば、CADデータ作成機能のほか、CADデータの編集機能、設計対象モデルの寸法や断面形状の入力条件の制御機能、CAD全般の制御機能、CADデータの管理機能を有する。これらは、一般的な3次元CAD301が備える機能である。作成されたCADデータは、RAM403、磁気ディスク405、光ディスク407などの記憶領域に記憶される。
ファセット生成部1902は、CADデータからファセットを生成する機能を有する。具体的には、たとえば、図5に示したように、CADデータをファセットに変換して、図6に示したようなファセット情報600を生成する。ファセット生成部1902も、一般的な3次元CAD301が備える機能である。生成されたファセット情報600は、RAM403、磁気ディスク405、光ディスク407などの記憶領域に記憶される。
フィーチャ生成部1903は、CADデータからフィーチャを生成する機能を有する。具体的には、図7〜図12に示した処理を実行する。たとえば、図11に示したフィーチャのデータ構造を生成する。フィーチャ生成部1903も、一般的な3次元CAD301が備える機能である。生成されたフィーチャは、RAM403、磁気ディスク405、光ディスク407などの記憶領域に記憶される。抽出部1904、決定部1905、算出部1906、および部品データ生成部1907は、図3に示した部品データ生成機能311に相当する機能である。
抽出部1904は、部品をあらわすCADデータから部品を構成する形状の一部または全部を特徴付けるデータ構造を有するフィーチャを抽出する機能を有する。具体的には、フィーチャ生成部1903によって生成されたフィーチャを抽出する。フィーチャの中には、立方体や角柱、円柱、角筒、円筒のようにそれ自体で部品全体をあらわすフィーチャや、柱の穴形状、筒の穴形状のようにそれ自体では部品にはならず、立方体や角柱、円柱、角筒、角柱など実体のあるフィーチャと合成することで部品全体をあらわすフィーチャが存在するが、ここでは、いずれのフィーチャも抽出する。抽出されたフィーチャは、RAM403、磁気ディスク405、光ディスク407などの記憶領域に記憶される。
決定部1905は、抽出部1904によって抽出されたフィーチャのデータ構造に基づいて、フィーチャの特徴を、円柱形状、円筒形状、円筒の穴形状、またはいずれにも該当しない他の形状の中から決定する機能を有する。具体的には、たとえば、フィーチャが、部品の断面を押し出す突起タイプであり、かつ、断面が円である場合、フィーチャの特徴を円柱形状に決定する(Type1に該当)。
さらに、フィーチャが、部品の断面を押し出す穴タイプのフィーチャであり、かつ、断面が円である場合、フィーチャの特徴を円筒の穴形状に決定する(Type2に該当)。また、部品の断面が円以外の図形である場合、フィーチャの特徴のいずれにも該当しない他の形状に決定する(Type1〜Type4のいずれにも該当しない)。
また、フィーチャが、部品の断面を特定の回転軸周りに回転させる突起タイプであり、かつ、断面と特定の回転軸とが交差する場合、フィーチャの特徴を円柱形状に決定する(Type3に該当)。また、フィーチャが、部品の断面を特定の回転軸周りに回転させる突起タイプであり、かつ、断面と特定の回転軸とが交差しない場合、フィーチャの特徴を円筒形状に決定する(Type3に該当)。さらに、フィーチャが、部品の断面を特定の回転軸周りに回転させる穴タイプである場合、フィーチャの特徴を円筒の穴形状に決定する(Type4に該当)。なお、決定結果は、RAM403、磁気ディスク405、光ディスク407などの記憶領域に記憶される。
算出部1906は、決定部1905によって、フィーチャの特徴が円柱形状、円筒形状、または円筒の穴形状に決定された場合(Type1〜Type4に該当)、当該形状の両端の配置位置を算出する機能を有する。具体的には、図12に示したフィーチャのデータ構造を用いて、図14−1〜図14−5、図15、図16に示したように、両端位置を算出する。一方、決定部1905によって、いずれにも該当しない他の形状(たとえば、角柱、角筒、角筒の穴形状)に決定された場合、両端位置を算出しない。これにより、無駄な計算処理を回避でき、計算負荷の低減および計算速度の向上を図ることができる。なお、算出結果は、RAM403、磁気ディスク405、光ディスク407などの記憶領域に記憶される。
部品データ生成部1907は、決定部1905によって決定されたフィーチャの特徴と算出部1906によって算出された配置位置とをフィーチャごとに関連付けることにより、フィーチャを構成要素とする部品データを生成する機能を有する。具体的には、たとえば、図17−1〜図17−5に示したように、部品ごとに部品情報PI1〜PI5を生成して、図18に示したように、配置情報M1〜M5と対応付けがされたアセンブリ情報303を生成する。生成されたアセンブリ情報303は、RAM403、磁気ディスク405、光ディスク407などの記憶領域に記憶される。
出力部1908は、部品データ生成部1907によって生成されたアセンブリ情報303を出力する機能を有する。出力部1908による出力形式としては、ディスプレイへの表示、記憶領域への記憶、シミュレータ302など外部装置への送信がある。ディスプレイへの表示により、CADデータ320やアセンブリ情報303を視認することができる。また、記憶領域への記憶により、CADデータ320やアセンブリ情報303を保存しておくことができ、再度呼び出すことができる。
また、外部装置への送信により、外部装置で利用することができる。たとえば、部品情報PI1〜PI5には、部品ごとにファセット情報600が含まれている。したがって、シミュレータ302は、アセンブリ情報303を受信すると、部品情報PI1〜PI5に含まれているファセット情報600を用いて通常どおりシミュレーションを実行することができる。
(アセンブリ情報生成処理手順)
図20は、3次元CAD301におけるアセンブリ情報生成処理手順を示すフローチャートである。図20において、3次元CAD301は、未処理のCADデータがあるか否かを判断する(ステップS2001)。未処理のCADデータがある場合(ステップS2001:Yes)、未処理のCADデータを1つ選択する(ステップS2002)。そして、ファセット生成部1902によりファセット情報600を生成するとともに、フィーチャ生成部1903によりフィーチャを生成する(ステップS2003)。
このあと、部品データ生成処理を実行して(ステップS2004)、ステップS2001に戻る。ステップS2001において、未処理のCADデータがない場合(ステップS2001:No)、アセンブリ情報303を出力する(ステップS2005)。つぎに、図20に示した部品データ生成処理の詳細な処理手順について説明する。
図21は、部品データ生成処理の詳細な処理手順を示すフローチャートである。図21において、未処理のフィーチャがあるか否かを判断する(ステップS2101)。未処理のフィーチャがある場合(ステップS2101:Yes)、未処理のフィーチャを1つ選択する(ステップS2102)。そして、決定部1905により、フィーチャ種を判断する(ステップS2103)。フィーチャ種が回転型、すなわち、Type3またはType4である場合(ステップS2103:回転型)、図22に移行する。
また、フィーチャ種がスイープ型、すなわち、Type1またはType2である場合(ステップS2103:スイープ型)、断面種を判断する(ステップS2104)。断面種が円である場合(ステップS2104:円)、フィーチャ種が突起タイプ(Type1、Type3)か穴タイプ(Type2、Type4)かを判断する(ステップS2105)。突起タイプである場合(ステップS2105:突起)、軸/穴フラグを“0”(軸)に設定して(ステップS2106)、ステップS2108に移行する。一方、穴タイプである場合(ステップS2105:穴)、軸/穴フラグを“1”(穴)に設定して(ステップS2107)、ステップS2108に移行する。
ステップS2108では、算出部1906により、始点座標と終点座標を算出する(ステップS2108)。このあと、軸/穴フラグ、始点座標および終点座標を、図17−1〜図17−5に示したように、部品情報に追加して(ステップS2109)、ステップS2101に戻る。また、ステップS2104において、断面種が円以外の図形である場合(ステップS:円以外)、ステップS2101に戻る。
同様に、ステップS2103において、フィーチャ種が回転型でもスイープ型でもない場合(ステップS2103:それ以外)、ステップS2101に戻る。ステップS2101において、未処理のフィーチャがない場合(ステップS2101:No)、図11に示したテーブルを参照して、部品ごとにファセット情報600とリンクをとることで、アセンブリ情報303を生成する(ステップS2110)。そして、ステップS2005に移行する。つぎに、図22に示した処理手順について説明する。
図22は、部品データ生成処理の詳細な処理手順を示すフローチャートである。図22において、フィーチャ種が回転型、すなわち、Type3またはType4である場合(ステップS2103:回転型)、フィーチャ種が回転突起であるか否かを判断する(ステップS2201)。回転突起でない場合(ステップS2201:No)、図12に示した軸/穴フラグを“1”(穴)に設定して(ステップS2202)、ステップS2205に移行する。
一方、回転突起である場合(ステップS2201:Yes)、フィーチャを構成する回転軸と断面との交差があるか否かを判断する(ステップS2203)。交差しない場合(ステップS2203:No)、回転軸と断面との間には間隔があるため、回転軸周りに回転すると、円柱状の穴を持つ円筒となる。したがって、軸/穴フラグを“1”に設定して(ステップS2202)、ステップS2205に移行する。
一方、交差する場合(ステップS2203:Yes)、回転軸と断面との間には間隔がないため、回転軸周りに回転しても穴が生じない。したがって、軸/穴フラグを“0”に設定して(ステップS2204)、ステップS2205に移行する。ステップS2205では、算出部1906により、始点座標と終点座標を算出する(ステップS2205)。そして、図21のステップS2109に移行する。
(シミュレータ302の機能的構成)
図23は、シミュレータ302の機能的構成を示すブロック図である。シミュレータ302は、選択部2301と、判断部2302と、設定部2303と、表示制御部2304と、受付部2306と、を含む構成である。これら制御部(選択部2301〜表示制御部2304)は、具体的には、たとえば、図4に示したROM402、RAM403、磁気ディスク405、光ディスク407などの記憶領域に記憶されたプログラムをCPU401に実行させることにより、または、I/F409により、その機能を実現する。
選択部2301は、アセンブリを構成する部品データ群の中から円柱形状を有する部品データと円筒形状または円筒の穴形状(以下、「円筒/穴形状」という)を有する部品データとを選択する機能を有する。具体的には、3次元CAD301から得られたアセンブリ情報303から円柱形状を有する部品データと円筒/穴形状の部品データを抽出する。選択された部品データは、RAM403、磁気ディスク405、光ディスク407などの記憶領域に記憶される。
判断部2302は、選択部2301によって選択された一対の部品データの配置位置と円柱形状の軸と円筒/穴形状の軸とに基づいて、一対の部品データが関節を構成する部品データ対(関節構造)であるか否かを判断する機能を有する。具体的には、円柱形状の軸と円筒/穴形状の軸とが同軸上にあり、かつ、円柱形状の少なくともいずれか一端が円筒/穴形状の両端の間に位置する場合、一対の部品データが関節を構成する部品データ対であると判断する。この判断は、たとえば、判断に先立って、部品データごとに、軸形状リストと穴形状リストを作成する。
図24は、軸形状リストを示す説明図であり、図25は、穴形状リストを示す説明図である。軸形状リスト2400には、部品データを構成するフィーチャに軸/穴フラグ“0”が設定されている部品データの始点座標および終点座標が記録されている。同様に、穴形状リスト2500には、部品データを構成するフィーチャに軸/穴フラグ“1”が設定されている部品データの始点座標および終点座標が記録されている。
たとえば、部品データP1は、軸/穴フラグが“0”であるため、その始点座標および終点座標が軸形状リスト2400に記録される。また、部品データP2は、フィーチャF2_1の軸/穴フラグは“0”であり、フィーチャF2_2の軸/穴フラグは“1”であるため、軸形状リスト2400および穴形状リスト2500の両方に、始点座標および終点座標が記録される。
そして、軸形状リスト2400と穴形状リスト2500を用いて、一対の部品データが関節を構成する部品データ対であるか否かを判断する。具体的には、軸形状リスト2400と穴形状リスト2500からそれぞれ部品データを選び、それぞれの始点座標と終点座標との位置関係から、関節構造となるか否かを判断する。
図26−1〜図26−3は、関節構造の判断例を示す説明図である。図26−1〜図26−3において、黒丸(●)は、軸形状リスト2400から選ばれた部品データPaの始点/終点であり、白丸(○)は、穴形状リスト2500から選ばれた部品データPbの始点/終点である。
図26−1は、部品データPaの外側に部品データPbが配置される例である。図26−2は、部品データPbの内側に部品データPaが配置される例である。図26−3は、部品データPaと部品データPbとが交互に重なっている例である。
なお、部品データPaの始点および終点を結ぶ線分上に、部品データPbの始点および終点が存在するか否か、または、部品データPbの始点および終点を結ぶ線分上に、部品データPaの始点および終点が存在するか否かの判断は、以下のようにおこなう。
図27は、2点間に存在する点を示す説明図である。2点a,b間の線分上に点cが位置するか否かの判定は、以下のように実行する。
(1)点aと点bを結ぶベクトルVabと点aと点cとを結ぶベクトルVacとの外積を求める。
(2)(1)の外積が0でない場合、点cは線分ab上に存在しない。
(3)(1)の外積が0である場合、ベクトルVcaとベクトルVcbの内積を求める。
(4)(3)の内積が0以上の場合、点cは線分ab上にない。それ以外の場合、点cは線分ab上に存在する。このような判断をおこなうことで、同軸情報リスト2800が生成される。
図28は、同軸情報リスト2800を示す説明図である。図28では、図13のアセンブリA1において、部品データP1が軸部品、部品データP2が穴部品として、関節構造を構成する。同様に、部品データP1が軸部品、部品データP3が穴部品として、関節構造を構成する。また、部品データP4が軸部品、部品データP5が穴部品として、関節構造を構成する。
また、図23において、設定部2303は、判断部2302によって判断された判断結果に基づいて、関節属性を一対の部品データに設定する機能を有する。具体的には、たとえば、同軸情報リスト2800で軸部品と穴部品の関係にある部品データ対に対して、関節属性を設定する。関節属性とは、一対の部品データのうち少なくともいずれか一方の部品データを他方の部品データの軸に対して回転するように見える関節動作が描画可能なパラメータである。
たとえば、軸部品に対しては、回転パラメータを付与せず、穴部品に対しては、軸部品の軸周りに回転する回転パラメータを付与する。また、これとは逆に、穴部品に対しては、回転パラメータを付与せず、軸部品に対しては、穴部品の軸周りに回転する回転パラメータを付与することとしてもよい。さらに、軸部品に対しては、穴部品の軸周りに回転する回転パラメータを付与するとともに、穴部品に対しては、軸部品の軸周りに回転する回転パラメータを付与することもできる。いずれの関節属性を設定するかは、初期設定により決めておくことができる。なお、判断部2302の判断結果は、RAM403、磁気ディスク405、光ディスク407などの記憶領域に記憶される。
表示制御部2304は、設定部2303によって関節属性が設定された部品データに関する情報を表示画面2305に表示させる機能を有する。具体的には、たとえば、関節属性が付与された部品データ対を含むアセンブリを表示画面2305に表示する。このとき表示される部品データの形状は、アセンブリ情報303に含まれているファセットにより表示される。
これにより、オペレータがマウスなどの入力装置を用いて回転パラメータが付与された一方の部品データを、関節構造における他方の部品データの軸の回転方向にドラッグすると、画面上において、その方向に一方の部品データが軸周りに回転するように見える。この回転動作自体は、従来技術の項で説明したような既存のツールで実行することができる。
また、表示制御部2304は、関節属性が設定された部品データに関する情報として、関節属性の一覧情報を表示する。これにより、どの部品データ対に関節属性が自動設定されたかをオペレータは確認することができる。また、この一覧情報は、関節属性の消去指定を受付可能な情報とすることができる。
図29は、関節属性の一覧情報を示す説明図である。図29では、例として、軸部品に対しては、回転パラメータを付与せず、穴部品に対しては、軸部品の軸周りに回転する回転パラメータを付与している。したがって、この一覧情報2900では、図28に示した同軸情報リスト2800中、軸部品となった部品データP1,P4は、回転しない「ベース部品」となり、穴部品となった部品データP2,P3,P5は、回転駆動する「駆動部品」となる。また、設定解除項目2901のチェックボックス2902〜2904にチェックを入れ、OKボタン2905を押すと、その部品データ対の関節属性が解除される。
図30は、設定解除入力時の関節属性の一覧情報2900を示す説明図である。図30では、チェックボックス2903にチェックが入力されている。したがって、OKボタン2905を押すことにより、部品データP1,P3の関節属性が解除される。したがって、部品データP3は、部品データP1の軸周りに回転駆動する回転動作の描画はできなくなる。
(シミュレータ302による関節属性設定処理手順)
図31は、シミュレータ302による関節属性設定処理手順を示すフローチャートである。図31において、3次元CAD301からアセンブリ情報303を取得する(ステップS3101)。そして、取得されたアセンブリ情報303内の各アセンブリについて、形状リスト作成処理を実行する(ステップS3102)。この形状リスト作成処理により、図24および図25に示した軸形状リスト2400および穴形状リスト2500が作成される。つぎに、関節構造判断処理(ステップS3103)および関節属性設定処理(ステップS3104)を実行する。
図32は、形状リスト作成処理の詳細な処理手順を示すフローチャートである。図32において、まず、アセンブリ情報303の中に、未処理のアセンブリがあるか否かを判断する(ステップS3201)。未処理のアセンブリがある場合(ステップS3201:Yes)、未処理のアセンブリを1つ選択する(ステップS3202)。そして、選択されたアセンブリの中に、未処理の部品データがあるか否かを判断する(ステップS3203)。未処理の部品データがある場合(ステップS3203:Yes)、未処理の部品データを1つ選択する(ステップS3204)。
そして、選択された部品データが軸であるか穴であるかを判断する(ステップS3205)。具体的には、選択部品データの軸/穴フラグで判断する。軸/穴フラグが“0”であるフィーチャを含む場合(ステップS3205:Yes)、軸形状リスト2400に選択部品データを軸部品として追加して(ステップS3206)、ステップS3203に戻る。軸/穴フラグが“1”であるフィーチャを含む場合(ステップS3205:No)、穴形状リスト2500に選択部品データを穴部品として追加して(ステップS3207)、ステップS3203に戻る。
なお、選択部品データが、軸/穴フラグが“0”であるフィーチャと軸/穴フラグが“1”であるフィーチャの合成フィーチャである場合、軸形状リスト2400および穴形状リスト2500の両リストに選択部品データを追加して(ステップS3206、ステップS3207)、ステップS3203に戻る。
ステップS3203において、未処理の部品データがない場合(ステップS3203:No)、ステップS3201に戻る。ステップS3201において、未処理のアセンブリがない場合(ステップS3201:No)、関節構造判断処理(ステップS3103)に移行する。
図33は、関節構造判断処理の詳細な処理手順を示すフローチャートである。図33において、まず、軸形状リスト2400に未処理の項目があるか否かを判断する(ステップS3301)。未処理の項目がある場合(ステップS3301:Yes)、軸形状リスト2400の未処理の項目を1つ選択する(ステップS3302)。そして、穴形状リスト2500に未処理の項目があるか否かを判断する(ステップS3303)。
未処理の項目がある場合(ステップS3303:Yes)、穴形状リスト2500の未処理の項目を1つ選択する(ステップS3304)。そして、選択項目間の部品が一致するか否かを判断する(ステップS3305)。一致する場合(ステップS3305:Yes)、軸形状リスト2400からの選択部品データと穴形状リスト2500からの選択部品データとが同一部品データとなるため、ステップS3303に戻る。
一方、不一致である場合(ステップS3305:No)、同軸上に存在するか否かを判断する(ステップS3306)。具体的には、図26−1〜図26−3および図27で説明した処理をおこなって判断する。同軸上に存在しないと判断された場合(ステップS3306:No)、ステップS3303に戻る。一方、同軸上に存在すると判断された場合(ステップS3306:Yes)、同軸情報リスト2800に両選択部品データを追加して(ステップS3307)、ステップS3303に戻る。
ステップS3303において、未処理の項目がない場合(ステップS3303:No)、ステップS3301に戻る。ステップS3301において、未処理の項目がない場合(ステップS3301:No)、関節属性設定処理(ステップS3104)に移行する。
図34は、関節属性設定処理(ステップS3104)の詳細な処理手順を示すフローチャートである。図34において、同軸情報リスト2800に未処理の項目があるか否かを判断する(ステップS3401)。未処理の項目がある場合(ステップS3401:Yes)、未処理の項目を1つ選択する(ステップS3402)。そして、選択項目の軸部品及び穴部品に対して、関節属性を設定して(ステップS3403)、ステップS3401に戻る。
ステップS3401において、未処理の項目がない場合(ステップS3401:No)、出力処理を実行する(ステップS3404)。具体的には、たとえば、図29に示した関節属性の一覧情報を表示する。これにより、一連の処理を終了する。なお、図30に示したように設定解除入力が受け付けられると、その部品データ対については、関節属性が解除される。このあと、ファセットにより部品データが3次元的に描画され、関節属性が設定された部品データについては回転動作の描画処理が実行される。
このように、本実施の形態では、関節属性を自動設定することができるため、オペレータの設計負担の軽減と、シミュレーション結果の信頼性の向上とを図ることにより、設計期間の短縮化を図ることができる。また、ファセットの生成やフィーチャの生成については既存のツールをそのまま使用することができるため、汎用性のあるツールとして提供することができる。したがって、すでに、ファセットの生成機能やフィーチャの生成機能を有する3次元CAD301についても適用することができる。
なお、本実施の形態で説明した方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な媒体であってもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータを、
アセンブリを構成する部品データ群の中から円柱形状を有する部品データと円筒形状または円筒の穴形状(以下、「円筒/穴形状」という)を有する部品データとを選択する選択手段、
前記選択手段によって選択された一対の部品データの配置位置と前記円柱形状の軸と前記円筒/穴形状の軸とに基づいて、前記一対の部品データが関節を構成する部品データ対であるか否かを判断する判断手段、
前記判断手段によって判断された判断結果に基づいて、前記一対の部品データのうち少なくともいずれか一方の部品データを他方の部品データの軸に対して回転するように見える関節動作が描画可能な関節属性を前記一対の部品データに設定する設定手段、
として機能させることを特徴とする関節認識プログラム。
(付記2)前記判断手段は、
前記円柱形状の軸と前記円筒/穴形状の軸とが同軸上にあり、かつ、前記円柱形状の少なくともいずれか一端が前記円筒/穴形状の両端の間に位置する場合、前記一対の部品データが関節を構成する部品データ対であると判断することを特徴とする付記1に記載の関節認識プログラム。
(付記3)前記設定手段は、
前記一対の部品データのうち前記円柱形状を有する部品データが、前記円筒/穴形状を有する部品データにおける前記円筒/穴形状の軸周りに回転する関節属性を設定することを特徴とする付記1または2に記載の関節認識プログラム。
(付記4)前記設定手段は、
前記一対の部品データのうち前記円筒/穴形状を有する部品データが、前記円柱形状を有する部品データにおける前記円柱形状の軸周りに回転する関節属性を設定することを特徴とする付記1または2に記載の関節認識プログラム。
(付記5)前記設定手段は、
前記一対の部品データのうち前記円柱形状を有する部品データが、前記円筒/穴形状を有する部品データにおける前記円筒/穴形状の軸周りに回転するとともに、前記一対の部品データのうち前記円筒/穴形状を有する部品データが、前記円柱形状を有する部品データにおける前記円柱形状の軸周りに回転する関節属性を設定することを特徴とする付記1または2に記載の関節認識プログラム。
(付記6)前記コンピュータを、
前記設定手段によって前記関節属性が設定された部品データに関する情報を表示画面に表示させる表示制御手段として機能させることを特徴とする付記1〜5のいずれか一つに記載の関節認識プログラム。
(付記7)前記コンピュータを、
前記設定手段によって前記一対の部品データに設定された関節属性の消去指定を受付可能な情報を表示画面に表示させる表示制御手段、
前記表示制御手段によって前記表示画面に表示された情報に対して、前記関節属性の消去を受け付ける受付手段として機能させ、
前記設定手段は、
前記受付手段によって消去が受け付けられた前記一対の部品データの関節属性を消去することを特徴とする付記1〜5のいずれか一つに記載の関節認識プログラム。
(付記8)前記コンピュータを、
部品をあらわすCADデータから前記部品を構成する形状の一部または全部を特徴付けるデータ構造を有するフィーチャを抽出する抽出手段、
前記抽出手段によって抽出されたフィーチャのデータ構造に基づいて、前記フィーチャの特徴を、前記円柱形状、前記円筒/穴形状、またはいずれにも該当しない他の形状の中から決定する決定手段、
前記決定手段によって前記フィーチャの特徴が前記円柱形状または前記円筒/穴形状に決定された場合、当該形状の両端の配置位置を算出する算出手段、
前記決定手段によって決定された前記フィーチャの特徴と前記算出手段によって算出された配置位置とを前記フィーチャごとに関連付けることにより、前記フィーチャを構成要素とする部品データを生成する生成手段として機能させ、
前記選択手段は、
前記アセンブリのうち前記生成手段によって生成された部品データの中から、前記特徴が円柱形状のフィーチャを含む部品データと、前記特徴が前記円筒/穴形状のフィーチャを含む部品データとを選択し、
前記判断手段は、
前記選択手段によって選択された前記円柱形状のフィーチャを含む部品データにおける前記円柱形状の両端の配置位置および前記円柱形状の軸と、前記選択手段によって選択された前記円筒/穴形状のフィーチャを含む部品データにおける前記円筒/穴形状の両端の配置位置および前記円筒/穴形状の軸と、に基づいて、前記一対の部品データが関節を構成する部品データ対であるか否かを判断することを特徴とする付記1〜7のいずれか一つに記載の関節認識プログラム。
(付記9)前記決定手段は、
前記フィーチャが、前記部品の断面を押し出す突起タイプであり、かつ、前記断面が円である場合、前記フィーチャの特徴を前記円柱形状に決定し、
前記算出手段は、
前記決定手段によって前記フィーチャの特徴が前記円柱形状に決定された場合、当該形状の両端の配置位置を算出し、
前記円柱形状と前記算出手段によって算出された前記円柱形状の配置位置とを関連付けることにより、前記フィーチャを構成要素とする部品データを生成することを特徴とする付記8に記載の関節認識プログラム。
(付記10)前記決定手段は、
前記フィーチャが、前記部品の断面を押し出す穴タイプのフィーチャであり、かつ、前記断面が円である場合、前記フィーチャの特徴を前記円筒の穴形状に決定し、
前記算出手段は、
前記決定手段によって前記フィーチャの特徴が前記円筒の穴形状に決定された場合、当該形状の両端の配置位置を算出し、
前記円筒/穴形状と前記算出手段によって算出された前記円筒の穴形状の配置位置とを関連付けることにより、前記フィーチャを構成要素とする部品データを生成することを特徴とする付記8に記載の関節認識プログラム。
(付記11)前記決定手段は、
前記部品の断面が円以外の図形である場合、前記フィーチャの特徴を前記いずれにも該当しない他の形状に決定し、
前記算出手段は、
前記決定手段によって前記フィーチャの特徴が前記他の形状に決定された場合、前記フィーチャの配置位置を算出しないことを特徴とする付記9または10に記載の関節認識プログラム。
(付記12)前記決定手段は、
前記フィーチャが、前記部品の断面を特定の回転軸周りに回転させる突起タイプであり、かつ、前記断面と前記特定の回転軸とが交差する場合、前記フィーチャの特徴を前記円柱形状に決定し、
前記算出手段は、
前記決定手段によって前記フィーチャの特徴が前記円柱形状に決定された場合、当該形状の両端の配置位置を算出し、
前記円柱形状と前記算出手段によって算出された前記円柱形状の配置位置とを関連付けることにより、前記フィーチャを構成要素とする部品データを生成することを特徴とする付記8に記載の関節認識プログラム。
(付記13)前記決定手段は、
前記フィーチャが、前記部品の断面を特定の回転軸周りに回転させる穴タイプであり、かつ、前記断面と前記特定の回転軸とが交差しない場合、前記フィーチャの特徴を前記円筒形状に決定し、
前記算出手段は、
前記決定手段によって前記フィーチャの特徴が前記円筒形状に決定された場合、当該形状の両端の配置位置を算出し、
前記円筒形状と前記算出手段によって算出された前記円筒形状の配置位置とを関連付けることにより、前記フィーチャを構成要素とする部品データを生成することを特徴とする付記8に記載の関節認識プログラム。
(付記14)前記決定手段は、
前記フィーチャが、前記部品の断面を特定の回転軸周りに回転させる穴タイプである場合、前記フィーチャの特徴を前記円筒の穴形状に決定し、
前記算出手段は、
前記決定手段によって前記フィーチャの特徴が前記円筒の穴形状に決定された場合、当該形状の両端の配置位置を算出し、
前記円筒/穴形状と前記算出手段によって算出された前記円筒の穴形状の配置位置とを関連付けることにより、前記フィーチャを構成要素とする部品データを生成することを特徴とする付記8に記載の関節認識プログラム。
(付記15)コンピュータを、
部品をあらわすCADデータから前記部品を構成する形状の一部または全部を特徴付けるデータ構造を有するフィーチャを抽出する抽出手段、
前記抽出手段によって抽出されたフィーチャのデータ構造に基づいて、前記フィーチャの特徴を、円柱形状、円筒形状、円筒の穴形状、またはいずれにも該当しない形状の中から決定する決定手段、
前記決定手段によって前記フィーチャの特徴が前記円柱形状、前記円筒形状、または前記円筒の穴形状に決定された場合、当該形状の両端の配置位置を算出する算出手段、
前記決定手段によって決定された前記フィーチャの特徴と前記算出手段によって算出された配置位置とを前記フィーチャごとに関連付けることにより、前記フィーチャを構成要素とする部品データを生成する生成手段、
前記生成手段によって生成された部品データを、当該部品データに関節属性を設定するコンピュータに出力する出力手段、
として機能させることを特徴とする部品データ生成プログラム。
(付記16)前記決定手段は、
前記フィーチャが、前記部品の断面を押し出す突起タイプであり、かつ、前記断面が円である場合、前記フィーチャの特徴を前記円柱形状に決定し、
前記算出手段は、
前記決定手段によって前記フィーチャの特徴が前記円柱形状に決定された場合、当該形状の両端の配置位置を算出し、
前記円柱形状と前記算出手段によって算出された前記円柱形状の配置位置とを関連付けることにより、前記フィーチャを構成要素とする部品データを生成することを特徴とする付記15に記載の部品データ生成プログラム。
(付記17)前記決定手段は、
前記フィーチャが、前記部品の断面を押し出す穴タイプのフィーチャであり、かつ、前記断面が円である場合、前記フィーチャの特徴を前記円筒の穴形状に決定し、
前記算出手段は、
前記決定手段によって前記フィーチャの特徴が前記円筒の穴形状に決定された場合、当該形状の両端の配置位置を算出し、
前記円筒/穴形状と前記算出手段によって算出された前記円筒の穴形状の配置位置とを関連付けることにより、前記フィーチャを構成要素とする部品データを生成することを特徴とする付記15に記載の部品データ生成プログラム。
(付記18)前記決定手段は、
前記部品の断面が円以外の図形である場合、前記フィーチャの特徴を前記いずれにも該当しない他の形状に決定し、
前記算出手段は、
前記決定手段によって前記フィーチャの特徴が前記他の形状に決定された場合、前記フィーチャの配置位置を算出しないことを特徴とする付記16または17に記載の部品データ生成プログラム。
(付記19)前記決定手段は、
前記フィーチャが、前記部品の断面を特定の回転軸周りに回転させる突起タイプであり、かつ、前記断面と前記特定の回転軸とが交差する場合、前記フィーチャの特徴を前記円柱形状に決定し、
前記算出手段は、
前記決定手段によって前記フィーチャの特徴が前記円柱形状に決定された場合、当該形状の両端の配置位置を算出し、
前記円柱形状と前記算出手段によって算出された前記円柱形状の配置位置とを関連付けることにより、前記フィーチャを構成要素とする部品データを生成することを特徴とする付記15に記載の部品データ生成プログラム。
(付記20)前記決定手段は、
前記フィーチャが、前記部品の断面を特定の回転軸周りに回転させる突起タイプであり、かつ、前記断面と前記特定の回転軸とが交差しない場合、前記フィーチャの特徴を前記円筒形状に決定し、
前記算出手段は、
前記決定手段によって前記フィーチャの特徴が前記円筒形状に決定された場合、当該形状の両端の配置位置を算出し、
前記円筒形状と前記算出手段によって算出された前記円筒形状の配置位置とを関連付けることにより、前記フィーチャを構成要素とする部品データを生成することを特徴とする付記15に記載の部品データ生成プログラム。
(付記21)前記決定手段は、
前記フィーチャが、前記部品の断面を特定の回転軸周りに回転させる穴タイプである場合、前記フィーチャの特徴を前記円筒の穴形状に決定し、
前記算出手段は、
前記決定手段によって前記フィーチャの特徴が前記円筒の穴形状に決定された場合、当該形状の両端の配置位置を算出し、
前記円筒の穴形状と前記算出手段によって算出された前記円筒の穴形状の配置位置とを関連付けることにより、前記フィーチャを構成要素とする部品データを生成することを特徴とする付記15に記載の部品データ生成プログラム。
(付記22)アセンブリを構成する部品データ群の中から円柱形状を有する部品データと円筒形状または円筒の穴形状(以下、「円筒/穴形状」という)を有する部品データとを選択する選択手段と、
前記選択手段によって選択された一対の部品データの配置位置と前記円柱形状の軸と前記円筒/穴形状の軸とに基づいて、前記一対の部品データが関節を構成する部品データ対であるか否かを判断する判断手段と、
前記判断手段によって判断された判断結果に基づいて、前記一対の部品データのうち少なくともいずれか一方の部品データを他方の部品データの軸に対して回転するように見える関節動作が描画可能な関節属性を前記一対の部品データに設定する設定手段と、
を備えることを特徴とする関節認識装置。
(付記23)部品をあらわすCADデータから前記部品を構成する形状の一部または全部を特徴付けるデータ構造を有するフィーチャを抽出する抽出手段と、
前記抽出手段によって抽出されたフィーチャのデータ構造に基づいて、前記フィーチャの特徴を、円柱形状、円筒形状、円筒の穴形状、またはいずれにも該当しない形状の中から決定する決定手段と、
前記決定手段によって前記フィーチャの特徴が前記円柱形状、前記円筒形状、または前記円筒の穴形状に決定された場合、当該形状の両端の配置位置を算出する算出手段と、
前記決定手段によって決定された前記フィーチャの特徴と前記算出手段によって算出された配置位置とを前記フィーチャごとに関連付けることにより、前記フィーチャを構成要素とする部品データを生成する生成手段と、
前記生成手段によって生成された部品データを、当該部品データに関節属性を設定するコンピュータに出力する出力手段と、
を備えることを特徴とする部品データ生成装置。
(付記24)制御手段および記憶手段を備えるコンピュータが、
前記制御手段により、前記記憶手段に記憶されているアセンブリを構成する部品データ群の中から円柱形状を有する部品データと円筒形状または円筒の穴形状(以下、「円筒/穴形状」という)を有する部品データとを選択する選択工程と、
前記制御手段により、前記選択工程によって選択された一対の部品データの配置位置と前記円柱形状の軸と前記円筒/穴形状の軸とに基づいて、前記一対の部品データが関節を構成する部品データ対であるか否かを判断する判断工程と、
前記制御手段により、前記判断工程によって判断された判断結果に基づいて、前記一対の部品データのうち少なくともいずれか一方の部品データを他方の部品データの軸に対して回転するように見える関節動作が描画可能な関節属性を前記一対の部品データに設定して、前記記憶手段に記憶する設定工程と、
を実行することを特徴とする関節認識方法。
(付記25)制御手段および記憶手段を備えるコンピュータが、
前記制御手段により、前記記憶手段に記憶されている部品をあらわすCADデータから前記部品を構成する形状の一部または全部を特徴付けるデータ構造を有するフィーチャを抽出する抽出工程と、
前記制御手段により、前記抽出工程によって抽出されたフィーチャのデータ構造に基づいて、前記フィーチャの特徴を、円柱形状、円筒形状、円筒の穴形状、またはいずれにも該当しない形状の中から決定する決定工程と、
前記制御手段により、前記決定工程によって前記フィーチャの特徴が前記円柱形状、前記円筒形状、または前記円筒の穴形状に決定された場合、当該形状の両端の配置位置を算出する算出工程と、
前記制御手段により、前記決定工程によって決定された前記フィーチャの特徴と前記算出工程によって算出された配置位置とを前記フィーチャごとに関連付けることにより、前記フィーチャを構成要素とする部品データを生成して、前記記憶手段に記憶する生成工程と、
前記制御手段により、前記生成工程によって生成された部品データを、当該部品データに関節属性を設定するコンピュータに出力する出力工程と、
を実行することを特徴とする部品データ生成方法。
部品データの一例を示す説明図である。 図1に示した部品データ対のアセンブリ状態を示す説明図である。 本実施の形態の設計支援システムのシステム構成図である。 実施の形態にかかるコンピュータ(3次元CADまたはシミュレータ)のハードウェア構成を示すブロック図である。 CADデータとファセットとの関係を示す説明図である。 ファセット情報を示す説明図である。 フィーチャ種テーブルを示す説明図である。 スイープ型を示す説明図である。 回転型を示す説明図である。 フィーチャの合成を示す説明図である。 CADデータとフィーチャとファセットとの対応関係を示すテーブルの説明図である。 図11に示した各フィーチャのデータ構造を示す説明図である。 アセンブリ空間内の部品データを示す説明図である。 部品データを示す説明図(その1)である。 部品データを示す説明図(その2)である。 部品データを示す説明図(その3)である。 部品データを示す説明図(その4)である。 部品データを示す説明図(その5)である。 スイープ型の場合の始点座標と終点座標の求め方を示す説明図である。 回転型の場合の始点座標と終点座標の求め方を示す説明図である。 部品データの部品情報を示す説明図(その1)である。 部品データの部品情報を示す説明図(その2)である。 部品データの部品情報を示す説明図(その3)である。 部品データの部品情報を示す説明図(その4)である。 部品データの部品情報を示す説明図(その5)である。 3次元CADから最終的に出力されるアセンブリ情報を示す説明図である。 3次元CADの機能的構成を示すブロック図である。 3次元CADにおけるアセンブリ情報生成処理手順を示すフローチャートである。 部品データ生成処理の詳細な処理手順を示すフローチャートである。 部品データ生成処理の詳細な処理手順を示すフローチャートである。 シミュレータの機能的構成を示すブロック図である。 軸形状リストを示す説明図である。 穴形状リストを示す説明図である。 関節構造の判断例を示す説明図(その1)である。 関節構造の判断例を示す説明図(その2)である。 関節構造の判断例を示す説明図(その3)である。 2点間に存在する点を示す説明図である。 同軸情報リストを示す説明図である。 関節属性の一覧情報を示す説明図である。 設定解除入力時の関節属性の一覧情報を示す説明図である。 シミュレータによる関節属性設定処理手順を示すフローチャートである。 形状リスト作成処理の詳細な処理手順を示すフローチャートである。 関節構造判断処理の詳細な処理手順を示すフローチャートである。 関節属性設定処理の詳細な処理手順を示すフローチャートである。
符号の説明
300 設計支援システム
302 シミュレータ
700 フィーチャ種テーブル
1100 テーブル
1901 CADデータ作成部
1902 ファセット生成部
1903 フィーチャ生成部
1904 抽出部
1905 決定部
1906 算出部
1907 部品データ生成部
1908 出力部
2301 選択部
2302 判断部
2303 設定部
2304 表示制御部
2306 受付部
2400 軸形状リスト
2500 穴形状リスト
2800 同軸情報リスト
2900 一覧情報

Claims (6)

  1. コンピュータを、
    アセンブリを構成する部品データ群の中から円柱形状を有する部品データと円筒形状または円筒の穴形状(以下、「円筒/穴形状」という)を有する部品データとを選択する選択手段、
    前記選択手段によって選択された一対の部品データの配置位置と前記円柱形状の軸と前記円筒/穴形状の軸とに基づいて、前記一対の部品データが関節を構成する部品データ対であるか否かを判断する判断手段、
    前記判断手段によって判断された判断結果に基づいて、前記一対の部品データのうち少なくともいずれか一方の部品データを他方の部品データの軸に対して回転するように見える関節動作が描画可能な関節属性を前記一対の部品データに設定する設定手段、
    として機能させることを特徴とする関節認識プログラム。
  2. 前記判断手段は、
    前記円柱形状の軸と前記円筒/穴形状の軸とが同軸上にあり、かつ、前記円柱形状の少なくともいずれか一端が前記円筒/穴形状の両端の間に位置する場合、前記一対の部品データが関節を構成する部品データ対であると判断することを特徴とする請求項1に記載の関節認識プログラム。
  3. 前記設定手段は、
    前記一対の部品データのうち前記円柱形状を有する部品データが、前記円筒/穴形状を有する部品データにおける前記円筒/穴形状の軸周りに回転する関節属性を設定することを特徴とする請求項1または2に記載の関節認識プログラム。
  4. コンピュータを、
    部品をあらわすCADデータから前記部品を構成する形状の一部または全部を特徴付けるデータ構造を有するフィーチャを抽出する抽出手段、
    前記抽出手段によって抽出されたフィーチャのデータ構造に基づいて、前記フィーチャの特徴を、円柱形状、円筒形状、円筒の穴形状、またはいずれにも該当しない形状の中から決定する決定手段、
    前記決定手段によって前記フィーチャの特徴が前記円柱形状、前記円筒形状、または前記円筒の穴形状に決定された場合、当該形状の両端の配置位置を算出する算出手段、
    前記決定手段によって決定された前記フィーチャの特徴と前記算出手段によって算出された配置位置とを前記フィーチャごとに関連付けることにより、前記フィーチャを構成要素とする部品データを生成する生成手段、
    前記生成手段によって生成された部品データを、当該部品データに関節属性を設定するコンピュータに出力する出力手段、
    として機能させることを特徴とする部品データ生成プログラム。
  5. アセンブリを構成する部品データ群の中から円柱形状を有する部品データと円筒形状または円筒の穴形状(以下、「円筒/穴形状」という)を有する部品データとを選択する選択手段と、
    前記選択手段によって選択された一対の部品データの配置位置と前記円柱形状の軸と前記円筒/穴形状の軸とに基づいて、前記一対の部品データが関節を構成する部品データ対であるか否かを判断する判断手段と、
    前記判断手段によって判断された判断結果に基づいて、前記一対の部品データのうち少なくともいずれか一方の部品データを他方の部品データの軸に対して回転するように見える関節動作が描画可能な関節属性を前記一対の部品データに設定する設定手段と、
    を備えることを特徴とする関節認識装置。
  6. 制御手段および記憶手段を備えるコンピュータが、
    前記制御手段により、前記記憶手段に記憶されているアセンブリを構成する部品データ群の中から円柱形状を有する部品データと円筒形状または円筒の穴形状(以下、「円筒/穴形状」という)を有する部品データとを選択する選択工程と、
    前記制御手段により、前記選択工程によって選択された一対の部品データの配置位置と前記円柱形状の軸と前記円筒/穴形状の軸とに基づいて、前記一対の部品データが関節を構成する部品データ対であるか否かを判断する判断工程と、
    前記制御手段により、前記判断工程によって判断された判断結果に基づいて、前記一対の部品データのうち少なくともいずれか一方の部品データを他方の部品データの軸に対して回転するように見える関節動作が描画可能な関節属性を前記一対の部品データに設定して、前記記憶手段に記憶する設定工程と、
    を実行することを特徴とする関節認識方法。
JP2008090928A 2008-03-31 2008-03-31 関節認識プログラム、部品データ生成プログラム、関節認識装置、部品データ生成装置、関節認識方法、および部品データ生成方法 Active JP5018595B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008090928A JP5018595B2 (ja) 2008-03-31 2008-03-31 関節認識プログラム、部品データ生成プログラム、関節認識装置、部品データ生成装置、関節認識方法、および部品データ生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008090928A JP5018595B2 (ja) 2008-03-31 2008-03-31 関節認識プログラム、部品データ生成プログラム、関節認識装置、部品データ生成装置、関節認識方法、および部品データ生成方法

Publications (2)

Publication Number Publication Date
JP2009245157A JP2009245157A (ja) 2009-10-22
JP5018595B2 true JP5018595B2 (ja) 2012-09-05

Family

ID=41306966

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008090928A Active JP5018595B2 (ja) 2008-03-31 2008-03-31 関節認識プログラム、部品データ生成プログラム、関節認識装置、部品データ生成装置、関節認識方法、および部品データ生成方法

Country Status (1)

Country Link
JP (1) JP5018595B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11321605B2 (en) * 2017-11-13 2022-05-03 Dassault Systemes Solidworks Corporation Automatic assembly mate creation for frequently-used components

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992005506A1 (en) * 1990-09-18 1992-04-02 Mitsubishi Denki Kabushiki Kaisha Method of converting into concept pattern of mechanism
JPH07296034A (ja) * 1994-04-26 1995-11-10 Oki Business:Kk 機構動作解析装置および機構動作解析方法
JPH09160935A (ja) * 1995-12-11 1997-06-20 Oki Electric Ind Co Ltd 負荷−応力/寿命解析装置
JPH1165627A (ja) * 1997-08-19 1999-03-09 Hitachi Ltd 運動機構の属性データ保持方法

Also Published As

Publication number Publication date
JP2009245157A (ja) 2009-10-22

Similar Documents

Publication Publication Date Title
US7672822B2 (en) Automated three-dimensional alternative position viewer
US6046745A (en) Three-dimensional model making device and its method
JP2892423B2 (ja) 画像表示装置及び画像表示方法
JP3405745B2 (ja) Cadデータ変更方法
EP0640943B1 (en) Shape modeling apparatus and method
US6944513B1 (en) CAD system, CAD cooperative system, CAD data managing method, and storage medium
JP5443858B2 (ja) 作業指示図生成装置および作業指示図生成方法
WO2003081485A1 (en) Coordinate measurement system and method
JP2003150220A (ja) シミュレーション装置
CN112035934B (zh) 一种基于变电站的数字化设计模型进行施工管理控制的方法
US20220141441A1 (en) Image display apparatus, image display method, and image display program
JP3803509B2 (ja) 薄板金属製作設備全体にわたって設計製作情報を分配する装置および方法
US20060066610A1 (en) Method, device, and computer program product for displaying 3D grid in designing configuration model
JP5018595B2 (ja) 関節認識プログラム、部品データ生成プログラム、関節認識装置、部品データ生成装置、関節認識方法、および部品データ生成方法
JP4024117B2 (ja) 測定支援装置
KR101251549B1 (ko) 캐드 정보와 속성 정보가 연동된 구조물의 구조 해석 장치
JPH06187396A (ja) ネットワーク構成設計支援システム
KR102168633B1 (ko) Tbm 커터헤드 설계 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 판독 가능한 프로그램을 기록한 기록 매체
JP2001076181A (ja) 視点位置設定方法、コンピュータ、三次元画像編集装置、およびプログラム記憶媒体
JP4726465B2 (ja) 3次元形状処理方法および装置
JP3137855B2 (ja) 複合文書編集方法及び複合文書編集処理装置
JP3895297B2 (ja) 立体形状記述方法及びそれを用いたエンジニアリングシステム
KR100597963B1 (ko) 변상관리시스템
JP4136188B2 (ja) 図形編集装置および方法
JP2004302666A (ja) 設計プログラムおよび設計方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101216

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120515

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120528

R150 Certificate of patent or registration of utility model

Ref document number: 5018595

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150622

Year of fee payment: 3