JPH10307935A - 3次元モデルの生成方法、および、3次元モデルの干渉検査方法 - Google Patents
3次元モデルの生成方法、および、3次元モデルの干渉検査方法Info
- Publication number
- JPH10307935A JPH10307935A JP9119368A JP11936897A JPH10307935A JP H10307935 A JPH10307935 A JP H10307935A JP 9119368 A JP9119368 A JP 9119368A JP 11936897 A JP11936897 A JP 11936897A JP H10307935 A JPH10307935 A JP H10307935A
- Authority
- JP
- Japan
- Prior art keywords
- dimensional model
- moving
- generating
- space
- computer
- 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.)
- Pending
Links
Landscapes
- Processing Or Creating Images (AREA)
- Numerical Control (AREA)
Abstract
(57)【要約】
【課題】移動する3次元モデルの干渉検査を少ない処理
量で実現する。 【解決手段】移動する3次元モデルを移動経路に沿って
押し出した3次元モデルを生成する(201)。そし
て、押し出して生成した3次元モデルと、他の物体との
干渉を検査し、干渉する場合には、移動する3次元モデ
ルの移動中に干渉が生じると判定する(202)
量で実現する。 【解決手段】移動する3次元モデルを移動経路に沿って
押し出した3次元モデルを生成する(201)。そし
て、押し出して生成した3次元モデルと、他の物体との
干渉を検査し、干渉する場合には、移動する3次元モデ
ルの移動中に干渉が生じると判定する(202)
Description
【0001】
【発明の属する技術分野】本発明は、計算機を利用して
行われるコンピュータグラフィクス、CAD(計算機支
援設計)、CAM(計算機支援製造)などにおいて、3
次元モデルを生成する技術に関するものである。
行われるコンピュータグラフィクス、CAD(計算機支
援設計)、CAM(計算機支援製造)などにおいて、3
次元モデルを生成する技術に関するものである。
【0002】
【従来の技術】従来、生成した3次元モデルを仮想的な
3次元空間中において移動させる技術が知られている。
この技術は、テレビや映画などの映像メディアの作成
や、設計時に製品の機能を検討するCAM(計算機支援
製造)に広く応用されている。
3次元空間中において移動させる技術が知られている。
この技術は、テレビや映画などの映像メディアの作成
や、設計時に製品の機能を検討するCAM(計算機支援
製造)に広く応用されている。
【0003】また、主にCAM(計算機支援製造)の分
野においては、このような3次元モデルを移動させる技
術が移動する3次元モデルの干渉検査にも利用されてい
る。
野においては、このような3次元モデルを移動させる技
術が移動する3次元モデルの干渉検査にも利用されてい
る。
【0004】移動する3次元モデルの干渉検査は、移動
する3次元モデルが、移動中に他のモデルと干渉するか
否かを検査するものであり、電子計算機上の処理として
移動する3次元モデルを設定した移動経路上で少しづつ
移動しながら、移動の度に他の3次元モデルとの干渉を
検査することにより実現される。干渉は、干渉を調べる
3次元モデルのブール演算の積が存在するかどうかで判
断することができる。すなわち、ブール演算の積が存在
した場合には、移動する3次元モデルと他の3次元モデ
ルが、同時に同じ空間に部分的にもしくは全体的に存在
していることになるので、相互に干渉していると判断す
ることができる。
する3次元モデルが、移動中に他のモデルと干渉するか
否かを検査するものであり、電子計算機上の処理として
移動する3次元モデルを設定した移動経路上で少しづつ
移動しながら、移動の度に他の3次元モデルとの干渉を
検査することにより実現される。干渉は、干渉を調べる
3次元モデルのブール演算の積が存在するかどうかで判
断することができる。すなわち、ブール演算の積が存在
した場合には、移動する3次元モデルと他の3次元モデ
ルが、同時に同じ空間に部分的にもしくは全体的に存在
していることになるので、相互に干渉していると判断す
ることができる。
【0005】また、3次元モデルのモデリングの技術と
して、「押し出し操作(EXTRUDE)」と呼ばれる技術が知
られている。
して、「押し出し操作(EXTRUDE)」と呼ばれる技術が知
られている。
【0006】この技術は、図9に示すように、2次元モ
デルa1を作成し、そしてその面をある方向に押し出し
て3次元モデルa2を作成するものであり、ちょうど歯
磨きのチューブから練り歯磨き粉を押し出すような操作
であることより「押し出し操作(EXTRUDE)」と呼ばれて
いる。チューブの口にあたる底面a1の形が変われば押
し出し面(3次元モデルa2では円筒面がこれにあた
る)の形が変わることになる。
デルa1を作成し、そしてその面をある方向に押し出し
て3次元モデルa2を作成するものであり、ちょうど歯
磨きのチューブから練り歯磨き粉を押し出すような操作
であることより「押し出し操作(EXTRUDE)」と呼ばれて
いる。チューブの口にあたる底面a1の形が変われば押
し出し面(3次元モデルa2では円筒面がこれにあた
る)の形が変わることになる。
【0007】
【発明が解決しようとする課題】前述した移動する3次
元モデルの干渉検査の技術には、計算量が膨大になって
しまうという問題があった。干渉検査する回数、すなわ
ち、ブール演算を行う回数は式(1)のようになる。
元モデルの干渉検査の技術には、計算量が膨大になって
しまうという問題があった。干渉検査する回数、すなわ
ち、ブール演算を行う回数は式(1)のようになる。
【0008】N = M × L / D (1) N : 干渉を検査する回数 M : 他のモデルの個数 L : 移動経路の道のり D : 干渉を検査する間隔(少しづつ移動させる間隔) × : 整数の積算演算子 / : 整数の除算演算子 なお、式(1)で他のモデルの数Mは時間経過とともに増減
する場合もある。また、検査の間隔Dは移動するモデル
の速度や移動経路の曲率などによって変化することもあ
る。
する場合もある。また、検査の間隔Dは移動するモデル
の速度や移動経路の曲率などによって変化することもあ
る。
【0009】式(1)からわかるように、他のモデルの数
Mが多い場合や移動経路Lが長い場合、そして検査間隔
Dが狭い場合は干渉を調べる回数Nが非常に多くなり、
実用的な計算処理速度を得られない。逆に干渉を検査す
る回数Nを少なくするために検査間隔Dを大きくすると
正しい干渉検査結果が得られない場合がある。
Mが多い場合や移動経路Lが長い場合、そして検査間隔
Dが狭い場合は干渉を調べる回数Nが非常に多くなり、
実用的な計算処理速度を得られない。逆に干渉を検査す
る回数Nを少なくするために検査間隔Dを大きくすると
正しい干渉検査結果が得られない場合がある。
【0010】たとえば、図10に示す処理手順で、溶接
トーチの干渉検査を行う場合、図11に示すように、ま
ず、設定した溶接トーチの3次元モデル1の移動経路上
の点3で、3次元モデル1と他の3次元モデルとの干渉
を調べた後、3次元モデル1を移動経路2に沿って並進
および回転して移動経路2上の点4に移動し、そこでま
た3次元モデル1と他の3次元モデルとの干渉を調べる
といったように、溶接トーチの3次元モデル1を移動経
路2の開始点から終了点まで移動しながら離散的に他の
3次元モデル(例えば溶接部材、部材を固定するジグ、
など)との干渉を検査することになる。
トーチの干渉検査を行う場合、図11に示すように、ま
ず、設定した溶接トーチの3次元モデル1の移動経路上
の点3で、3次元モデル1と他の3次元モデルとの干渉
を調べた後、3次元モデル1を移動経路2に沿って並進
および回転して移動経路2上の点4に移動し、そこでま
た3次元モデル1と他の3次元モデルとの干渉を調べる
といったように、溶接トーチの3次元モデル1を移動経
路2の開始点から終了点まで移動しながら離散的に他の
3次元モデル(例えば溶接部材、部材を固定するジグ、
など)との干渉を検査することになる。
【0011】この場合、図11から理解されるように、
他の3次元モデルが多い場合や移動経路2が長い場合、
そして干渉検査の間隔(点3と点4の間)が狭い場合は
干渉を調べる回数が非常に多くなり、実用的な計算処理
速度を得られないことになる。一方、移動経路2上で干
渉検査する間隔(点3と点4の間)を大きくすると、例
えば点3と点4の間に他のモデルが入り込んでいる場合
には、この入り込んだ他の3次元モデルと3次元モデル
1との干渉を見逃してしまうことになる。
他の3次元モデルが多い場合や移動経路2が長い場合、
そして干渉検査の間隔(点3と点4の間)が狭い場合は
干渉を調べる回数が非常に多くなり、実用的な計算処理
速度を得られないことになる。一方、移動経路2上で干
渉検査する間隔(点3と点4の間)を大きくすると、例
えば点3と点4の間に他のモデルが入り込んでいる場合
には、この入り込んだ他の3次元モデルと3次元モデル
1との干渉を見逃してしまうことになる。
【0012】従来は、このような問題に対して、試行錯
誤的に、モデルが多い場所は干渉検査の間隔を細かく、
モデルが比較的少ない場所は干渉検査の間隔を広くする
ように設定するなどして対処することが多かった。
誤的に、モデルが多い場所は干渉検査の間隔を細かく、
モデルが比較的少ない場所は干渉検査の間隔を広くする
ように設定するなどして対処することが多かった。
【0013】そこで、本発明は、移動する3次元モデル
の干渉検査を、より少ない処理量で確実に実現するため
などに利用できる、新たな3次元モデルの生成方法を提
供することを課題とする。
の干渉検査を、より少ない処理量で確実に実現するため
などに利用できる、新たな3次元モデルの生成方法を提
供することを課題とする。
【0014】
【課題を解決するための手段】前記課題達成のために、
本発明は、コンピュータにより3次元モデルを生成する
方法であって、予め定められた設定に従って3次元モデ
ルを移動させた場合に、前記3次元モデルが通ることに
なる空間を求めるステップと、求めた空間を、内部の空
間とする新たな3次元モデルを生成するステップとを有
することを特徴とする3次元モデルの生成方法を提供す
る。
本発明は、コンピュータにより3次元モデルを生成する
方法であって、予め定められた設定に従って3次元モデ
ルを移動させた場合に、前記3次元モデルが通ることに
なる空間を求めるステップと、求めた空間を、内部の空
間とする新たな3次元モデルを生成するステップとを有
することを特徴とする3次元モデルの生成方法を提供す
る。
【0015】このような3次元モデルの生成方法によれ
ば、3次元モデルが移動中に通る空間の全てを、空間的
に占める3次元モデルを生成することができる。そし
て、移動する3次元モデルの干渉検査は、このようにし
て生成した3次元モデルと他の3次元モデルの干渉を検
査すれば足り、従来のように繰り返し干渉検査を行う必
要はない。
ば、3次元モデルが移動中に通る空間の全てを、空間的
に占める3次元モデルを生成することができる。そし
て、移動する3次元モデルの干渉検査は、このようにし
て生成した3次元モデルと他の3次元モデルの干渉を検
査すれば足り、従来のように繰り返し干渉検査を行う必
要はない。
【0016】
【発明の実施の形態】以下、本発明に係る3次元モデル
生成方法の実施形態を、移動する3次元モデルの干渉検
査への応用を例にとり説明する。
生成方法の実施形態を、移動する3次元モデルの干渉検
査への応用を例にとり説明する。
【0017】本実施形態は、たとえば、図1に示したよ
うな構成を有する電子計算機上に具現化される。
うな構成を有する電子計算機上に具現化される。
【0018】図中、101はCPU、102は主記憶、
103はハードディスクドライブやCD−ROMドライ
ブなどの二次記憶装置、104は入力装置、105は表示
装置などの出力装置である。移動3次元モデルの干渉検
査を電子計算機に実行させる移動3次元モデルの干渉検
査プログラムは、図中、106で示したCD−ROMな
ど記憶媒体などを介して供給され、主記憶102に読み
込まれCPUによって実行される。もしくは、CD−R
OMなど記憶媒体から、ハードディスクドライブ103
などの他の二次記憶装置103にインストールされた
後、主記憶102に読み込まれCPU101によって実
行される。また、二次記憶装置103には、干渉検査プ
ログラムの処理に必要な、移動する3次元モデルや移動
経路や他の3次元モデルのデータなどが格納されてお
り、処理中に必要い応じて、主記憶102を介してCP
U101に読み出され処理される。
103はハードディスクドライブやCD−ROMドライ
ブなどの二次記憶装置、104は入力装置、105は表示
装置などの出力装置である。移動3次元モデルの干渉検
査を電子計算機に実行させる移動3次元モデルの干渉検
査プログラムは、図中、106で示したCD−ROMな
ど記憶媒体などを介して供給され、主記憶102に読み
込まれCPUによって実行される。もしくは、CD−R
OMなど記憶媒体から、ハードディスクドライブ103
などの他の二次記憶装置103にインストールされた
後、主記憶102に読み込まれCPU101によって実
行される。また、二次記憶装置103には、干渉検査プ
ログラムの処理に必要な、移動する3次元モデルや移動
経路や他の3次元モデルのデータなどが格納されてお
り、処理中に必要い応じて、主記憶102を介してCP
U101に読み出され処理される。
【0019】図2に、本実施形態に係る移動3次元モデ
ルの干渉検査プログラムの処理手順を示す。
ルの干渉検査プログラムの処理手順を示す。
【0020】図示するように、この処理では、まず、移
動する3次元モデルを、設定された移動経路6に沿って
移動開始点から移動終了点まで押し出して新たな3次元
モデル5を作成する(ステップ201)。この処理の詳
細については後述する。この処理によって、図11に示
した溶接トーチの3次元モデル1を、図3においては移
動経路6に沿って押し出し、3次元モデル5を得ること
ができる。
動する3次元モデルを、設定された移動経路6に沿って
移動開始点から移動終了点まで押し出して新たな3次元
モデル5を作成する(ステップ201)。この処理の詳
細については後述する。この処理によって、図11に示
した溶接トーチの3次元モデル1を、図3においては移
動経路6に沿って押し出し、3次元モデル5を得ること
ができる。
【0021】このようにして、3次元モデルを押し出し
た3次元モデルと、他の3次元モデルとの干渉を調べる
(ステップ202)。干渉は前述したように、プール演
算の積を求めることにより調べることができる。また、
押し出して得た3次元モデル5と他の3次元モデルの間
に、干渉があれば3次元モデル1の移動経路6に沿った
移動中に他の3次元モデルと干渉すると判断することが
できる。
た3次元モデルと、他の3次元モデルとの干渉を調べる
(ステップ202)。干渉は前述したように、プール演
算の積を求めることにより調べることができる。また、
押し出して得た3次元モデル5と他の3次元モデルの間
に、干渉があれば3次元モデル1の移動経路6に沿った
移動中に他の3次元モデルと干渉すると判断することが
できる。
【0022】なお、3次元モデルの移動経路に沿った移
動には、移動経路に沿って位置のみを変化させる並進移
動の他、位置の変化に伴い姿勢を回転させる移動もあ
る。また、位置の変化に伴う姿勢の回転には移動経路に
よって回転の内容が定まる場合の他、別途回転の内容を
定める場合もある。
動には、移動経路に沿って位置のみを変化させる並進移
動の他、位置の変化に伴い姿勢を回転させる移動もあ
る。また、位置の変化に伴う姿勢の回転には移動経路に
よって回転の内容が定まる場合の他、別途回転の内容を
定める場合もある。
【0023】ここで、図3に示したように、ステップ2
01の結果得られる3次元モデル5の押し出し面7は、
3次元モデル5が並進および回転することで作られる面
であるため、その面は自由曲面になる。そこで、この自
由曲面は、周知の、曲面を複数の多角形の集まりとして
近似する方法や、Bezier 曲面 と呼ばれる自由曲線の表
現形式やNURBS(Non-Uniform Rational B-Spline) 曲面
と呼ばれる自由曲線の表現形式を利用して曲面を近似す
る方法によって表現するようにする。これらのうち、ど
の方法を採用するかは、干渉検査の精度と処理速度の整
合がとれるよう、押し出す3次元モデルの形状と移動経
路に応じて適宜選択するようにするのがよい。図7中の
格子は、NURBS曲面によって自由曲面を近似しているよ
うすを表している。
01の結果得られる3次元モデル5の押し出し面7は、
3次元モデル5が並進および回転することで作られる面
であるため、その面は自由曲面になる。そこで、この自
由曲面は、周知の、曲面を複数の多角形の集まりとして
近似する方法や、Bezier 曲面 と呼ばれる自由曲線の表
現形式やNURBS(Non-Uniform Rational B-Spline) 曲面
と呼ばれる自由曲線の表現形式を利用して曲面を近似す
る方法によって表現するようにする。これらのうち、ど
の方法を採用するかは、干渉検査の精度と処理速度の整
合がとれるよう、押し出す3次元モデルの形状と移動経
路に応じて適宜選択するようにするのがよい。図7中の
格子は、NURBS曲面によって自由曲面を近似しているよ
うすを表している。
【0024】以上に示した本実施形態に係る干渉検査方
法によれば、干渉を繰り返し調べる必要がなく、また、
3次元モデルの移動を連続体としてモデル化するために
干渉検査の検査漏れが生じることが少ない。また、ステ
ップ201のような3次元モデルの生成方法は、干渉検
査の他、ユニークな3次元モデルの生成を可能とするも
のである。
法によれば、干渉を繰り返し調べる必要がなく、また、
3次元モデルの移動を連続体としてモデル化するために
干渉検査の検査漏れが生じることが少ない。また、ステ
ップ201のような3次元モデルの生成方法は、干渉検
査の他、ユニークな3次元モデルの生成を可能とするも
のである。
【0025】以下、図2のステップ201の3次元モデ
ルを押し出して、新たな3次元モデルを生成する処理の
詳細について説明する。
ルを押し出して、新たな3次元モデルを生成する処理の
詳細について説明する。
【0026】図4に、この処理の処理手順を示す。
【0027】この処理では、まず、移動経路上に適当な
間隔で平面を設置する(ステップ401)。移動経路上
のある点に平面を設置するとき、その点における移動経
路の接線ベクトルを算出し、それが設置する平面の法線
ベクトルとなるようにする。平面は、例えば他のモデル
が多い場所や移動するモデルが大きく姿勢変化する場所
では細かい間隔で設置する。
間隔で平面を設置する(ステップ401)。移動経路上
のある点に平面を設置するとき、その点における移動経
路の接線ベクトルを算出し、それが設置する平面の法線
ベクトルとなるようにする。平面は、例えば他のモデル
が多い場所や移動するモデルが大きく姿勢変化する場所
では細かい間隔で設置する。
【0028】次に、移動する3次元モデルを移動経路に
沿って適当な距離で少しづつ移動させる(ステップ40
2)。移動する3次元モデルは、例えば他のモデルが多
い場所や移動する3次元モデルが大きく姿勢変化する場
所では少しづつ移動する。そして移動する毎に、設置し
た平面との干渉検査を行い、ブール演算の積で、移動す
る3次元モデルを各平面が交差する交差断面を得る(ス
テップ403)、また、新たに交差断面が求まった平面
については、その平面について前回の3次元モデルの移
動時に本ステップで求めた交差断面と今回の交差断面で
ブール演算の和をとって新たな交差断面とする。
沿って適当な距離で少しづつ移動させる(ステップ40
2)。移動する3次元モデルは、例えば他のモデルが多
い場所や移動する3次元モデルが大きく姿勢変化する場
所では少しづつ移動する。そして移動する毎に、設置し
た平面との干渉検査を行い、ブール演算の積で、移動す
る3次元モデルを各平面が交差する交差断面を得る(ス
テップ403)、また、新たに交差断面が求まった平面
については、その平面について前回の3次元モデルの移
動時に本ステップで求めた交差断面と今回の交差断面で
ブール演算の和をとって新たな交差断面とする。
【0029】そして、このようなステップ402、40
3の処理を処移動開始点から移動終了点まで、移動する
3次元モデルが移動するまで行う(ステップ404)。
この結果、各平面上に得られた交差断面は、移動する3
次元モデルが移動した跡となる。
3の処理を処移動開始点から移動終了点まで、移動する
3次元モデルが移動するまで行う(ステップ404)。
この結果、各平面上に得られた交差断面は、移動する3
次元モデルが移動した跡となる。
【0030】そこで、各平面の交差断面の輪郭線を適当
な間隔で区切って点を設定し(ステップ405)、各点
が得ようとする3次元モデルの表面上の点であるとし
て、点同士を結び、全体として、移動する3次元モデル
を押し出した3次元モデルを得る(ステップ406)。
このような表面上の座標点の集合から3次元モデルを生
成する手法には様々なものが知られているが、ここで
は、選択した、曲面を近似する方法に応じた方法で点同
士を結びつけるようにする。このようにして得られた3
次元モデルは、移動する3次元モデルの移動を連続体と
して近似的にモデル化したものとなる。
な間隔で区切って点を設定し(ステップ405)、各点
が得ようとする3次元モデルの表面上の点であるとし
て、点同士を結び、全体として、移動する3次元モデル
を押し出した3次元モデルを得る(ステップ406)。
このような表面上の座標点の集合から3次元モデルを生
成する手法には様々なものが知られているが、ここで
は、選択した、曲面を近似する方法に応じた方法で点同
士を結びつけるようにする。このようにして得られた3
次元モデルは、移動する3次元モデルの移動を連続体と
して近似的にモデル化したものとなる。
【0031】なお、以上の処理において、このモデル化
の形状精度を上げるためには、モデルの移動間隔を狭め
るか、平面の設定間隔を狭めるか、交差断面の稜線を区
切る間隔を狭めるかすればよい。
の形状精度を上げるためには、モデルの移動間隔を狭め
るか、平面の設定間隔を狭めるか、交差断面の稜線を区
切る間隔を狭めるかすればよい。
【0032】次に、図2のステップ201の3次元モデ
ルを押し出して、新たな3次元モデルを生成する処理の
他の例について説明する。
ルを押し出して、新たな3次元モデルを生成する処理の
他の例について説明する。
【0033】図5に、この処理の処理手順を示す。
【0034】この処理では、まず、移動する3次元モデ
ルの表面を多角形の集合からなる多面体に近似する。例
えば移動する3次元モデルが球体である場合は正24面
体に近似する。ここで、移動する3次元モデルの複雑な
部分は小さな多角形を用いて近似する(ステップ50
1)。
ルの表面を多角形の集合からなる多面体に近似する。例
えば移動する3次元モデルが球体である場合は正24面
体に近似する。ここで、移動する3次元モデルの複雑な
部分は小さな多角形を用いて近似する(ステップ50
1)。
【0035】次に、移動する3次元モデルを近似した多
面体を、設定した移動軌跡に沿って移動したとき、多面
体の各頂点が移動軌跡をとるか計算し(ステップ50
2)、計算した各々の移動軌跡を適当な間隔で区切って
点を設定する(ステップ503)。
面体を、設定した移動軌跡に沿って移動したとき、多面
体の各頂点が移動軌跡をとるか計算し(ステップ50
2)、計算した各々の移動軌跡を適当な間隔で区切って
点を設定する(ステップ503)。
【0036】そして、最後に各点が得ようとする3次元
モデルの表面上の点であるとして、点同士を結び、全体
として、移動する3次元モデルを押し出した3次元モデ
ルを得る(ステップ504)。
モデルの表面上の点であるとして、点同士を結び、全体
として、移動する3次元モデルを押し出した3次元モデ
ルを得る(ステップ504)。
【0037】モデルの形状精度を上げるためには、移動
する3次元モデルを近似する多面体を構成する多角形を
小さくするか、多面体の頂点の移動軌跡を区切る間隔を
狭めるかすればよい。
する3次元モデルを近似する多面体を構成する多角形を
小さくするか、多面体の頂点の移動軌跡を区切る間隔を
狭めるかすればよい。
【0038】次に、図2のステップ201の3次元モデ
ルを押し出して、新たな3次元モデルを生成する処理
の、さらに他の例について説明する。
ルを押し出して、新たな3次元モデルを生成する処理
の、さらに他の例について説明する。
【0039】この処理の処理手順を図6に示す。
【0040】まず検討する全ての3次元モデルを包含す
る大きな3次元モデルを設定する(ステップ601)。
例えば、干渉を検討する3次元モデルが100個あれば
その100個を中に含む直方体の3次元モデルを設定す
る。そして移動する3次元モデルを移動経路に沿って適
当な距離で少しづつ移動させる(ステップ602)。移
動する3次元モデルは、例えば他の3次元モデルが多い
場所や、移動する3次元モデルが大きく姿勢変化する場
所では少しづつ移動するのがよい。そして、移動する毎
に、設定した大きな3次元モデルを、大きな3次元モデ
ルから移動する3次元モデルを差し引くブール演算を行
って得た3次元モデルに更新する(ステップ603)。
る大きな3次元モデルを設定する(ステップ601)。
例えば、干渉を検討する3次元モデルが100個あれば
その100個を中に含む直方体の3次元モデルを設定す
る。そして移動する3次元モデルを移動経路に沿って適
当な距離で少しづつ移動させる(ステップ602)。移
動する3次元モデルは、例えば他の3次元モデルが多い
場所や、移動する3次元モデルが大きく姿勢変化する場
所では少しづつ移動するのがよい。そして、移動する毎
に、設定した大きな3次元モデルを、大きな3次元モデ
ルから移動する3次元モデルを差し引くブール演算を行
って得た3次元モデルに更新する(ステップ603)。
【0041】この処理を移動開始点から移動終了点まで
行うと(ステップ604)、最初に設置した大きな3次
元モデルに移動する3次元モデルが通った穴ができる。
そこで、最後に、最初に設置した大きな3次元モデルか
ら、移動する3次元モデルが通った穴ができた大きな3
次元モデルを差し引くブール演算を行い、移動する3次
元モデルを押し出した3次元モデルを得る(ステップ6
05)。押し出した3次元モデルの精度を上げるために
は、モデルの移動間隔を狭めればよい。
行うと(ステップ604)、最初に設置した大きな3次
元モデルに移動する3次元モデルが通った穴ができる。
そこで、最後に、最初に設置した大きな3次元モデルか
ら、移動する3次元モデルが通った穴ができた大きな3
次元モデルを差し引くブール演算を行い、移動する3次
元モデルを押し出した3次元モデルを得る(ステップ6
05)。押し出した3次元モデルの精度を上げるために
は、モデルの移動間隔を狭めればよい。
【0042】次に、図2のステップ201の3次元モデ
ルを押し出して、新たな3次元モデルを生成する処理
の、さらに他の例について説明する。
ルを押し出して、新たな3次元モデルを生成する処理
の、さらに他の例について説明する。
【0043】この処理の処理手順を図7に示す。
【0044】この処理は、移動経路が直線であり、か
つ、移動に、移動する3次元モデルの回転移動を含まな
い場合に適用できる処理である。
つ、移動に、移動する3次元モデルの回転移動を含まな
い場合に適用できる処理である。
【0045】この処理の各手順を、図8を参照しながら
説明する。
説明する。
【0046】この処理ではまず、移動経路が直線であ
り、かつ、移動する3次元モデルの回転移動を含まない
かを調べ(ステップ701)る。そして、移動経路が直
線であり、かつ、移動する3次元モデルの回転移動を含
まなければ、以下の処理を行う。
り、かつ、移動する3次元モデルの回転移動を含まない
かを調べ(ステップ701)る。そして、移動経路が直
線であり、かつ、移動する3次元モデルの回転移動を含
まなければ、以下の処理を行う。
【0047】すなわち、移動する3次元モデル801
の、移動開始点805において移動方向を法線ベクトル
とする平面806を設定し、その平面に対して移動前の
3次元モデルの正射影を求める(ステップ702)。そ
して、この正射影によって得られる2次元モデルを移動
方向と逆方向に、適当な高さまで押し出した3次元モデ
ルを作成し、これと移動前の3次元モデルとブール演算
の差を求めることで、正射影を底面として3次元モデル
を境界に持つ新たな3次元モデルを作成し、これと移動
前の3次元モデルのブール演算の和によって3次元モデ
ル803を作成する。次に、移動開始点805の平面8
06上に正射影によって作成した2次元モデルを、移動
終了点まで押し出して新たな3次元モデル804を作成
する(ステップ704)。
の、移動開始点805において移動方向を法線ベクトル
とする平面806を設定し、その平面に対して移動前の
3次元モデルの正射影を求める(ステップ702)。そ
して、この正射影によって得られる2次元モデルを移動
方向と逆方向に、適当な高さまで押し出した3次元モデ
ルを作成し、これと移動前の3次元モデルとブール演算
の差を求めることで、正射影を底面として3次元モデル
を境界に持つ新たな3次元モデルを作成し、これと移動
前の3次元モデルのブール演算の和によって3次元モデ
ル803を作成する。次に、移動開始点805の平面8
06上に正射影によって作成した2次元モデルを、移動
終了点まで押し出して新たな3次元モデル804を作成
する(ステップ704)。
【0048】そして、移動開始点と同様に、移動終了点
において押し出し方向を法線ベクトルとする平面810を
設定し、その平面に対して移動前の3次元モデルの正射
影を求め、この正射影によって得られる2次元モデルを
移動方向に、適当な高さまで押し出した3次元モデルを
作成し、これと移動後の3次元モデルとブール演算の差
を求めることで、正射影を底面として3次元モデルを境
界に持つ新たな3次元モデルを作成し、これと移動後の
3次元モデルのブール演算の和によって3次元モデル8
11を作成する(ステップ705)。
において押し出し方向を法線ベクトルとする平面810を
設定し、その平面に対して移動前の3次元モデルの正射
影を求め、この正射影によって得られる2次元モデルを
移動方向に、適当な高さまで押し出した3次元モデルを
作成し、これと移動後の3次元モデルとブール演算の差
を求めることで、正射影を底面として3次元モデルを境
界に持つ新たな3次元モデルを作成し、これと移動後の
3次元モデルのブール演算の和によって3次元モデル8
11を作成する(ステップ705)。
【0049】そして、最後に3次元モデルA,B,Cの
ブール演算の和によって、移動する3次元モデルを押し
出した3次元モデルを得る(ステップ706)。
ブール演算の和によって、移動する3次元モデルを押し
出した3次元モデルを得る(ステップ706)。
【0050】以上説明してきた本発明の実施形態によれ
ば、3次元モデルの押し出しによる3次元モデルの生成
という、ユニークな3次元モデルの生成手法を提供する
ことができる。
ば、3次元モデルの押し出しによる3次元モデルの生成
という、ユニークな3次元モデルの生成手法を提供する
ことができる。
【0051】また、これを干渉検査に応用した場合に
は、移動する3次元モデルの干渉検査を、より少ない処
理量で実現できる。また、モデルの移動を連続体として
モデル化して干渉を調べるため、より確かな検査結果を
得ることができる。このため、たとえば、例えば製造業
におけるCAD(計算機支援設計)を利用した製品設計
において、歯車や移動台車が他の部品と干渉するか検査
しつつ取り付け位置を設計する作業を高速にかつ確実に
行うことができる。また、CAM(計算機支援製造)を
利用して加工機やロボットの運動経路を計算するとき、
設定した経路で周囲と干渉なく移動できるかを高速にか
つ確実に行うことができる。
は、移動する3次元モデルの干渉検査を、より少ない処
理量で実現できる。また、モデルの移動を連続体として
モデル化して干渉を調べるため、より確かな検査結果を
得ることができる。このため、たとえば、例えば製造業
におけるCAD(計算機支援設計)を利用した製品設計
において、歯車や移動台車が他の部品と干渉するか検査
しつつ取り付け位置を設計する作業を高速にかつ確実に
行うことができる。また、CAM(計算機支援製造)を
利用して加工機やロボットの運動経路を計算するとき、
設定した経路で周囲と干渉なく移動できるかを高速にか
つ確実に行うことができる。
【0052】
【発明の効果】以上のように、本発明によれば、移動す
る3次元モデルの干渉検査を、より少ない処理量で確実
に実現するためなどに利用できる、新たな3次元モデル
の生成方法を提供することができる。
る3次元モデルの干渉検査を、より少ない処理量で確実
に実現するためなどに利用できる、新たな3次元モデル
の生成方法を提供することができる。
【図1】移動する3次元モデルの干渉検査に用いる電子
計算機の構成を表したブロック図である。
計算機の構成を表したブロック図である。
【図2】移動する3次元モデルの干渉検査の処理手順を
表したフローチャートである。
表したフローチャートである。
【図3】3次元モデルを押し出して生成した3次元モデ
ルを表す図である。
ルを表す図である。
【図4】3次元モデルを押し出して3次元モデルを生成
する処理の処理手順を表したフローチャートである。
する処理の処理手順を表したフローチャートである。
【図5】3次元モデルを押し出して3次元モデルを生成
する処理の処理手順を表したフローチャートである。
する処理の処理手順を表したフローチャートである。
【図6】3次元モデルを押し出して3次元モデルを生成
する処理の処理手順を表したフローチャートである。
する処理の処理手順を表したフローチャートである。
【図7】3次元モデルを押し出して3次元モデルを生成
する処理の処理手順を表したフローチャートである。
する処理の処理手順を表したフローチャートである。
【図8】3次元モデルを押し出して3次元モデルを生成
するようすを表した図である。
するようすを表した図である。
【図9】従来の2次元モデルを押し出して3次元モデル
を生成する処理のようすを表した図である。
を生成する処理のようすを表した図である。
【図10】従来の、移動する3次元モデルの干渉検査の
処理手順を表したフローチャートである。
処理手順を表したフローチャートである。
【図11】従来の移動する3次元モデルの干渉検査処理
のようすを表した図である。
のようすを表した図である。
101 CPU 102 主記憶 103 二次記憶装置 104 入力装置 105 出力装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 関 秀明 茨城県ひたちなか市市毛1070番地 株式会 社日立製作所水戸工場内
Claims (8)
- 【請求項1】コンピュータにより3次元モデルを生成す
る方法であって、 予め定められた設定に従って3次元モデルを移動させた
場合に、前記3次元モデルが通ることになる空間を求め
るステップと、 求めた空間を、内部の空間とする新たな3次元モデルを
生成するステップとを有することを特徴とする3次元モ
デルの生成方法。 - 【請求項2】コンピュータにより、移動経路に沿った3
次元モデルの移動をモデル化した3次元モデルを生成す
る3次元モデルの生成方法であって、 3次元モデルを前記移動経路に沿って移動させた場合
に、前記3次元モデルが通ることになる空間を求めるス
テップと、 求めた空間を、内部の空間とする新たな3次元モデルを
生成するステップとを有することを特徴とする3次元モ
デルの生成方法。 - 【請求項3】請求項1または2記載の3次元モデルの生
成方法であって、 前記新たな3次元モデルを、Bezier曲面またはNon Uni
form Rational B-Spline 曲面を用いて表現しているこ
とを特徴とする3次元モデルの生成方法。 - 【請求項4】コンピュータにより、移動経路に沿って移
動する3次元モデルと他の3次元モデルとの干渉検査を
行う方法であって、 3次元モデルを前記移動経路に沿って移動させた場合
に、前記3次元モデルが通ることになる空間を求めるス
テップと、 求めた空間を、内部の空間とする新たな3次元モデルを
生成するステップと、 前記生成した新たな3次元モデルと、前記他の3次元モ
デルとの干渉を検査するステップとを有することを特徴
とする3次元モデルの生成方法。 - 【請求項5】予め定められた設定に従って3次元モデル
を移動させた場合に、前記3次元モデルが通ることにな
る空間を求めるステップと、 求めた空間を、内部の空間とする新たな3次元モデルを
生成するステップとを、コンピュータに実行させるプロ
グラムを記憶したコンピュータ読みとり可能な記憶媒
体。 - 【請求項6】コンピュータに、移動経路に沿った3次元
モデルの移動をモデル化した3次元モデルを生成させる
プログラムを記憶した記憶媒体であって、 3次元モデルを前記移動経路に沿って移動させた場合
に、前記3次元モデルが通ることになる空間を求めるス
テップと、 求めた空間を、内部の空間とする新たな3次元モデルを
生成するステップとを、コンピュータに実行させるプロ
グラムを記憶したコンピュータ読みとり可能な記憶媒
体。 - 【請求項7】コンピュータに、移動経路に沿って移動す
る3次元モデルと他の3次元モデルとの干渉検査を行わ
させるプログラムを記憶した記憶媒体であって、 3次元モデルを前記移動経路に沿って移動させた場合
に、前記3次元モデルが通ることになる空間を求めるス
テップと、 求めた空間を、内部の空間とする新たな3次元モデルを
生成するステップと、前記生成した新たな3次元モデル
と、前記他の3次元モデルとの干渉を検査するステップ
とを、コンピュータに実行させるプログラムを記憶した
コンピュータ読みとり可能な記憶媒体。 - 【請求項8】3次元モデルを生成する3次元モデルの生
成装置であって、 予め定められた設定に従って3次元モデルを移動させた
場合に、前記3次元モデルが通ることになる空間を求め
る手段と、 求めた空間を、内部の空間とする新たな3次元モデルを
生成する手段とを有することを特徴とする3次元モデル
の生成装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9119368A JPH10307935A (ja) | 1997-05-09 | 1997-05-09 | 3次元モデルの生成方法、および、3次元モデルの干渉検査方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9119368A JPH10307935A (ja) | 1997-05-09 | 1997-05-09 | 3次元モデルの生成方法、および、3次元モデルの干渉検査方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH10307935A true JPH10307935A (ja) | 1998-11-17 |
Family
ID=14759779
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9119368A Pending JPH10307935A (ja) | 1997-05-09 | 1997-05-09 | 3次元モデルの生成方法、および、3次元モデルの干渉検査方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH10307935A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7027963B2 (en) | 2001-11-12 | 2006-04-11 | Fanuc Ltd | Simulation system |
| WO2008026752A1 (en) * | 2006-08-31 | 2008-03-06 | Canon Kabushiki Kaisha | Information processing method and information processing apparatus |
-
1997
- 1997-05-09 JP JP9119368A patent/JPH10307935A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7027963B2 (en) | 2001-11-12 | 2006-04-11 | Fanuc Ltd | Simulation system |
| WO2008026752A1 (en) * | 2006-08-31 | 2008-03-06 | Canon Kabushiki Kaisha | Information processing method and information processing apparatus |
| JP2008059375A (ja) * | 2006-08-31 | 2008-03-13 | Canon Inc | 情報処理方法、情報処理装置 |
| US8145460B2 (en) | 2006-08-31 | 2012-03-27 | Canon Kabushiki Kaisha | Information processing method and information processing apparatus |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5361793B2 (ja) | サンプル点において掃引容積の距離場を再構成する方法 | |
| JP5361785B2 (ja) | 適応的にサンプリングされる距離場を用いて数値制御フライス加工をシミュレートするための方法 | |
| Spitz et al. | Accessibility analysis for planning of dimensional inspection with coordinate measuring machines | |
| Ainsworth et al. | CAD-based measurement path planning for free-form shapes using contact probes | |
| CN104204978B (zh) | 对通过工具对工件的机械加工进行仿真的方法和系统 | |
| JP6787661B2 (ja) | 工作物の機械加工のシミュレート | |
| US9122270B2 (en) | Hybrid adaptively sampled distance fields | |
| EP3340085B1 (en) | B-rep of the result of a two-axis 3d printing process | |
| Balasubramaniam et al. | Generation of collision-free 5-axis tool paths using a haptic surface | |
| CN111324977B (zh) | 利用动态位置误差模拟切削方法 | |
| Shen et al. | Research on adaptive adjustment of welding torch pose in wire and arc additive remanufacturing of hot-forging dies | |
| Ziemian et al. | Automated feature accessibility algorithm for inspection on a coordinate measuring machine | |
| JP2025168262A (ja) | 機械加工部品を表す3dモデル内のシェル・フィーチャーまたはオフセット・フィーチャーの検出 | |
| Inui et al. | Milling simulation-based method to evaluate manufacturability of machine parts | |
| Ishii et al. | Fast Cutter Location Surface Computation Using Ray Tracing Cores | |
| Inui et al. | Graphical assistance for determining cutter axis directions in 3+ 2-axis machining | |
| Aras et al. | State-of-the-art in geometric modeling for virtual machining | |
| JP2004094750A (ja) | 3次元形状処理装置、干渉モデル検出方法、プログラム、及び記憶媒体 | |
| Van Thiel | Feature based automated part inspection | |
| JP2002236940A (ja) | テンプレートを用いた自由曲面の創成方法および装置 | |
| Man et al. | Fast calculation of the welding gun posture for spot welding using octrees and CPU parallel processing | |
| Inui et al. | Radial ray representation for fast analysis of optimal cutting direction in 3+ 2 axis milling | |
| Inui et al. | Inverse offset of Z-map model for process planning assistance | |
| Lysenko et al. | Real-time machinability analysis of free form surfaces on the GPU | |
| Alvarez et al. | Accessibility Analysis for Automatic Inspection Using Bounding Volume Hierarchies |