JP4459745B2 - Method and program for calculating fillet surface - Google Patents
Method and program for calculating fillet surface Download PDFInfo
- Publication number
- JP4459745B2 JP4459745B2 JP2004214565A JP2004214565A JP4459745B2 JP 4459745 B2 JP4459745 B2 JP 4459745B2 JP 2004214565 A JP2004214565 A JP 2004214565A JP 2004214565 A JP2004214565 A JP 2004214565A JP 4459745 B2 JP4459745 B2 JP 4459745B2
- Authority
- JP
- Japan
- Prior art keywords
- intersection
- line
- calculating
- circle
- fillet
- 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.)
- Expired - Fee Related
Links
Images
Description
この発明は、コンピュータにより実施される、3次元形状モデルにおいてフィレット面を算出する方法およびそのプログラムに関する。 The present invention relates to a method for calculating a fillet plane in a computer-implemented three-dimensional shape model and a program thereof.
従来から、コンピュータを用いたCADシステムにおいて、3次元形状モデルの生成および加工などの処理が行われている。このようなシステムにおいて、任意の形状を有する2つの面を滑らかに接続する面、すなわちフィレット面の作成を要する場合がある。 Conventionally, processing such as generation and processing of a three-dimensional shape model has been performed in a CAD system using a computer. In such a system, it may be necessary to create a surface that smoothly connects two surfaces having an arbitrary shape, that is, a fillet surface.
下記の特許文献1に示される方法によれば、第1の面および第2の面の交線(以下、稜線と呼ぶ)を垂直に切断する平面を複数求める。該切断平面と第1の面との第1の交線、および該切断平面と第2の面との第2の交線を、それぞれ、該切断平面上において、法線方向にオフセットする。2つのオフセット曲線の交点を中心として、第1の交線上の点および第2の交線上の点を両端とする円弧を描く。すべての切断平面について、該円弧を生成する。該生成された円弧の端点を接続して、フィレット面を生成する。
According to the method disclosed in
下記の特許文献2には、上記の円弧の半径(以下、丸め半径と呼ぶ)を徐々に変化させることができるフィレット面作成手法が記載されている。
下記の特許文献3には、フィレット面を生成する際、丸め半径および稜線などの生成パラメータの指定を可能にする手法が記載されている。生成パラメータの変更が行われたならば、該変更された生成パラメータに従って、フィレット面を再生成し表示する。
下記の特許文献4には、所定の丸め半径によるフィレット面の一部が第1および第2の面の外側にはみ出す場合、該2つの面の少なくとも一方の一部を延長した補助面を用いて、該2つの面からはみ出す仮フィレット面を生成することが記載されている。仮フィレット面が該2つの面からはみ出す位置において該仮フィレット面を切断し、該2つの面に収まるフィレット面を生成する。
フィレット面は、従来の手法に示されるように、2つの面を、所定の丸め半径Rで滑らかに接続する。フィレット面の設計者は、該丸め半径Rを指定することにより、フィレット面の形状を特徴づける。具体的には、フィレット面のカーブ度合いが、丸め半径Rにより特徴づけられる。 The fillet surface smoothly connects the two surfaces with a predetermined rounding radius R as shown in the conventional technique. The fillet surface designer characterizes the shape of the fillet surface by designating the rounding radius R. Specifically, the curve degree of the fillet surface is characterized by the rounding radius R.
従来の手法によると、丸め半径Rのみに基づいてフィレット面の形状を特徴づけるので、フィレット面が該2つの面に接する箇所において、滑らかさに欠けることがあった。また、丸め半径Rにより、フィレット面の頂点の位置が定まるが、デザイン上の観点から、該頂点の位置を維持することが望まれる場合がある。 According to the conventional method, since the shape of the fillet surface is characterized based only on the rounding radius R, there are cases where the fillet surface lacks smoothness at the point where the two surfaces are in contact with each other. Further, the position of the vertex of the fillet surface is determined by the rounding radius R, but it may be desired to maintain the position of the vertex from the viewpoint of design.
この発明は、丸め半径Rに従うフィレット面の頂点の位置を維持しつつ、フィレット面の2つの面に対する接触がより滑らかになるようフィレット面を作成することを目的とする。さらに、この発明は、フィレット面の2つの面に対する接触の滑らかさを、設計者が容易に調整しながら、フィレット面を作成することができるようにすることを目的とする。 An object of the present invention is to create a fillet surface so that contact with two surfaces of the fillet surface becomes smoother while maintaining the position of the vertex of the fillet surface according to the rounding radius R. Furthermore, an object of the present invention is to enable a designer to create a fillet surface while easily adjusting the smoothness of contact between two surfaces of the fillet surface.
この発明の一形態によると、第1の面および第2の面をつなぐフィレット面を算出する方法は、3次元形状データを処理するコンピュータシステムの処理装置により実行され、
(a)第1の面(10)および第2の面(11)の稜線(12)を定義するステップと、
(b)稜線上の複数の箇所において、該稜線を垂直に横切る法平面(14)を算出するステップと、
(c)法平面と第1の面の第1の交線(A)および法平面と第2の面の第2の交線(B)を算出するステップと、
(d)コンピュータシステムの入力装置を介してユーザにより入力された半径RおよびR止まり位置の後退量を受け取り、該コンピュータシステムの記憶装置に記憶するステップと、
(e)記憶装置から半径Rを抽出し、該半径Rを持ち、かつ第1の交線および第2の交線に接する第1の円(21)を算出するステップと、
(f)記憶装置からR止まり位置の後退量(X)を抽出し、第1の円(21)と第1の交線(A)の第1の接点(R1)、および第1の円(21)と第2の交線(B)の第2の接点(R1’)を、該R止まり位置の後退量に従って稜線から離れる方向に後退させた第1の後退位置(R2)および第2の後退位置(R2’)を、それぞれ算出するステップと、
(g)第1の接点(R1)における第1の円の接線(22)と、第2の接点(R1’)における第1の円の接線(23)との交点(Q)を算出し、該交点と、第1の円の中心(O)とを結ぶ線を中心線として算出するステップと、
(h)中心線と第1の円との第1の交点(P)を算出するステップと、
(i)第1の交点(P)、第1の後退位置(R2)および第2の後退位置(R2’)を通る曲線であって、第1の後退位置(R2)において第1の交線(A)に対し接線連続となり、かつ第2の後退位置(R2’)において第2の交線(B)に対し接線連続となる曲線を、フィレット曲線(15)として算出するステップと、
(j)前記複数の法平面上で求められたフィレット曲線に基づいて、前記フィレット面を算出するステップと、
を含む。
According to one aspect of the present invention, a method for calculating a fillet surface connecting a first surface and a second surface is executed by a processing device of a computer system that processes three-dimensional shape data,
(A) defining the ridgeline (12) of the first surface (10) and the second surface (11);
(B) calculating a normal plane (14) perpendicularly crossing the ridge line at a plurality of locations on the ridge line;
(C) calculating a first intersection line (A) between the normal plane and the first surface and a second intersection line (B) between the normal plane and the second surface;
(D) receiving the radius R and the retraction amount of the R stop position input by the user via the input device of the computer system, and storing them in the storage device of the computer system;
(E) extracting a radius R from the storage device and calculating a first circle (21) having the radius R and in contact with the first intersection line and the second intersection line;
(F) The retraction amount (X) of the R stop position is extracted from the storage device, and the first circle (21) and the first contact (R1) of the first intersection line (A) and the first circle ( 21) and the second contact point (R1 ′) of the second intersecting line (B), the first retracted position (R2) and the second retracted position in which the second contact point (R1 ′) is retracted in the direction away from the ridge line according to the retract amount of the R stop position. Calculating a reverse position (R2 ′);
(G) calculating the intersection (Q) of the tangent (22) of the first circle at the first contact (R1) and the tangent (23) of the first circle at the second contact (R1 ′); Calculating a line connecting the intersection and the center (O) of the first circle as a center line;
(H) calculating a first intersection (P) between the center line and the first circle;
(I) A curve passing through the first intersection (P), the first retracted position (R2), and the second retracted position (R2 ′), and the first intersecting line at the first retracted position (R2) Calculating a fillet curve (15) as a fillet curve (15), which is tangent continuous to (A) and tangent continuous to the second intersection line (B) at the second retracted position (R2 ′);
(J) calculating the fillet surface based on fillet curves obtained on the plurality of normal planes;
including.
また、他の一形態では、この発明は、コンピュータに上記手法を実現させるコンピュータ・プログラムである。 In another aspect, the present invention is a computer program that causes a computer to implement the above-described method.
この発明によれば、R止まり位置(第1の円と、第1および第2の交線との接点)を後退させた点(第1および第2の後退位置)を通るようフィレット曲線が描かれるので、フィレット面の第1および第2の面に対する接触を、より滑らかにすることができる。第1および第2の後退位置において、第1および第2の交線に対して接線連続となるようフィレット曲線が生成されるので、フィレット面の第1および第2の面への接触部分における不連続性を回避することができる。また、R頂点位置(第1の円と中心線との交点)を通るようフィレット曲線が描かれるので、該R頂点の位置がフィレット面に維持される。R止まり位置の後退量を、ユーザ入力により指定することができるので、フィレット面の頂点の位置を維持しながら、フィレット面の滑らかさを調整して、所望の形状のフィレット面を作成することができる。 According to the present invention, the fillet curve is drawn so as to pass through the point (first and second retracted positions) where the R stop position (contact point between the first circle and the first and second intersecting lines) is retracted. Therefore, the contact with respect to the 1st and 2nd surface of a fillet surface can be made smoother. At the first and second retracted positions, the fillet curve is generated so as to be tangential to the first and second intersecting lines, so that the fillet surface is not in contact with the first and second surfaces. Continuity can be avoided. In addition, since the fillet curve is drawn so as to pass through the R vertex position (intersection of the first circle and the center line), the position of the R vertex is maintained on the fillet plane. Since the retraction amount of the R stop position can be designated by user input, the fillet surface having a desired shape can be created by adjusting the smoothness of the fillet surface while maintaining the position of the vertex of the fillet surface. it can.
次に図面を参照してこの発明の実施の形態を説明する。図1は、本発明の一実施例に従う、3次元形状処理のためのコンピュータシステム1のブロック図を示す。記憶装置3には、3次元形状モデルに関するデータ、および該データを処理するためのプログラムが記憶されている。処理装置2はCPU(プロセッサ)を備えており、記憶装置3に記憶されたプログラムに従って、記憶装置3に記憶されたデータを用い、3次元形状モデルに関する様々な処理(生成、加工等)を実行する。記憶装置3は、ROM(読み出し専用メモリ)およびRAM(ランダムアクセスメモリ)などのメモリ、およびハードディスク装置などの補助記憶装置を含むことができる。
Next, an embodiment of the present invention will be described with reference to the drawings. FIG. 1 shows a block diagram of a
入力装置4は、キーボードおよびマウスを備えることができる。入力装置4は、ユーザに対する入力インターフェースを提供する。入力装置4を介して、ユーザは、該3次元形状処理システムにデータおよびコマンド(命令)を入力することができる。処理装置2は、入力装置4を介して入力されたデータおよびコマンドを受け取り、3次元形状モデルに関する様々な処理を実行する。
The input device 4 can include a keyboard and a mouse. The input device 4 provides an input interface for the user. The user can input data and commands (commands) to the three-dimensional shape processing system via the input device 4. The
表示装置5は、CRTなどのディスプレイを備え、処理装置2によって処理された結果、および入力装置4を介して入力されたデータなどを、ユーザに表示することができる。ユーザは、表示装置5上に表示された3次元形状モデルを参照しながら、該3次元形状モデルに関する様々な処理を処理装置2に実行させることができる。
The
図示されていないが、プリンタなどの他の周辺装置を3次元形状処理システム1に含めることができる。また、3次元形状処理システム1をネットワーク上のサーバに設け、該システム1を、遠隔のコンピュータにより該ネットワークを介してアクセス可能なように構成することができる。遠隔のコンピュータは、該システム1から所望の3次元形状モデルデータを抽出して、自身のコンピュータ上で、それらを処理することができる。
Although not shown, other peripheral devices such as a printer can be included in the three-dimensional
図2は、本願発明に従うフィレット面を算出するプロセスのフローチャートを示す。該プロセスは、記憶装置3に記憶されたプログラムを処理装置2が実行することにより実現される。図3は、該プロセスに従って作成されるフィレット面の一例を示す。図3を参照しながら、図2のプロセスを説明する。
FIG. 2 shows a flowchart of a process for calculating a fillet surface according to the present invention. This process is realized by the
記憶装置3には、3次元形状モデルのデータが格納されている。ユーザは、これらの3次元形状モデルのデータを、表示装置5に表示させることができる。ユーザは、入力装置4を介して、表示装置5上に表示された3次元形状モデルのデータから、第1の面10および第2の面11を選択することができる。図3の(a)に、一例として、該2つの面が示されている。図では、第1および第2の面は平面のように示されているが、これらは曲面でもよい。ステップS1において、処理装置2は、入力装置4を介して入力された、該第1の面10および第2の面11の選択を受け取る。処理装置2は、選択された2つの面を、表示装置5上に表示させることができる。
The
ユーザは、表示装置5上に表示された第1の面10および第2の面11を参照しながら、入力装置4を介して、フィレット面を作成する方向を指定することができる。図3の(a)の例では、フィレット面を作成することができる方向として、D1からD4の4つの方向がある。この実施例では、方向D1にフィレット面を作成する。処理装置2は、ステップS2において、ユーザにより指定された方向D1を受け取り、フィレット面作成方向D1を、第1および第2の面10および11に関連づけて記憶装置3に記憶する。
The user can specify the direction in which the fillet surface is created via the input device 4 while referring to the
ユーザは、表示装置5上に表示された第1の面10および第2の面11を参照しながら、入力装置4を介して、稜線12を指定することができる。たとえばマウスによるクリックにより、稜線となるラインを指定することができる。稜線12は、第1の面10と第2の面11とが交差する線を規定する。第1の面10と第2の面11が実際には交差していない場合には、第1の面10を延長した面と、第2の面11の延長した面とが交差する線を、稜線12として指定することができる。また、ユーザが、表示装置5上に表示された第1の面10および第2の面11の位置を調整しながら、稜線12の位置を調整してもよい。処理装置2は、指定された稜線12を表す式を、第1および第2の面10および11に関連づけて記憶装置3に記憶する。
The user can specify the
ステップS4において、処理装置2は、図3の(a)の点13a、13b、、、に示されるように、稜線12を所定間隔に区切る。それぞれの点13a、13b、、、は、その位置と共に記憶装置3に記憶される。ステップS5において、処理装置2は、それぞれの点13a、13b、、、において、稜線12を垂直方向に切断する平面、すなわち法平面を定義する。図3の(b)には、一例として、点13aにおける法平面14が示されている。定義された法平面を表す式は、それぞれの点13a、13b、、、に関連づけられて、記憶装置3に記憶される。
In step S <b> 4, the
ステップS6において、処理装置2は、法平面14と第1の面10との交線Aを算出し、さらに、法平面14と第2の面11との交線Bを算出する。交線AおよびBを表す式は、法平面14と関連づけられて、記憶装置3に記憶される。
In step S <b> 6, the
ステップS7において、処理装置2は、図3の(b)に示されるような、法平面14上で、交線AおよびBを接続するフィレット曲線15を算出するルーチンを実行する。このルーチンの詳細については、後述される。
In step S <b> 7, the
ステップS8において、すべての法平面においてフィレット曲線が算出されたかどうかを判断する。最初にこのステップを実行するときは、この判断がNoであるので、ステップS7に戻り、次の法平面(点13bに関連づけられた法平面)について、フィレット曲線を算出するルーチンを実行する。
In step S8, it is determined whether fillet curves have been calculated in all normal planes. When this step is executed for the first time, since this determination is No, the routine returns to step S7, and a routine for calculating a fillet curve is executed for the next normal plane (the normal plane associated with the
すべての法平面についてフィレット曲線が算出されると、ステップS8の判断がYesになる。ステップS9に進み、すべての法平面についてのフィレット曲線を通るよう、フィレット面16(網掛けで示されている)を求める。 When fillet curves are calculated for all normal planes, the determination in step S8 is Yes. Proceeding to step S9, a fillet surface 16 (shown by shading) is obtained so as to pass through the fillet curves for all normal planes.
本願発明は、フィレット曲線を算出する新たな手法を提案する。本願発明に従う手法は、図2のステップS7のルーチンで実行される。 The present invention proposes a new method for calculating a fillet curve. The method according to the present invention is executed in the routine of step S7 in FIG.
まず、発明の理解を助けるため、図4を参照して、本願発明の原理を説明する。図には、本願発明の一実施例に従って生成されたフィレット曲線15が示されている。
First, in order to help understanding of the invention, the principle of the present invention will be described with reference to FIG. The figure shows a
フィレット曲線を生成する際に、2つのパラメータが、ユーザにより指定されることができる。第1のパラメータは、R値である。R値は、交線AおよびBに接する円21の半径を示す。R値を指定することにより、交線AおよびBに接する円21が一義的に定まる。
In generating the fillet curve, two parameters can be specified by the user. The first parameter is the R value. The R value indicates the radius of the
第2のパラメータは、R止まり位置の後退量である。R止まり位置は、円21の交線AおよびBの接点であり、R1およびR1’でそれぞれ示されている。R止まり位置R1およびR1’における円21の接線が、22および23でそれぞれ表されている。R止まり位置の後退量は、R止まり位置R1およびR1’を、接線22および23に沿って、それぞれ、矢印方向26(稜線12から離れる方向)に後退させる量を示す。後退させることにより得られる点R3およびR3’から、交線AおよびBに垂線をおろし、該垂線と交線AおよびBとの交点が、R2およびR2’でそれぞれ表されている。
The second parameter is the reverse amount of the R stop position. The R stop position is the contact point of the intersection lines A and B of the
この実施例では、接線22および23の交点Qを求め、該交点QとR止まり位置R1との距離に対する割合で、後退量を指定する。後退量をXとすると、以下の式(1)が成立する。
In this embodiment, the intersection point Q of the
交点Qと点R3間の距離:交点Qと点R1間の距離=X:1
ただし、X>1 (1)
点R3’についても、同様の式が成立する。
Distance between intersection Q and point R3: distance between intersection Q and point R1 = X: 1
However, X> 1 (1)
The same formula holds for the point R3 ′.
点Pは、円21と直線OQ(これは、円21の中心Oと交点Qとを結ぶ線)との交点であり、R頂点位置を示す。フィレット曲線15は、点R2、点P、および点R2’を通り、かつ交線AおよびBに対して接線連続となるように描かれる。より具体的には、点R2、点Pおよび点R2’を通り、点R2および点R2’の位置で交線AおよびBにそれぞれ接線連続となる3次のNURBS曲線が描かれる。接線連続であるので、フィレット曲線15と交線Aとは、点R2において位置的に連続しており、かつ点R2における接線方向が一致している。また、フィレット曲線15と交線Bとは、点R2’において位置的に連続しており、かつ点R2’における接線方向が一致している。
A point P is an intersection of the
従来、フィレット曲線は、R値のみに基づいて、その形状、特にその滑らかさが特徴づけられていた。R値のみに基づくので、フィレット曲線と、第1および第2の面10および11との接続部分における滑らかさが十分でない場合があった。また、R値のみでフィレット曲線を特徴づけようとすると、生成されるフィレット曲線の形状が限定される。前述したように、たとえばデザイン上の観点から、R頂点位置Pの位置が維持されるようにフィレット曲線を生成することが望まれることがある。
Conventionally, the fillet curve has been characterized by its shape, particularly its smoothness, based solely on the R value. Since it is based only on the R value, the smoothness at the connection between the fillet curve and the first and
本願発明によれば、点R2およびR2’は、円21の止まり位置R1およびR1’をそれぞれ後退させたものなので、交線AおよびBに対して、フィレット曲線15をより滑らかに接触させることができる。フィレット曲線15が、交線A、Bに対して接線連続であるよう生成されるので、フィレット曲線15を、交線AおよびBに対してより滑らかに接触させることができる。R頂点位置Pを通るようにフィレット曲線が描かれるので、R頂点の位置が、フィレット曲線に維持される。また、R止まり位置の後退量は、ユーザが所望の値に設定することができる。この値を調整することにより、R頂点の位置を維持しながら、フィレット曲線15のリブ(カーブ)を、様々な形状に調整することができる。
According to the present invention, since the points R2 and R2 ′ are obtained by retreating the stop positions R1 and R1 ′ of the
図5は、図2のステップS7で実施される、フィレット曲線を算出するプロセスのフローチャートである。該プロセスは、記憶装置3に記憶されたプログラムに従い、処理装置2によって実施される。該プロセスを、図6〜図8を参照しつつ説明する。
FIG. 5 is a flowchart of a process for calculating a fillet curve, which is performed in step S7 of FIG. The process is performed by the
ユーザは、表示装置5上に、パラメータ入力のための画面を表示させ、入力装置4を介して、フィレット曲線に関するパラメータを入力することができる。図6は、このような画面の一例を示す。入力されるパラメータは、前述したように、R値、およびR止まり位置の後退量である。
The user can display a parameter input screen on the
符号101に示されるボックスに入力されるのが、円21の半径Rを示すR値である。符号102に示されるボックスに入力されるのが、上記のR止まり位置の後退量Xをパーセンテージで表した値である。後退させない時、後退量は100%である。後退量の上限は、200%と示されているが、これは一例であり、他の値を設定することもできる。
An R value indicating the radius R of the
ユーザによるOKボタンのクリックに応答して、処理装置2は、これらの入力されたパラメータを受け取り、記憶装置3に記憶する。
In response to the user clicking the OK button, the
ステップS22において、処理装置2は、入力パラメータとして記憶されたR値を記憶装置3から読み出し、図7の(a)に示されるように、交線AおよびBを、法平面14上で法線方向に該R値だけオフセットする。オフセット曲線A’およびB’の交点Oを算出し、該交点Oを中心とした半径Rの円21を表す式を算出する。円21における交線AおよびB上の点R1およびR1’の位置(R止まり位置)を算出する。これらの算出された円21の式、点R1およびR1’の位置は、記憶装置3に記憶される。
In step S22, the
ステップS23において、図7の(b)に示されるように、処理装置2は、R止まり位置R1およびR1’における接線22および23を表す式を算出し、該接線22および23の交点Qを求める。こうして、円21の中心Oと交点Qとを結ぶ直線OQを表す式を算出する。
In step S23, as shown in FIG. 7B, the
ステップS24において、円21を表す式と、直線OQを表す式とに基づいて、円21と直線OQの交点P(R頂点位置)を算出する。
In step S24, an intersection point P (R vertex position) between the
ステップS25において、処理装置2は、記憶装置3から、ユーザによって指定されたR止まり位置の後退量パラメータXを抽出し、以下の式(2)のように、点R1を後退させる距離を求める。
In step S25, the
後退距離(点R1と点R3間距離)=(点Qと点R1間の距離)×(X−1)
(2)
図8の(a)に示すように、交線Aに沿って、R止まり位置R1を、該算出した後退距離だけ後退させ、該後退により得られる点R3の位置を算出する。点R3から交線Aに垂線をおろし、該垂線と交線Aの交点R2を求める。点R2の位置が、記憶装置3に記憶される。
Retreat distance (distance between point R1 and point R3) = (distance between point Q and point R1) × (X−1)
(2)
As shown in FIG. 8A, the R stop position R1 is moved backward along the intersection line A by the calculated backward movement distance, and the position of the point R3 obtained by the backward movement is calculated. A perpendicular line is drawn from the point R3 to the intersection line A, and an intersection point R2 between the perpendicular line and the intersection line A is obtained. The position of the point R2 is stored in the
ステップS26において、処理装置2は、図8の(a)に示すように、交線Bに沿って、R止まり位置R1’を、該算出した後退距離だけ後退させ、該後退により得られる点R3’の位置を算出する。点R3’から交線Bに垂線をおろし、該垂線と交線Bの交点R2’を求める。点R2’の位置は、記憶装置3に記憶される。
In step S26, the
ステップ27において、図8の(b)に示すように、点P、点R2および点R2’を通り、点R2において交線Aと接線連続となり、かつ点R2’において交線Bと接線連続となる曲線を、フィレット曲線15として求める。
In step 27, as shown in FIG. 8 (b), passing through point P, point R2, and point R2 ′, tangent continuation with intersection A at point R2, and continuation tangent with intersection B at point R2 ′ This curve is obtained as the
フィレット曲線15を参照すると、円21のR頂点Pの位置は、フィレット曲線15において維持されている。また、R止まり位置R1およびR1’を後退させた点R2およびR2’において、第1および第2の交線AおよびBに接するので、フィレット曲線15から交線AおよびBに対する傾きがより滑らかになる。点R2およびR2’において、交線AおよびBに接線連続となるフィレット曲線15が描かれるので、フィレット曲線15と交線A、Bに対する不連続性を回避することができる。R止まり位置の後退量を調整しながら、フィレット曲線の滑らかさを細かく調整することができる。
Referring to the
1 3次元形状システム
2 処理装置
3 記憶装置
4 入力装置
5 表示装置
DESCRIPTION OF
Claims (2)
(a)前記第1の面および第2の面の稜線を定義するステップと、
(b)前記稜線上の複数の箇所において、該稜線を垂直に横切る法平面を算出するステップと、
(c)前記法平面と前記第1の面の第1の交線および前記法平面と前記第2の面の第2の交線を算出するステップと、
(d)前記コンピュータシステムの入力装置を介してユーザにより入力された半径RおよびR止まり位置の後退量を受け取り、該コンピュータシステムの記憶装置に記憶するステップと、
(e)前記記憶装置から前記半径Rを抽出し、該半径Rを持ち、かつ前記第1の交線および第2の交線に接する第1の円を算出するステップと、
(f)前記記憶装置から前記R止まり位置の後退量を抽出し、前記第1の円と前記第1の交線の第1の接点、および該第1の円と前記第2の交線の第2の接点を、該R止まり位置の後退量に従って前記稜線から離れる方向に後退させた第1の後退位置および第2の後退位置を、それぞれ算出するステップと、
(g)前記第1の接点における前記第1の円の接線と、前記第2の接点における前記第1の円の接線との交点を算出し、該交点と、前記第1の円の中心とを結ぶ線を中心線として算出するステップと、
(h)前記中心線と前記第1の円との第1の交点を算出するステップと、
(i)前記第1の交点、前記第1の後退位置および前記第2の後退位置を通る曲線であって、該第1の後退位置において前記第1の交線に対し接線連続となり、かつ該第2の後退位置において前記第2の交線に対し接線連続となる曲線を、フィレット曲線として算出するステップと、
(j)前記複数の法平面上で求められたフィレット曲線に基づいて、前記フィレット面を算出するステップと、
を含む方法。 A method of calculating a fillet surface connecting a first surface and a second surface, which is executed by a processing device of a computer system that processes three-dimensional shape data,
(A) defining ridge lines of the first surface and the second surface;
(B) calculating a normal plane perpendicularly crossing the ridge line at a plurality of locations on the ridge line;
(C) calculating a first intersection line between the normal plane and the first surface and a second intersection line between the normal plane and the second surface;
(D) receiving the radius R and the retraction amount of the R stop position inputted by the user via the input device of the computer system, and storing them in the storage device of the computer system;
(E) extracting the radius R from the storage device and calculating a first circle having the radius R and in contact with the first intersection line and the second intersection line;
(F) Extracting the retraction amount of the R stop position from the storage device, the first contact point of the first circle and the first intersection line, and the first circle and the second intersection line Calculating a first retracted position and a second retracted position in which the second contact is retracted in a direction away from the ridge line according to the retract amount of the R stop position;
(G) calculating an intersection between the tangent of the first circle at the first contact and the tangent of the first circle at the second contact; and the intersection and the center of the first circle Calculating a line connecting the two as a center line;
(H) calculating a first intersection of the center line and the first circle;
(I) a curve that passes through the first intersection, the first retracted position, and the second retracted position, and is tangentially continuous to the first intersecting line at the first retracted position; and Calculating a curve that is tangential to the second line of intersection at a second retracted position as a fillet curve;
(J) calculating the fillet surface based on fillet curves obtained on the plurality of normal planes;
Including methods.
(a)前記第1の面および第2の面の稜線を定義するステップと、
(b)前記稜線上の複数の箇所において、該稜線を垂直に横切る法平面を算出するステップと、
(c)前記法平面と前記第1の面の第1の交線および前記法平面と前記第2の面の第2の交線を算出するステップと、
(d)前記コンピュータシステムの入力装置を介してユーザにより入力された半径RおよびR止まり位置の後退量を受け取り、該コンピュータシステムの記憶装置に記憶するステップと、
(e)前記記憶装置から前記半径Rを抽出し、該半径Rを持ち、かつ前記第1の交線および第2の交線に接する第1の円を算出するステップと、
(f)前記記憶装置から前記R止まり位置の後退量を抽出し、前記第1の円と前記第1の交線の第1の接点、および該第1の円と前記第2の交線の第2の接点を、該R止まり位置の後退量に従って前記稜線から離れる方向に後退させた第1の後退位置および第2の後退位置を、それぞれ算出するステップと、
(g)前記第1の接点における前記第1の円の接線と、前記第2の接点における前記第1の円の接線との交点を算出し、該交点と、前記第1の円の中心とを結ぶ線を中心線として算出するステップと、
(h)前記中心線と前記第1の円との第1の交点を算出するステップと、
(i)前記第1の交点、前記第1の後退位置および前記第2の後退位置を通る曲線であって、該第1の後退位置において前記第1の交線に対し接線連続となり、かつ該第2の後退位置において前記第2の交線に対し接線連続となる曲線を、フィレット曲線として算出するステップと、
(j)前記複数の法平面上で求められたフィレット曲線に基づいて、前記フィレット面を算出するステップと、
を実行させて、前記第1の面および第2の面をつなぐフィレット面を算出するための、プログラム。 In a computer that processes 3D shape data,
(A) defining ridge lines of the first surface and the second surface;
(B) calculating a normal plane perpendicularly crossing the ridge line at a plurality of locations on the ridge line;
(C) calculating a first intersection line between the normal plane and the first surface and a second intersection line between the normal plane and the second surface;
(D) receiving the radius R and the retraction amount of the R stop position inputted by the user via the input device of the computer system, and storing them in the storage device of the computer system;
(E) extracting the radius R from the storage device and calculating a first circle having the radius R and in contact with the first intersection line and the second intersection line;
(F) Extracting the retraction amount of the R stop position from the storage device, the first contact point of the first circle and the first intersection line, and the first circle and the second intersection line Calculating a first retracted position and a second retracted position in which the second contact is retracted in a direction away from the ridge line according to the retract amount of the R stop position;
(G) calculating an intersection between the tangent of the first circle at the first contact and the tangent of the first circle at the second contact; and the intersection and the center of the first circle Calculating a line connecting the two as a center line;
(H) calculating a first intersection of the center line and the first circle;
(I) a curve that passes through the first intersection, the first retracted position, and the second retracted position, and is tangentially continuous to the first intersecting line at the first retracted position; and Calculating a curve that is tangential to the second line of intersection at a second retracted position as a fillet curve;
(J) calculating the fillet surface based on a fillet curve obtained on the plurality of normal planes;
Is executed to calculate a fillet surface connecting the first surface and the second surface.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004214565A JP4459745B2 (en) | 2004-07-22 | 2004-07-22 | Method and program for calculating fillet surface |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004214565A JP4459745B2 (en) | 2004-07-22 | 2004-07-22 | Method and program for calculating fillet surface |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006039661A JP2006039661A (en) | 2006-02-09 |
JP4459745B2 true JP4459745B2 (en) | 2010-04-28 |
Family
ID=35904633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004214565A Expired - Fee Related JP4459745B2 (en) | 2004-07-22 | 2004-07-22 | Method and program for calculating fillet surface |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4459745B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5345957B2 (en) * | 2010-01-21 | 2013-11-20 | 本田技研工業株式会社 | Design support system and design support program |
-
2004
- 2004-07-22 JP JP2004214565A patent/JP4459745B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006039661A (en) | 2006-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2600315B1 (en) | Creating a surface from a plurality of 3D curves | |
JP4857012B2 (en) | Method for computer-aided design (CAD) of modeled objects having several faces | |
US7643026B2 (en) | NURBS surface deformation apparatus and the method using 3D target curve | |
JP4991424B2 (en) | How to generate a symmetric parametric surface for a specific symmetry operation | |
US9047704B2 (en) | Method for filleting 3D mesh edges by subivision | |
JP3574202B2 (en) | Graphic I / O device | |
KR100914218B1 (en) | System and method for calculating loft surfaces using ?d scan data | |
KR20110111259A (en) | Design of a part modeled by parallel geodesic curves | |
KR20130123336A (en) | Designing a 3d modeled object | |
US8525838B2 (en) | Associative fillet | |
JP2010277115A (en) | Harness verification device and harness verification program | |
JPH07306888A (en) | Method for execution of boolean operation regarding geometric graphic object in cad system | |
JP2007102595A (en) | Analysis mesh generation device | |
JP4459745B2 (en) | Method and program for calculating fillet surface | |
US20150206342A1 (en) | Methods and Systems for Generating Continuous Surfaces from Polygonal Data | |
JP6150805B2 (en) | Data processing apparatus, method executed by data processing apparatus, and non-volatile computer-readable medium in which instructions executable by data processing apparatus are encoded | |
JP2006039668A (en) | Method and program for calculating fillet surface | |
US8990050B2 (en) | Systems and methods of updating graphical objects | |
JP2007156604A (en) | Curved surface creation method, curved surface creation program and three-dimensional shape processor | |
JP2009237612A (en) | Program, apparatus and method for generating midplane mesh data | |
JP2007058748A (en) | Interpolation path generation method in nc processing of curved surface | |
JP4912756B2 (en) | Polygon data dividing method and polygon data dividing device | |
JP4237180B2 (en) | Unprocessed shape extraction device and extraction method | |
JP2007331037A (en) | Machining area setting method for die and its device | |
JP2006106938A (en) | Cad apparatus, method of creating cad drawing, cad drawing creating program and program medium recording the program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061129 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100201 |
|
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: 20100209 |
|
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: 20100210 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130219 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130219 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140219 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |