Teighaでの.satおよび.sabファイルの操作

ネイティブおよび変更された.satおよび.sabファイルバージョン

Standard ACIS Text (SAT)およびStandard ACIS Binary (SAB)は、Spatial Corporationによって開発された3D ACIS Modelerがサポートするファイル形式です。Spatial Corp. SAT®形式はテキスト形式であり、テキストエディタで表示できます。SAB形式はSAT形式のコンパクト版です。

Teighaは、3Dエンティティ (OdDbRegion、OdDbBody、OdDb3dSolid、OdDbSurfaceなど) の3Dジオメトリを定義するために.satおよび.sabファイルを使用します。

次の表は、.dwgおよび.dxfファイルの異なるバージョンで使用されるデフォルトのSATおよびSAB形式バージョンに関する情報を示しています。

R14リリース 106
R15 (2000) リリース 400
R18 (2004) リリース 20800
R21 (2007) リリース 21200
R24 (2010) リリース 21500
R27 (2013) リリース 21800

そして、以下の列挙型は、TeighaがサポートするすべてのSATおよびSAB形式バージョンのリストです。

enum AfTypeVerEnum
{
  kAfVer105            = 105,
  kAfVer106            = 106,
  kAfVer107            = 107,
  kAfVer200            = 200,
  kAfVer201            = 201,
  kAfVer400            = 400,
  kAfVer500            = 500,
  kAfVer600            = 600,
  kAfVer700            = 700,
  kAfVer20800          = 20800,
  kAfVer21200          = 21200,
  kAfVer21500          = 21500,
  kAfVer21600          = 21600,
  kAfVer21700          = 21700,
  kAfVer21800          = 21800
};

バージョン700まではSpatial Corp. ACIS®と互換性があることに注意することが非常に重要です。バージョン20800以降は、追加の変換なしにはSpatial ACISライブラリ内で使用できません。20800以降、Autodesk® AutoCAD®は変更されたSATおよびSAB形式を使用しており、これらの変更されたバージョンはSpatial ACISのネイティブではありません。バージョン700を超えるすべてのネイティブSpatial ACIS SATおよびSAB形式も、.dwgおよび.dxfファイル形式と互換性がなく、Teighaでそのまま使用することはできません。

image1

TeighaとSpatial ACIS間で3Dジオメトリデータを交換する一般的な解決策は、バージョン7を中間として使用することです。したがって、Teighaからバージョン700を取得し、Spatial ACISで使用します。または、Spatial ACISのバージョンを700にダウングレードしてTeighaで使用します。

TeighaでのSATおよびSABデータストリームへのアクセス

この静的メソッドは、.satおよび.sabファイルをロードし、エンティティの配列を返します。

static OdResult OdDbBody::acisIn(const OdString& filename, OdDbEntityPtrArray& solids);

なぜ単一のエンティティではなく配列を返すのですか?単一の.sat/.sabファイルには複数の3Dボディを含めることができます。しかし、.dwgファイルは、単一のボディを含む1つの.sat/.sabファイルを持つ1つの3Dエンティティに制限されています。そのため、.sat/.sabファイルの入力はボディの数をチェックされ、.sat/sabファイル内のボディのタイプに応じて3Dエンティティのセットが作成されます。出力配列には、3Dエンティティのセット (OdDbRegion、OdDbBody、OdDb3dSolid、OdDbSurfaceなど) が含まれます。ワイヤーボディのインポートはサポートされていません。

SATおよびSAB形式で3Dデータをエクスポートする対称的なメソッドは次のとおりです。

static OdResult OdDbBody::acisOut(const OdString& filename, const OdDbEntityPtrArray& solids, AfTypeVer typeVer = kAfVer700|kAfTypeASCII);

3Dデータを取得および設定する別の方法があります。各3Dエンティティクラスには、SATおよびSABデータに直接アクセスできる非静的メソッドがあります。これらのメソッドは、有効なデータ処理にのみ使用できます。例:

OdResult OdDbRegion::acisIn(OdStreamBuf* pStreamBuf, AfTypeVer *typeVer = 0);
OdResult OdDbRegion::acisOut(OdStreamBuf* pStreamBuf, AfTypeVer typeVer = kAfTypeVerAny);

OdaMFCAppは主要なTeighaビューアサンプルアプリケーションであり、.sat/.sabヘルパーを含んでいます。ヘルパーを起動するには、データベース内のAcDb3dSolidオブジェクトを右クリックします。

image2

.sat/.sabファイルをロードおよび保存したり、3DエンティティからSATおよびSABデータを取得したり、.sat/.sabファイルから新しい3Dエンティティを作成したりできます。

image3

 

今すぐ始める

ODAソフトウェアを60日間無料でお試しください。
リスクなし、クレジットカード不要。

無料で試す