(57)【要約】【課題】ＣＡＤシステムの使用者の試行錯誤の回数を減らし、設計の効率化をはかることができる三次元形状作成装置を提供する。【解決手段】三次元モデルの立体の角部を形成する対になる二面が共有する稜線列を入力する埋込位置入力部１１と、前記稜線列の分割位置を変更する分割位置変更部１４と、前記稜線列の始点と終点とが同一である場合に、前記稜線列を位相的に分割する埋込位置分割部１３と、前記分割されたそれぞれの稜線列に対して、フィレット面によって丸め変形処理または角落し面によって面取り変形処理を行って、前記入力された稜線列全体に対して面を埋め込むように制御する埋込制御部１２とを備え、前記埋込制御部１２は、前記埋め込み処理で面の埋め込みに失敗した場合、前記分割位置変更部１４で変更された分割位置を分割開始点とし、前記埋込位置分割部１３で分割された稜線列に対して前記埋め込み処理を再度繰り返す。【選択図】　　　図１
2004030431.tif 000002
【特許請求の範囲】
【請求項１】
三次元モデルを作成する三次元形状作成装置において、前記三次元モデルの立体の角部を形成する対になる二面が共有する稜線列を入力する埋込位置入力部と、前記稜線列の始点と終点とが同一である場合に、前記稜線列を位相的に分割する埋込位置分割部と、前記分割されたそれぞれの稜線列に対して埋め込み処理を行って、前記入力された稜線列全体に対して面を埋め込むように制御する埋込制御部とを備え、前記二面を滑らかに接続することを特徴とする三次元形状作成装置。
【請求項２】
請求項１に記載の三次元形状作成装置において、前記埋め込み処理は、フィレット面によって丸め変形処理を行うことを特徴とする三次元形状作成装置。
【請求項３】
請求項１に記載の三次元形状作成装置において、前記埋め込み処理は、角落し面によって面取り変形処理を行うことを特徴とする三次元形状作成装置。
【請求項４】
請求項１、２または３に記載の三次元形状作成装置において、前記稜線列の分割位置を変更する分割位置変更部を備え、前記埋込制御部は、前記埋め込み処理で面の埋め込みに失敗した場合、前記分割位置変更部で変更された分割位置を分割開始点とし、前記埋込位置分割部で分割された稜線列に対して前記埋め込み処理を再度繰り返すことを特徴とする三次元形状作成装置。
【請求項５】
請求項４に記載の三次元形状作成装置において、前記分割位置変更部は、当初設定した分割開始点から一定方向に、稜線列を構成する稜線数を等分割した位置の稜線にずらし、その稜線の始点を次の分割位置に決定することを特徴とする三次元形状作成装置。
【請求項６】
三次元モデルを作成する三次元形状作成方法において、前記三次元モデルの立体の角部を形成する対になる二面が共有する稜線列を入力し、前記稜線列の始点と終点とが同一である場合に、この稜線列を位相的に分割し、前記分割されたそれぞれの稜線列に対して埋め込み処理を行って、前記入力された稜線列全体に対して面を埋め込むように制御して、前記二面を滑らかに接続することを特徴とする三次元形状作成方法。
【請求項７】
コンピュータに、請求項１乃至５のいずれか１に記載の三次元形状作成装置の機能を実行させるためのプログラム。
【請求項８】
請求項７に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、三次元形状作成装置、三次元形状作成方法、プログラムおよび記録媒体に関し、より詳細には、コンピュータで三次元形状モデルを作成する境界表現ソリッドモデリングシステムにおいて、そのモデルを構成する任意の稜線をはさんで隣接する不連続な二面間におさまるようなフィレット面および角落し面を作成する技術に係り、特に、ＣＡＤ（Ｃｏｍｐｕｔｅｒ　Ａｉｄｅｄ　Ｄｅｓｉｇｎ）／ＣＡＭ（Ｃｏｍｐｕｔｅｒ　Ａｉｄｅｄ　Ｍａｎｕｆａｃｔｕｒｉｎｇ）に適用して好適である。
【０００２】
【従来の技術】
コンピュータを利用した設計・生産のための必須の道具として、ＣＡＤ（Ｃｏｍｐｕｔｅｒ　Ａｉｄｅｄ　Ｄｅｓｉｇｎ）やＣＡＭ（Ｃｏｍｐｕｔｅｒ　Ａｉｄｅｄ　Ｍａｎｕｆａｃｔｕｒｉｎｇ）が広く普及している。
三次元図形（形状）をモデル化して扱う三次元ＣＡＤシステムにおいては、立体を中身の詰まったものとして扱うソリッドモデリング手法が主流になっている。
ソリッドモデルは、立体を線の集まりとして表すワイヤーフレームモデルや、面の集まりとして表すサーフェスモデルなど、他の手法に比べ、解析・加工等を自動的に処理可能にする等の優れた特徴を持っている。
【０００３】
機械設計等にソリッドモデリングを応用する際、重要な形状変形処理として、立体の角部を丸めて、丸めた角部にフィレット面と呼ばれる面を埋め込む丸め処理と、立体の角部を切り落として面取りした角部に角落し面と呼ばれる面を埋め込む面取り処理がある。
【０００４】
一般に、丸め処理操作は次の手順で行われる。
（１）フィレット面の大きさを指定する。
（２）立体の角を形成する対をなす二つの面の共通の稜線を指定する。
（３）その稜線に直交する複数の断面内でそれぞれその曲面の断面線に接する指定した大きさの半径をもつ接円弧を求める。
（４）それら複数の断面内の円弧同士を滑らかにつなぐことによってフィレット面を生成する。
【０００５】
なお、フィレット面の大きさは必ずしも上述のように接円弧の半径を表すものでなくてもよく、フィレット面の幅や、共通の稜線から接円弧の接点までの距離として指定してもよい。これらの場合は、指定した条件を満たすように接円弧の半径が調整される。
【０００６】
一方、面取り処理操作は、次の手順で行われる。
（１）角落し面の大きさを指定する。
（２）立体の角を形成する対をなす二つの面の共通の稜線を指定する。
（３）その稜線に直交する複数の断面内でそれぞれその曲面の断面線に接する上記指定した大きさの半径をもつ接円弧を求める。
（４）それら複数の断面内の二つの接点を結ぶ直線線分を求める。
（５）この直線線分同士をつなぐことによって角落し面を生成する。
【０００７】
なお、角落し面の大きさは必ずしも上述したような接円弧の半径を表すものでなくてもよく、角落し面の幅や、共通の稜線から接円弧の接点までの距離として指定してもよい。これらの場合は、指定した条件を満たすように接円弧の半径が調整される。
【０００８】
【発明が解決しようとする課題】
立体の角を形成する二つの面の共通の稜線を指定して、上述したフィレット面もしくは角落し面を埋め込むが、その稜線は必ずしも一本でなくてもよく、その始点または終点を共有する別の稜線とともに、複数同時に指定してもよい。
【０００９】
この場合、通常は、指定した稜線列を構成するそれぞれの稜線について、別々にフィレット面もしくは角落とし面の埋め込み操作が行われるが、次の場合に限り、稜線列を１本の稜線とみなしてフィレット面もしくは角落とし面を埋め込む操作が適用されることが多い。
（１）稜線列を構成する稜線がすべてなめらかに接続している。
且つ、
（２）稜線列を構成するそれぞれの稜線の左右の面が、その稜線以外の稜線において隣接するもの同士、すべて滑らかに接続している。
【００１０】
しかし、フィレット面または角落とし面の埋め込む位置の指定を稜線列に対して行った場合、稜線列の始点と終点が同一となる場合には、通常のアルゴリズムでは対応できない。
この場合、従来は、次のいずれかの方法で処理していた。
（１）始点終点が同一の場合のための特別な処理を追加して、フィレット面もしくは角落とし面を埋め込む。
（２）ＣＡＤシステムの使用者が、一周している稜線列を適当な位置で２つに分け、それぞれにフィレット面または角落とし面の埋め込み処理を適用する。
【００１１】
しかしながら、稜線列の始点終点は、ＣＡＤシステムの使用者が稜線列を指定した順番やシステムが決定した位置で固定されるが、同じ稜線列でも、フィレット面または角落とし面を埋め込む先の形状によって、分割する位置で処理に成功したり失敗したりすることがある。
【００１２】
このようなフィレット面または角落とし面の埋め込み処理に失敗した場合、上記の従来のいずれの方法であっても、ＣＡＤシステムの使用者は、再度稜線列の指定方法を変更して処理をやり直さなくてはならないため、著しく設計効率が悪い。
【００１３】
本発明は、上述の実情を考慮してなされたものであって、フィレット面または角落とし面を埋め込む処理に失敗した場合にも、ＣＡＤシステムの使用者の試行錯誤の回数を減らし、設計の効率化をはかることができる三次元形状作成装置、三次元形状作成方法、三次元形状作成装置の機能を実行するためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的としている。
【００１４】
【課題を解決するための手段】
上述した課題を解決するために、本発明の請求項１の三次元形状作成装置は、三次元モデルを作成する三次元形状作成装置において、前記三次元モデルの立体の角部を形成する対になる二面が共有する稜線列を入力する埋込位置入力部と、前記稜線列の始点と終点とが同一である場合に、前記稜線列を位相的に分割する埋込位置分割部と、前記分割されたそれぞれの稜線列に対して埋め込み処理を行って、前記入力された稜線列全体に対して面を埋め込むように制御する埋込制御部とを備え、前記二面を滑らかに接続することを特徴とする。
また、本発明の請求項２は、請求項１に記載の三次元形状作成装置において、前記埋め込み処理は、フィレット面によって丸め変形処理を行うことを特徴とする。
また、本発明の請求項３は、請求項１に記載の三次元形状作成装置において、前記埋め込み処理は、角落し面によって面取り変形処理を行うことを特徴とする。
【００１５】
また、本発明の請求項４は、請求項１、２または３に記載の三次元形状作成装置において、前記稜線列の分割位置を変更する分割位置変更部を備え、前記埋込制御部は、前記埋め込み処理で面の埋め込みに失敗した場合、前記分割位置変更部で変更された分割位置を分割開始点とし、前記埋込位置分割部で分割された稜線列に対して前記埋め込み処理を再度繰り返すことを特徴とする。
また、本発明の請求項５は、請求項４に記載の三次元形状作成装置において、前記分割位置変更部は、当初設定した分割開始点から一定方向に、稜線列を構成する稜線数を等分割した位置の稜線にずらし、その稜線の始点を次の分割位置に決定することを特徴とする。
【００１６】
また、本発明の請求項６の三次元形状作成方法は、三次元モデルを作成する三次元形状作成方法において、前記三次元モデルの立体の角部を形成する対になる二面が共有する稜線列を入力し、前記稜線列の始点と終点とが同一である場合に、この稜線列を位相的に分割し、前記分割されたそれぞれの稜線列に対して埋め込み処理を行って、前記入力された稜線列全体に対して面を埋め込むように制御して、前記二面を滑らかに接続することを特徴とする。
また、本発明の請求項７のプログラムは、コンピュータに、請求項１乃至５のいずれか１に記載の三次元形状作成装置の機能を実行させるためのプログラムである。
また、本発明の請求項８の記録媒体は、請求項７に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００１７】
以上の構成により、始点と終点が一致しないような通常のフィレット面または角落とし面の埋め込み処理を用いて、始点と終点が一致する稜線列に対しても埋め込み処理ができるようになる。また、ＣＡＤシステムの使用者は、埋め込み位置の指定を試行錯誤することがなくなり、設計効率が向上する。
【００１８】
【発明の実施の形態】
以下、図面を参照して本発明の三次元形状作成装置に係る一実施形態を説明する。
図１０は、一般のＣＡＤシステムを実現するためのハードウェア構成を示すブロック図である。
図１０において、ＣＡＤシステムは、データ等の演算や処理を行うＣＰＵ（中央処理ユニット）１０１と、プログラムやデータ等を記憶するメモリ１０２と、キー操作に基づきプログラムやデータ等を入力するキーボード１０３と、プログラムやデータ等を印字出力するプリンタ１０４と、図形などを画面上に表示するＣＲＴ（画像表示装置）１０５と、ＣＲＴ１０５の画面上に表示した、一般にマウスカーソルと呼ばれる目印を移動させると共に、その移動に基づくデータを入力するマウス１０６と、プログラムや三次元形状モデルのデータを記憶するハードディスク等の記憶装置１０７と、それらを相互に接続するバスライン１０８とを少なくとも備えている。
このＣＡＤシステムは、キーボード１０３やマウス１０６等を操作して指示された指示内容に基づき所定のプログラムに従い演算や処理を行うことで図形等を生成し、その図形等をＣＲＴ１０５の画面上に表示する。
【００１９】
本発明の三次元形状作成装置は、面と面との接続関係を表す位相データを持つソリッドモデルを取り扱える上述のＣＡＤシステムにおいて、立体の角部を形成する対になる二面が共有する稜線列を指定し、指定された稜線列に沿って指定された丸め半径で二面を滑らかに接続するフィレット面、あるいは、二面を指定された面取り半径で二面の角を切り落とした角落し面を生成する操作を、稜線列の分割位置を自動的に変更しながら試行錯誤的に繰り返し、フィレット面もしくは角落とし面の作成処理の効率化をはかるものである。
【００２０】
図１は、本発明の三次元形状作成装置を構成するブロック図である。
図１において、三次元形状作成装置１０は、丸め処理または面取り処理を行う稜線列を指定する埋込位置入力部１１、稜線列の分割、分割位置の変更および埋め込み処理を制御する埋込制御部１２、稜線列を分割する埋込位置分割部１３、稜線列の分割位置を変更する分割位置変更部１４、従来の三次元形状処理を行う形状処理部１５、三次元形状モデルの幾何情報および位相情報を格納する三次元形状データベース（ＤＢ）２０、ＣＡＤシステムのキーボード１０３およびマウス１０６からなり、数値情報や表示装置４０へ表示された形状モデルの点、稜線、面や形状を指し示すのに使われる入力装置３０、および、ＣＡＤシステムにおけるＣＲＴ１０５であり、作成または編集された三次元形状モデルを表示するのに使われる表示装置４０を少なくとも備えている。
【００２１】
埋込位置入力部１１は、表示装置４０に表示された形状モデルに対して、入力装置３０（例えば、マウス等）によって、面を埋め込む位置の稜線列と丸め半径、およびフィレット面または角落とし面のいずれの埋め込み面とするかを入力する。
入力装置３０で指定された稜線列は、三次元形状ＤＢ２０を参照することによって、位相および幾何形状のデータを抽出できる。
例えば、図２に示したソリッドモデルとして生成した立体の角部に対して、図３のようにフィレット面を埋め込むとすると、フィレット面を作成する角部を形成する曲面対の共通の稜線列｛Ｅ０，Ｅ１，Ｅ２，Ｅ３｝、丸め半径およびフィレット面による埋め込み処理であることを入力する。このとき、稜線列の始点は、最初の稜線Ｅ０の頂点Ｖ０として指定されたものとする。
【００２２】
埋込制御部１２は、従来技術によるフィレット面の埋め込み処理または本発明による埋め込み処理のいずれの処理を行うかを入力した稜線列から判断して実行させる。
上記の判断は、入力した稜線列の始点と終点が一致していない場合には、従来技術によって埋め込み処理を行うものと判断し、一致している場合には、本発明による埋め込み処理を行うものと判断する。
例えば、図２において、頂点Ｖ０は稜線Ｅ０の始点でもあり、且つ、稜線Ｅ３の終点でもあるから本発明による埋め込み処理を行わせる。
【００２３】
また、本発明による埋め込み処理の場合、埋込制御部１２は、稜線列の分割を行わせるために埋込位置分割部１３を実行する。この分割されたそれぞれの稜線列の始点と終点は異なるので、形状処理部１５に備えている従来の埋め込み処理を用いて、それぞれの稜線列に同じ埋め込み処理を行わせる。その結果、入力された稜線列全体が表す立体の角部にフィレット面または角落とし面が埋め込まれる。
【００２４】
この従来の埋め込み方法は、例えば、フィレット面の埋め込みの場合、文献「Ｔ．Ｈａｒａｄａ，　ｅｔ．ａｌ，　Ｖａｒｉａｂｌｅ−Ｒａｄｉｕｓ　ｂｌｅｎｄｉｎｇ　ｂｙ　Ｕｓｉｎｇ　Ｇｒｅｇｏｒｙ　Ｐａｔｃｈｅｓ　ｉｎ　Ｇｅｏｍｅｔｒｉｃ　Ｍｏｄｅｌｉｎｇ，　ＥＵＲＯＧＲＡＰＨＩＣＳ’９１，　Ｅｕｒｏｇｒａｐｈｉｃｓ　Ａｓｓｏｃｉａｔｉｏｎ，　ｐｐ．５０７−５１６，１９９１．」で処理する。
この文献には、立体の角部を形成する対になる二面に、ともに接する球や円弧をおいたときの接点をもとめ、これらの補完曲線を求めることによって、フィレット面の境界の形状を算出し、さらにこのフィレット面の境界と元の立体の持つ稜線との交差判定をおこなって、適切な稜線を作成してフィレット面埋め込み形状を生成している。
【００２５】
さらに、埋込制御部１２は、分割された稜線列を用いて埋め込まれたフィレット面または角落とし面の継ぎ目における連続性を判定する。
これらすべての継ぎ目において埋め込まれた面が接平面連続である場合、埋め込みが成功したものとする。
【００２６】
一方、埋込制御部１２は、埋め込みが不成功であった場合（例えば、複雑な幾何形状のとき）には、分割位置変更部１４を実行させて、新しい分割の開始位置である分割位置および移動単位を変更し、埋込位置分割部１３で稜線列を分割して、再度、埋め込み処理を行わせて、試行錯誤的に埋め込み処理を実行させる。この繰り返しは、予め設定した移動単位（下記の分割位置変更部１４に説明している）になるまで行われ、ここまでに埋め込み処理が成功しなかったときには、不成功の通知が表示装置４０等を介して使用者に通知される。なお、予め設定した移動単位は、ＣＡＤシステムを実行する装置の処理能力に応じて、１／４，１／８，１／１６，１／３２等に設定する。
【００２７】
埋込位置分割部１３は、埋込位置入力部１１で入力された稜線列を分割する。この分割の開始位置である分割位置は、入力された始点（図２の場合、頂点Ｖ０）であり、移動単位は１／４を初期値とする。埋め込み処理の試行錯誤中の値は、分割位置変更部１４で決定した値を使用する。
【００２８】
稜線列をｄ個に分割する方法としては、指定された始点から終点までに存在する（稜線数／ｄ）本数分一定方向に進んだ位置の稜線の終点を新たな終点とし、この新たな終点を始点として、次の終点を同様に設定する。これを分割数ｄ回だけ繰り返して、始点と終点間の稜線列をｄ個の稜線列に分割する。
【００２９】
例えば、２分割の場合、図４において、稜線列｛Ｅ０，Ｅ１，Ｅ２，Ｅ３｝の始点（頂点Ｖ０）と終点（頂点Ｖ０）が一致しているので、図５に示すように、始点（終点）となる頂点Ｖ０から数えて、稜線列を構成する稜線数を２で割った本数分一定方向に進んだ位置の稜線の終点を新たな終点とし、稜線列を２つの稜線列｛Ｅ０，Ｅ１｝と｛Ｅ２，Ｅ３｝に分割する。
図６は、図２の立体の稜線列を２分割したうちの稜線列｛Ｅ０，Ｅ１｝に対してフィレット面の埋め込み処理を実施した結果である。
【００３０】
これに対して、埋め込みが不成功のときには、分割位置変更部１４によって、次のように分割位置を変更する。下記（１）および（２）で計算された最初のｐを分割の開始位置に変更して、稜線列を分割し、面の埋め込み処理が不成功のときには２番目のｐに分割位置をずらして繰り返す。ｐの値がすべて不成功のときは、（２）で移動単位を変更して、（１）を繰り返す。
【００３１】
（１）使用者から指定された稜線列の最初の稜線の始点から、以下の式を満足する奇数の自然数（ｐ）の値分だけ一定方向に移動した稜線の始点へ変更する。
【００３２】
ｒが偶数のとき、　０＜ｐ［ｒｓ］＜［ｒ／ｄ］
ｒが奇数のとき、　０＜ｐ［ｒｓ］＜ｒ
ここで、上記の［］はガウス記号を表し、ｒは稜線数、ｄは分割数を表す。
また、ｓは移動単位で初期値はｓ＝１／４である。
また、ｐは、使用者から指定された稜線列の最初の稜線を０番目として、順に数えるものとする。
【００３３】
例えば、図２において、稜線数ｒ＝４、分割数ｄ＝２であるから、
０＜ｐ［４・１／４］＜４／２
を満足するｐは、ｐ＝１である。したがって、次の分割の開始点である分割位置は、図７のように、入力された稜線列｛Ｅ０，Ｅ１，Ｅ２，Ｅ３｝の中の２番目の稜線Ｅ１の始点Ｖ１に変更し、稜線列｛Ｅ１，Ｅ２，Ｅ３，Ｅ０｝を２分割して、稜線列を｛Ｅ１，Ｅ２｝と｛Ｅ３，Ｅ０｝にする。
【００３４】
（２）最初の移動単位ｓを１／４とし、上記（１）の分割位置の変更で変更可能な分割開始点がなくなった場合には、移動単位ｓを２分の１にし、分割位置を入力された稜線列の最初の始点へ戻し、以降の分割位置の変更は上記（１）を用いる。
【００３５】
例えば、図８において、稜線数ｒ＝８、分割数ｄ＝２、移動単位ｓ＝１／４のときには、
０＜ｐ［８・１／４］＜８／２
を満たすｐは、ｐ＝１であり、分割位置を、入力された頂点Ｖ０から始めて、頂点Ｖ２と変更して、それぞれ稜線列を２分割する。
また、図８において、稜線数ｒ＝８、分割数ｄ＝２、移動単位ｓ＝１／８のときには、
０＜ｐ［８・１／８］＜８／２
を満たすｐは、ｐ＝１または３であり、分割位置を、入力された頂点Ｖ０から始めて、頂点Ｖ１，Ｖ３と変更して、それぞれ稜線列を２分割する。
【００３６】
ここで、稜線数ｒと移動単位ｓとの関係が　ｒｓ＜１　のときには、予めすべての稜線を分割してｒｓ≧１となるような稜線列に変換してから、分割位置の変更処理を行う。
例えば、図２では稜線数がｒ＝４であるから、移動単位をｓ＝１／８とすると、ｒｓ＜１となるので、稜線列の各稜線をそれぞれ２分割して、稜線数ｒ＝８の稜線列を作ってから分割位置を決定する。
【００３７】
以上のように構成することによって、始点と終点が一致しないような通常のフィレット面または角落とし面の埋め込み処理を用いて、始点と終点が一致する稜線列に対しても埋め込み処理ができるようになる。また、ＣＡＤシステムの使用者は、埋め込み位置の指定を試行錯誤することがなくなり、設計効率が向上する。
【００３８】
図９は、本発明の三次元形状作成装置の処理手順を示すフローチャートである。この処理手順を、図２に示した形状モデルとして生成した立体の角部に図３に示すようなフィレット面を埋め込むものとして説明する。
【００３９】
ＣＡＤシステムの使用者は、表示装置４０に表示された形状モデルに対して、入力装置３０（例えば、マウス等）によって、面を埋め込む位置の稜線列と丸め半径、およびフィレット面または角落とし面のいずれの埋め込み面とするかを指定する。
三次元形状作成装置１０は、この指定された稜線列、丸め半径および埋め込む面の種類を入力し、三次元形状ＤＢ２０を参照することによって、入力された稜線列の位相および幾何形状のデータを抽出する（ステップＳ１）。
図２では、埋め込む面の種類はフィレット面、埋め込む位置はそのフィレット面を作成する角部を形成する曲面対の共通の稜線列｛Ｅ０，Ｅ１，Ｅ２，Ｅ３｝とし、フィレット面を作成する円弧の丸め半径が入力される。このとき、稜線列の始点は、最初の稜線Ｅ０の頂点Ｖ０である。
【００４０】
次に、入力した稜線列の始点と終点が一致しているか否かを判定する（ステップＳ２）。一致していない場合（ステップＳ２のＮＯ）、従来技術によって埋め込み処理を行って（ステップＳ３）、処理を終了する。
一方、一致している場合には（ステップＳ２のＹＥＳ）、本発明による埋め込み処理を行うものと判断して、ステップＳ４乃至Ｓ１０の処理を行う。
【００４１】
まず、分割位置の初期値を入力した稜線列の始点（図２では頂点Ｖ０）、移動単位の初期値を１／４に設定する（ステップＳ４）。
【００４２】
設定された分割位置から開始して、分割数分の稜線列となるように分割する（ステップＳ５）。
稜線列をｄ個に分割する方法としては、指定された分割位置から終点までに存在する（稜線数／ｄ）本数分一定方向に進んだ位置を新たな終点とし、この新たな終点を始点として次の新たな終点を設定する。これを分割数ｄ回だけ繰り返して、分割位置と終点間の稜線列をｄ個の稜線列に分割する。
【００４３】
例えば、２分割の場合、図４において、稜線列｛Ｅ０，Ｅ１，Ｅ２，Ｅ３｝の始点（頂点Ｖ０）と終点（頂点Ｖ０）が一致しているので、図５に示すように、始点（終点）となる頂点Ｖ０から数えて、稜線列を構成する稜線数を２で割った本数分（２本）一定方向に進んだ位置の稜線の終点を新たな終点とし、稜線列を２つの稜線列｛Ｅ０，Ｅ１｝と｛Ｅ２，Ｅ３｝に分割する。
【００４４】
この分割されたそれぞれの稜線列に対して、指定された面の種類の埋め込み処理を従来技術によって処理する（ステップＳ６）。
図６は、図２の立体の稜線列を２分割したうちの稜線列｛Ｅ０，Ｅ１｝に対してフィレット面の埋め込み処理を実施した結果である。
【００４５】
次に、分割された稜線列に対して埋め込みが成功したか否かを判断する（ステップＳ７）。
この判断は、埋め込まれたフィレット面または角落とし面のすべての継ぎ目において、埋め込まれた面が接平面連続である場合に埋め込みが成功したと判断する。成功した場合には（ステップＳ７のＹＥＳ）、処理を終了する。
【００４６】
一方、埋め込みが不成功であった場合には（ステップＳ７のＮＯ）、すべての分割方法を試したかを判定し（ステップＳ８）、すべての分割方法を試しても埋め込みが成功しない場合には、「埋め込み失敗」を表示装置４０等へ表示して使用者に通知し（ステップＳ１０）、処理を終了する。
すべての分割方法を試したかどうかの判定は、予め設定した移動単位（Ｓ）に達したかどうかで行う。なお、予め設定した移動単位（Ｓ）は、ＣＡＤシステムを実行する装置の処理能力に応じて、Ｓ＝１／８，１／１６，１／３２等のいずれかに設定する。
【００４７】
一方、まだすべての分割方法を試していなかった場合（ステップＳ８のＮＯ）、分割位置変更部１４で述べたように分割位置と移動単位を変更して（ステップＳ９）、ステップＳ５から埋め込み処理を行わせて、試行錯誤的に埋め込み処理を実行させる。
【００４８】
さらに、本発明は上述した実施形態のみに限定されたものではない。上述した実施形態の三次元形状作成装置を構成する各機能をそれぞれプログラム化し、あらかじめＣＤ−ＲＯＭ等の記録媒体に書き込んでおき、このＣＤ−ＲＯＭをＣＤ−ＲＯＭドライブのような媒体駆動装置を搭載したコンピュータに装着して、これらのプログラムをコンピュータのメモリあるいは記憶装置に格納し、それを実行することによって、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読出されたプログラム自体が上述した実施形態の機能を実現することになり、そのプログラムおよびそのプログラムを記録した記録媒体も本発明を構成することになる。
【００４９】
なお、記録媒体としては半導体媒体（例えば、ＲＯＭ、不揮発性メモリカード等）、光媒体（例えば、ＤＶＤ、ＭＯ、ＭＤ、ＣＤ−Ｒ等）、磁気媒体（例えば、磁気テープ、フレキシブルディスク等）のいずれであってもよい。
【００５０】
また、ロードしたプログラムを実行することにより上述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、オペレーティングシステム等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００５１】
さらに、上述したプログラムが、機能拡張ボードや機能拡張ユニットに備わるメモリにロードされ、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって、上述した実施形態の機能が実現される場合も含まれる。
【００５２】
また、上述したプログラムをサーバコンピュータの磁気ディスク等の記憶装置に格納しておき、インターネット等の通信網で接続されたユーザのコンピュータからダウンロード等の形式で頒布する場合、このサーバコンピュータの記憶装置も本発明の記録媒体に含まれる。
【００５３】
【発明の効果】
以上説明したように本発明によれば、始点と終点が一致しないような通常のフィレット面または角落とし面の埋め込み処理を用いて、始点と終点が一致する稜線列に対しても埋め込み処理ができるようになる。また、ＣＡＤシステムの使用者は、埋め込み位置の指定を試行錯誤することがなくなり、設計効率が向上する。
【図面の簡単な説明】
【図１】本発明の三次元形状作成装置の構成を示すブロック図である。
【図２】変形処理前の形状例である。
【図３】図２の形状例にフィレット面を埋め込んだ後の形状例である。
【図４】分割前の稜線列例である。
【図５】図４の稜線列に対して２分割した稜線列例である。
【図６】図２の立体の稜線列を２分割したうちのひとつの稜線列に対してフィレット面を埋め込んだ形状例である。
【図７】移動単位が１／４のとき、次の分割位置を説明する図である。
【図８】移動単位が１／４および１／８のとき、次の分割位置を説明する図である。
【図９】本発明の三次元形状作成装置の処理手順を表すフローチャートである。
【図１０】従来のＣＡＤシステムの構成を示すブロック図である。
【符号の説明】
１０…三次元形状作成装置、１１…埋込位置入力部、１２…埋込制御部、１３…埋込位置分割部、１４…分割位置変更部、１５…形状処理部、２０…三次元形状ＤＢ、３０…入力装置、４０…表示装置、１０１…ＣＰＵ、１０２…メモリ、１０３…キーボード、１０４…プリンタ、１０５…ＣＲＴ、１０６…マウス、１０７…記憶装置、１０８…バスライン。
【図１】
2004030431.tif 000003
【図２】
2004030431.tif 000004
【図３】
2004030431.tif 000005
【図４】
2004030431.tif 000006
【図５】
2004030431.tif 000007
【図６】
2004030431.tif 000008
【図７】
2004030431.tif 000009
【図８】
2004030431.tif 000010
【図９】
2004030431.tif 000011
【図１０】
2004030431.tif 000012