CAD/CAMを中心としたソフトウェアの企画・開発でお客様のニーズに合わせたコンピュータ活用を支援します。

研究室

HOME > 研究室 > 5.位相と幾何の調和

5.位相と幾何の調和

1 トレランス

 

2つのトレランスを区別して考えるとよいと思います。

1)幾何計算のためのトレランス

CAD内部では、曲線、曲面を対象に様々な幾何計算が行われています。例えば、「ある点から見て曲面上の一番近い点を求める」「2つの曲面の交差(曲線)を求める」といった計算があります。
CAD内部には、「これ以上小さな値は意味がない」という「長さ」があります。2点間の距離がこの長さより小さい場合、2つの点の座標値は(実数の有効桁の範囲で)区別されるかもしれませんが、2つの点は3次元空間で同じ場所を占有するとみなします。
いわゆる「同一点トレランス」と呼ばれる指標です。2曲面の交線は、この距離以下でそれぞれの曲面上に存在します。

 

2)位相維持のためのトレランス


Brepでは位相情報に従って、例えば隣接するFACE間では、FACEを表す曲面は交差していますし、EDGEを表す曲線は2つの曲面上に乗っています。残念ながら現実の問題として、このような曲線や曲面を定義、あるいは計算で求めることはできないのです。
妥協案として、「位相維持のための同一点トレランス(マージトレランス)」を用います。この距離の範囲内で、隣接する2FACEのベース曲面は離れているかもしれません。
同様にEDGEの曲線は2曲面から離れているかもしれません。このトレランスは、一般に「幾何計算のための同一点トレランス」より1けたないし2桁程度大きな値を採用します。

 

2 マージトレランスの大小

Brep内部の線や面の大きさは、少なくとも「位相維持のための同一点トレランス」(マージトレランス)より大きい必要があります。マージトレランスより小さな線や面は、全体あるいは部分的に消滅(縮退)しているものとみなされます。
データ変換において、マージトレランスの緩い(大きい)CADで作成されたモデルを、マージトレランスの厳しい(小さい)CADに渡すと、隣接しているは ずのFACEやEDGE間で「隙間」や「オーバーラップ」が検出されてしまいます。マージトレランスに関して逆のケースでは、EDGEやFACEが「縮 退」してしまいます。
データ変換プログラムは、受け側のトレランスに応じて、隙間を埋めたり、FACEやEDGEを積極的に削除する処理を行います。(ヒーリング)

 

3 代表的なCADのトレランス

筆者のトランスレータ開発の経験からコメントします。現在の状況とはずいぶん異なっているかもしれません。その場合は、ご指摘といっしょに情報をお寄せいただけると幸いです。

 

<CATIA(V4)>

精度の芳しくないCADの代表に挙げられることが多いのですが、誤解があります。CATIAは、「幾何計算のためのトレランス」と「位相維持のため のトレランス」を明示的に区別しています。デフォルトでは、幾何計算トレランスは0.001mm、位相維持トレランスは0.1mmです。
寛大な位相維持トレランスのおかげで、多くのCADデータを受け入れることができます。CATIAは、点・線・面を直接操作できます。ユーザがBrepのトレランスの意味を意識すれば、それなりに精度のよいモデルを作成できます。

 

<Unigraphics(Parasolid)>

UGは、Parasolidをカーネルとするアプリケーションです。トレランスは、UGが設定しています。「幾何計算のためのトレランス」は、0.0254mmです。(Parasolidは0.00001mm)UGは製品モデルとして意味のある長さを意識しています。
「位相維持のためのトレランス」は、基本的に「幾何計算のためのトレランス」と同じですが、マージしたい要素の組み合わせごとに個別に設定することができ ます。トレラントモデルと呼ばれるこの仕組みによって、単一のマージトレランスでは吸収されてしまう微小要素が有効になります。

 

<I-DEAS>

トレランスは0.01mmです。特に「幾何計算のトレランス」と「位相維持のトレランス」は区別されていません。

 

<Pro/ENGINEER>

多くのモデラーがトレランスに「絶対値」を設定していますが、ProEは「相対値」を採用しています。(絶対値も設定できます)製品モデルが占有す る空間の0.0012倍のサイズを同一点トレランス(幾何計算と位相維持を区別しない)とします。腕時計程度の機械部品なら、0.03mm、トラックの シャーシなら10.0mm程度の値になります。

 

<ACIS>

ACISをカーネルにしたCADシステムについてコメントすべきですが、ここではACISそのものについて触れます。デフォルトのACISの「幾何 計算のためのトレランス」は0.000001「位相維持のためのトレランス」は「幾何計算のトレランス」の10倍から100倍程度の値が設定されます。
当初ACISは、「単位系」が指定されていませんでした。日本のユーザは「mm」で解釈しましたが、米英のユーザは「インチ」で解釈しました。mmで解釈 した場合、このトレランスは現実離れした値になります。ACISから出力するモデルは微小要素だらけ、ACISに入力されるモデルは隙間だらけになり、 データ変換に重大な問題を生じました。

 

4 ノンマニホールドモデル

工業製品を設計することを前提にするなら、厚さゼロの部分をもつ製品モデルは好ましくありません。このような状態のモデルをノンマニホールドモデルと呼びます。位相維持のためのトレランスを大きくすると、このような部分が検出される可能性も大きくなります。

 

5 トレランスの統一

極端な例ですが、Brepを利用するCADシステム全てが、同一の「幾何計算のためのトレランス」と「位相維持のためのトレランス」を設定すれば、IGESやSTEPなど中間ファイルフォーマットによる変換の可能性が劇的に向上すると思います。
ただし、トレランスは、コンピュータ上の幾何計算と製品モデル定義のための妥協という性格を持ちます。対象とする製品モデルに応じて、最も効率(製品形状の複雑さ、計算時間、メモリ使用量、プログラム開発の難易度)のよいトレランスが設定されます。
データ変換のためにトレランスという概念を前面に出すのは需要です。しかし、その値を統一しようとする動きは現実的なものではないでしょう。

>>

<<

私たちは、ニーズに合わせたソフトウェア開発で皆様の製品開発を最適にソリューション致します。
弊社のソフトウェア開発事業に関しては、下記フォームよりお気軽にお問い合わせください。

お問い合わせ