Update - 22 Sep 2024 User PageWeb Links

12■200804 データの変換と修復

 製品設計側と製造側などで異なる 3DCAD を使用している場合、互いのデータを中間フォーマットに変換してから読み取る作業が必要となる。しかし、元になるデータの品質によっては、変換時にトラブルを発生させることも多い。

目次
    ◆データ修復
    ◆モデリング精度(分解能)
    ◆データ変換前のチェック

◆データ修復

 異なる 3DCAD で作成されたデータを IGES や STEP などの中間フォーマットで受け取る際には、何らかのデータ修復が当たり前の様に行われている。修復作業が必要となるのは、[オリジナルの3DCAD]→[中間ファイル]→[受け手側の3DCAD]というデータの変換過程で、モデルの面が剥がれたり欠落したりといった不具合が生じるためだ。

面の剥がれ

 面の剥がれや欠落は立体形状を定義する頂点やエッジの不一致によって発生することが多い。これらの不具合は、3DCAD の自動修復機能を使って頂点やエッジを移動させたり、手作業によって欠落した面を作り直したり、といった方法で修復できるのだが、オリジナルのデータを完全に再現できるわけではない。

 また、修復する個所や方法などに加え、作業者のスキルによっても出来上がる形状が異なるため、「データ修復をしてはいけない」というのが基本原則だ。

剥がれた面の修復

 トラブルの原因を「中間ファイルを介するデータ変換」に求めるような風潮も見受けられるが、元のデータに含まれていた問題がデータ変換によって顕著化した、と理解するほうが適切に対応できる。データ修復は何ら付加価値を生まない作業なので、修復テクニックを磨くよりも修復作業を必要としない元データを作ることに注力すべきであろう。

◆モデリング精度(分解能)

 データ変換の際に顕著化する問題点のひとつに、モデリング精度があげられる。単に「精度」と言えば、コンピュータの内部で扱える有効数字の桁数(単精度で7桁、倍精度では 15桁)に依存した「計算精度」のことを想像する人も多いが、データ変換に伴う不具合に関係するのは 3DCAD で表現可能な最小形状を制限している「モデリング精度」のほうである。

 計算精度というのは、寸法指定などで小数点以下何桁まで表現できるか、ということであるのに対し、モデリング精度というのは、どこまで細かな形状や凹凸を見分けられるか、といった「分解能」のことだと考えればよいだろう。

 例えば、モデリング精度 0.01 とした場合、小数点以下 2桁までしか寸法値が保障されない、ということではなく、0.01近辺の段差や小さなエッジなどが表現できない、という意味である。3DCAD で精度の話をする場合、ほとんどが分解能のことを指しており、これらは簡単な実験で確かめることができる。

モデリング精度(分解能)の実験

 まず、立方体(□100mm)の上面に円柱(Φ60mm、高さ10mm)を追加した様なモデルを作成してみよう。次に、円柱の高さを徐々に小さな値へ修正(例えば、10mm → 1mm → 0.1mm …)していくと、寸法値が入力不可能になる値がある。この数値がモデリング精度(分解能)による形状作成の限界、つまり 3D-CAD で認識可能な最小距離ということだ。

 モデリング精度は使用する 3DCAD によって異なるが、システム側で精度値を固定しているものと、ユーザ側で自由に精度値を設定できるものがある。システム側で精度値を固定しているものでは、モデリング精度をかなり小さな値(0.0001mm など)に設定しているようだ。

 中間フォーマットである IGES や STEP に変換した際にも、精度値が保持されるので、データ変換に際しては、お互いのモデリング精度を合わせることが基本となる。

精度が異なるデータの取り込み

 例えば、精度値 0.001 のデータを精度値 0.01 で取り込んだ場合、元のデータでは表現されていた微細な形状が欠落することになる。

微細な形状の欠落

 逆に、精度値 0.01 のデータを精度値 0.001 で取り込むと、元のデータでは許容範囲内にあった隙間が、許容範囲外になってしまう。

 元のデータでは一致しているはずの頂点やエッジが離れてしまった、面が剥がれてしまった、などのトラブルはモデリング精度の違いによって発生する。精度を合わすだけで全てのトラブルが解決するわけではないが、それだけのことで解決するケースも多いのは確かだ。

◆データ変換前のチェック

 最後に、データ変換で問題を発生させやすいモデルを簡単にチェックするポイントを説明しておこう。対象のモデルに以下の三角面や微細面ができていれば、データ変換する前に、元のデータで修正しておくべきだろう。

(三角面)
 角R が徐々に収束して三角状の面になっている部分によく見られる形状で、良くないデータの代表的なものである。角R や徐変R を安易に使った結果、三角面を作ってしまうケースが多い。

 3DCADで扱う曲面は格子状に制御された四角面で定義されるが、三角面では四角面を構成する輪郭の 1辺が存在しない特殊な条件と考えられ、曲面を制御する格子が頂点部に集中することになるので、常に歪や誤差の問題を抱えてしまう。



 全ての制御ポイントが頂点で完全に一致していれば問題ない。しかし、実際には演算誤差によるばらつきが原因で、頂点付近の曲面には「シワ」や「ネジレ」が発生している。(3DCADの内部では、モデリング精度の範囲内を同一とみなすので、三角面自体は作成可能だ)

(微細面)
 非常に細い面などもエラーになりやすい。やはり、角R の部分に発生しやすいのだが、これは角R 自体よりも角R を付加する前の面が複数に分割されているのが原因である。

 微細面のエッジ長がモデリング精度(分解能)と非常に近い値になる場合、データ変換後に面が欠落するなどのトラブルが発生しやすい。

 三角面や微細面を発生させないモデリングテクニックに関しては、別の機会にゆずるが、これらをチェックして修正するだけでも、トラブルの大半をなくすことができるだろう。


 Copyright (C) 1997 - 2024 龍菜 Ryu-na Design and Engineering
All rights reserved
User PageWeb Links