ジオメトリ精度

ACIS solid modelジオメトリのaccuracy設定は、次のコマンドで制御できます。

[set] Geometry Accuracy <value = 1e-6>

imprintなど一部の操作は、accuracy設定を低くする(例:0.1~1e-5)と成功しやすくなる場合があります。ただし、この値の変更は推奨されません。 モデルを書き出したり他の操作を行ったりする前に、必ず1e-6へ戻してください。大きい設定値のまま使用するとジオメトリを破損する可能性があります。.

詳細説明:

多くの幾何モデラは、3次元空間の点座標に倍精度浮動小数点数を使用します。倍精度で期待できる10進有効桁数は最大約15桁ですが、点間距離を求めるために平方根を計算するなど演算を行うと、実用上の精度は約7桁まで低下します。さらに原点から離れるほど桁落ちの影響が増えます。そのため、plane、sphere、cylinder、line、circleなど座標軸に整合した解析形状で構成された部品では6桁程度、条件が良ければそれ以上の有効精度を期待できます。一方、line、circle、conic sectionでは表せない交差を区分多項式で近似するNURB Curveを導入すると、精度はさらに低下して概ね3桁程度になることがあります。CADモデルの実際の精度は、多くの利用者が想定するほど高くありません。

3次元位置のtoleranceに加えて、CurveやSurfaceのparameter space、およびCurveやSurfaceの導関数にもtoleranceがあります。NURBのような有理区分多項式では、導関数自体が存在しない場合もあります。ただし、多くのCADプログラムではCurveとSurfaceの少なくとも領域内部で1階・2階導関数が存在するように構成します。そのため導関数の連続性に依存するGaussian integrationやRomberg integrationは利用できますが、主に2階導関数までで、かつ高精度は期待できません。

ACISのtoleranceを1E-6より小さくしても、ACISへ読み込まれる部品自体の精度は向上しません。toleranceを大きくすると低精度データで一部の処理が成功する場合がありますが、ACISを通常検証されていない条件で使用することになります。通常はtoleranceを変更するより、部品をscaleするか使用単位を変更する方が適切です。一般にACIS内の部品は原点から10,000以内に収めることが望まれます。橋梁、鉱山、超高層建築など非常に大きな対象を扱うCADでは、さらに粗いtoleranceが必要になります。長大な吊橋をmicron単位で表現しないのと同じ考え方です。

異なるCADシステム間のtolerance差や低精度なCurve近似に対応するため、ACISは読込み時に各CurveとVertexの精度を評価します。Surface上に1E-6以内で乗らないCurveはtolerant curve、Curve上に1E-6以内で乗らないVertexはtolerant vertexとして扱い、これらのtoleranceを内部で使用して低精度データに対してもBooleanなどを動作させます。一般にACIS以外で作成された部品では、誤差が1E-3程度に達する場合があります。非常に大きな部品では、いったん縮小して操作を行い、その後元のscaleへ戻すと改善することがあります。原点付近へ移動することも有効な場合があります。ACISは単位を持たない幾何モデラなので、使用する単位系とモデル寸法を数値的に安定な範囲へ収める必要があります。