CATIA V4 ファイルの CAI フォーマット(Windows のみ)

CATIA は CAD/CAM パッケージです。CATIA には、機械的なデザイン、分析、シェイプのデザインとスタイリング、設備とシステム エンジニアリング、製品合成とインフラストラクチャのモジュールが含まれます。

CAI は STEP の標準に基づいています。トランスレータ CATIA DirectConnect は、STEP から EXPRESS 言語を使って作成されます。このファイル転送システムは、非常に用途が限定されており完全に最適化されています。CAI スキームには 31 のエンティティがあります。

CAI のファイル構造は、STEP フォーマットを CATIA と Alias 固有のエンティティの変換に合わせたバージョンです。これは、STEP ファイルの file_schema ('CAI')宣言で指定されています。詳細については、STEP オプションを参照してください。

CATIA ジオメトリとデータ マッピング

次のセクションを使用して、CAI ファイルを介して Alias と CATIA 間で転送されるジオメトリ タイプ、ジオメトリ以外のデータで使用されるマッピング プロセスを指定します。

サポートされている Alias のジオメトリ タイプ

次の Alias ジオメトリ タイプは CATIA に書き出すことができます。ライト、カメラ、テクスチャ、ウィンドウ、シェーダ、アニメーションなどの非ジオメトリ エンティティは、このトランスレータではサポートされていません。表の項目の数字は、後述の表 1 の注の番号を表します。

Alias エンティティ CAI ファイル エンティティ CATIA エンティティ
Construction Plane Axis (1) 8.1 3-axis system
Arc RationalCurve 46.1 Rational B_spline curve
Circle RationalCurve 46.1 Rational B_spline curve
Line Line (一部サポート) (2) 2.1 space line
Curve
  • BsplineCurve
  • RationalCurve
  • 3.2 B_spline polynomial space curve
  • 46.1 Rational B_spline curve
Face FaceElement (3) 6.1 face
Surface
  • BsplineSurface
  • RationalSurface
  • 5.2 B_spline polynomial surface
  • 47.1 Rational B_spline surface
Target Surface CrvSrf (4) 12.1 edge (curve on surface)
Trimmed Surface FaceElement (5) 6.1 face
Trimmed Target Surface FaceElementとCrvSrf(1) 6.1 face と 12.1 edge (curve on surface)
Shell OpenShell 13.1 skin

表 1 の注

  1. Alias コンストラクション プレーンのスケール コンポーネントは転送されません。方向と位置は変更されずに維持されますが、サイズは維持されません。相互変換の後(Alias > CATIA V4 > AliasAlias のコンストラクション プレーンのオリジナルのスケール値が SxSySz であれば、スケール値 1, 1, 1 が返されます。
  2. Curves > Line と関連ツールで作成される Alias のラインは、CAI ライン プリミティブとしての CAI への書き出しではサポートされませんが、CAI B スプラインカーブとしてはサポートされます。ただし、ベース カーブが CAI ラインである(CATIA V4 制限付きラインにマッピング) CAI トリム カーブを Alias に読み込むと、Alias Line が作成されます。このようなラインは、CAI ラインとして書き出されます。このため、オリジナルの CATIA V4 の制限付きラインは確実に保護されます。
  3. Alias のフェース要素は、一時的にトリム サーフェスに変換されてから書き出されます(次の注 (5) を参照)。
  4. Alias ターゲット サーフェスには 1 つまたは複数のカーブオンサーフェスが含まれます。個々のカーブオンサーフェスでは、CrvSrf エンティティがエクスポートされます。Alias への読み込みでは、同じベース サーフェスを参照する複数の CrvSrf エンティティが、CrvSrf エンティティに対応する複数のカーブオンサーフェスを含む 1 つの Alias Target Surface に変換されます。
  5. Alias のトリム サーフェスは、1 つまたは複数の FaceElements (トリム サーフェスの各領域に 1 つの FaceElement)として書き出されます。Alias へ読み込む場合、同じベース サーフェスを参照する複数の FaceElement エンティティは、この FaceElement に対応する複数の領域を持つ 1 つの Alias トリム サーフェスに変換されます。

CATIA V4 ジオメトリとデータ マッピング エントリの識別

サポートされている CATIA V4 ジオメトリを識別するには、次の表を使って、CAI ファイルを介して Alias と CATIA V4 間で転送されたジオメトリ タイプやジオメトリ以外のデータに使用されるマッピング プロセスを識別します。カッコ内の文字と数字の定義については、次の表を参照してください。

注:

この情報は CATIA バージョン 4.1 で有効です。バージョン 5 ではその限りではありません。

CATIA エンティティ CAI ファイル エンティティ Alias エンティティ
8.1 3-axis system (fixed) Axis Construction Plane
1.1 space point Point Curve and Locator (1)
2.1 space line (1) Line Line
  • 3.1 polynomial space curve (1)
  • 3.2 B_spline polynomial space curve (1)
  • 20.1 space circle (1)
  • 21.1 space ellipse (1)
  • 22.1 space parabola (1)
  • 23.1 space hyperbola (1)
BsplineCurve Curve
46.1 Rational B_spline curve (1) RationalCurve Curve
4.1 plane4.24 plane (2) Plane Surface (2)
  • 5.1 polynomial surface
  • 0 unspecified
  • 1 sphere
  • 2 cylinder
  • 3 cone
  • 4 torus
  • 5 unspecified surface of revolution
  • 6 tabulated cylinder
  • 7 ruled surface
BsplineSurface Surface
5.2 B_spline polynomial surface BsplineSurface Surface
47.1 Rational B_spline surface RationalSurface Surface
12.1 edge (face boundary) (3) OrientedEdge Trim Curve (3)
12.1 edge (curve on surface) CrvSrf Target Surface (3)
6.1 face FaceElement Trimmed Surface (3)
13.1 skin OpenShell Shell
7.1 volume (4) OpenShell(s) Shell(s)
17.2 exact solid (5) OpenShell(s) Shell(s)
28.1 Space ditto Ditto Instance (6)

表 2 の CATIA エンティティの注

  1. 制限が修正されたすべての CATIA カーブの場合は、CAI トリム済みカーブ インスタンスが書き出し時に作成されることがあります。
  2. CATIA 平面フェースの場合は、ベース フェース サーフェスとして使用されていると、4.24 plane が転送されることがあります。
  3. CATIA のエッジに関連するカーブは、B-spline カーブに変換され、OrientedEdge によって使用されます。CATIA のエッジのパラメータ定義は、OrientedEdge が使用する B-spline Pcurve に変換されます。
  4. CATIA volume の領域は、OpenShell に変換されます。
  5. solid の境界表現は、抽出されて CAI 要素(OpenShell やカーブなど)に変換されます。Exact solid を書き出す前に、そのソリッドが最新であることを確認してください。

表 2 の Alias エンティティに関する注

  1. CAI Point は、2 つの一致点とカーブの位置を識別するロケータから構成される 1 次カーブに変換されます。CAI に書き出す場合、このコンストラクションは CAI Point に変換されます。
  2. CAI Plane は、無限のプレーンを記述し、ユニット Alias サーフェスに変換します。このサーフェスをエクスポートする場合は、CAI Planeとしてエクスポートされます。
  3. CAI Oriented Edge は、Alias トリム サーフェスのトリム領域のトリム カーブにマップします。
  4. CAI CrvSrf エンティティは、特定のサーフェスの Alias カーブオンサーフェスにマップします。同じサーフェスを参照している複数の CAI CrvSrf エンティティは、複数の Alias カーブオンサーフェスを 1 つの Alias Target Surface に追加します。
  5. CAI FaceElement は、Alias トリム サーフェスの 1 つの領域にマップします。CAI ファイルの複数の CAI FaceElement が同じサーフェスを参照している場合、複数の領域を持つ Alias トリム サーフェスが作成されます。
  6. CAI Ditto は、CAI Detail を示す Alias グループの Alias インスタンス ノードとして CAI Ditto 座標変換と共に読み込まれます(次のサポートされているジオメトリック以外の CATIA データ、グループ/インスタンスを参照)。

    ただし、同じ CAI Detail の 2 つ以上の CAI Ditto がそれぞれ異なる親 CAI Detail に属する場合、これらの Dittoは「展開」されます。つまり、CAI Ditto の変換によって、Detail の各ジオメトリック エンティティがコピーされ転送されます。

サポートされているジオメトリック以外の CATIA データ

次の非ジオメトリック データは、Alias と CATIA 間で読み込みおよび書き出すことができます。

グループ/インスタンス

Alias グループがどのように書き出されるかは、インスタンス化されているかどうかによって異なります。インスタンス化されていない Alias Group には、適切な独立した CAI ジオメトリック エンティティに書き出されるコンポーネント ジオメトリがあります。インスタンス化された Alias Group ノードは、CAI Detail エンティティとして書き出されます(つまり、グループ化された Alias ジオメトリ エンティティは CAI Detail のメンバーになります)。Alias Instance ノードは、CAI Ditto エンティティとして書き出されます。CAI Ditto と Detail は、後にそれぞれ CATIA Ditto と Workspace として CATIA にインポートされます。

座標変換に均等でない(non-p)スケーリング ファクタがある Alias Instance は、書き出し時に「展開」されます(つまり、Alias Group に属するインスタンス化されているジオメトリック エンティティはそれぞれ、独立した CAI ジオメトリック エンティティにコピーされて座標変換されます)。展開するのは、non-p スケール コンポーネントを含むインスタンスのみです。non-p スケーリング コンポーネントがない同じグループのインスタンスは、前記のように CAI Detail の CAI Ditto として書き出されます。

CATIA Workspace と Ditto は、Alias の DAG 構造とインスタンス化メカニズムでサポートされていない状況に陥る場合があります。これは、同じ Workspace の Ditto が異なる親 Workspace に属する場合に発生します(前述の表 2 の Alias エンティティの注の注(6)を参照)。CATIA Ditto/Workspace 構造は、CATIA からの CAI 書き出しとその後の CATIA への読み込みで最大限に保護されます。

名前

Alias DAG ノード名は、そのノードのジオメトリがマップされる CAI エンティティの属性として書き出されます。Alias Instance ノード名は、CAI Ditto のアトリビュートとして書き出されます。対応する CAI Detail には、インスタンス化された Alias Group ノードの名前が付きます。CAIエンティティの名前属性は、CATIAでそのエンティティのCATIAユーザIDにマップされます。

CAI の Alias への読み込み時には、複数の CAI エンティティを単一の Alias オブジェクトにマップできます(前述の表 2 の Alias エンティティの注の注(4)と(5)を参照)。この CAI エンティティには、それぞれ一意の名前(CATIA User Identifier)を付けることができますが、Alias オブジェクトには参照と編集に使用できる名前を 1 つしか付けることができません。CATIA User ID は、修正可能な名前で Alias オブジェクトにマップされることはなく、CAI を介して CATIA に書き出したあと Alias によって維持されます。これは、名前を割り当てたオブジェクトが存在していることを前提としています。

たとえば CATIA ユーザは、同じサーフェスを参照する個々のフェースに名前を付けることができます。このフェースは、CAI FaceElement にマップされ、次に単一の Alias トリム サーフェスのトリム領域にマップされます。トリム サーフェス ノードにのみ、トリミングされた CATIA サーフェスの基本的な名前が付きます。トリム領域にマップしたそれぞれのフェースの CATIA User ID は、Alias 内に維持されるため、CATIA に転送して戻すことができます。1 つの Alias ターゲット サーフェスにマップされる、複数の CAI CrvSrf エンティティでも同様の状況が発生します。CAI CrvSrf の名前属性は、CATIA にエクスポートする場合のために維持されます。

node#<n> という形式で Alias が生成した名前(node#5 など)は、CAI に書き出されません。*<OBJ><N> という形式で CATIA が生成した名前(*FAC5 など)は、CAI にエクスポートされません。名前のない CAI エンティティには、Alias または CATIA への読み込み時にシステムが生成した名前がつきます。

レイヤ

Alias レイヤ割当ては CAI への書き出し時に維持されます。名前と同じように、レイヤ番号は、CAI ジオメトリ エンティティと Ditto の属性になります。レイヤの名前とその他の Alias レイヤのアトリビュートは書き出されません。

CAI の Alias への読み込み時、ジオメトリック エンティティは CAI レイヤ番号属性で定義されたレイヤに配置されます。レイヤが読み込み プロセスで作成されると、CATIA_<N> という名前が付きます。<N> はレイヤ番号を表します。CAI 読み込み プロセスで作成されるすべてのレイヤは、レイヤ バーに昇順で保存されます。

名前の属性と同じように、CAI FaceElement と CAI CrvSrf のエンティティのレイヤ番号の割当ても CAI 読み込み時に維持されるため、Alias で修正はできなくてもこの情報を CAI を介して CATIA に戻すことができます。

Alias では、DAG 階層のジオメトリック オブジェクトとその上位ノードもすべて同じレイヤになければなりません。CATIA では、必ずこれと同じとは限りません。Ditto は、インスタンス化された Workspace のコンポーネントとは異なるレイヤにある場合があるためです。CAI の Alias への読み込み時、CATIA レイヤのこの機能はその後の CATIA への書き出しでも維持されます。CAI Ditto から作成された Alias インスタンスのレイヤ割当てを変更すると、Alias 内のこの新しいレイヤ番号にインスタンス化されたジオメトリック エンティティすべてのレイヤ割当ても変更されます。しかし CAI をエクスポートする場合は、コンポーネント ジオメトリ エンティティと Ditto のオリジナルの CATIA レイヤ番号割当てが使用されます。

レイヤに割当てられていない CATIA Ditto は、Alias での双方向の CAI 変換を通して維持されます。Alias では、Ditto は既定レイヤにある Alias インスタンスとして読み込まれます。

オブジェクト カラー

CATIA モデルが CATIA 標準カラー テーブルを使用する場合、CATIA オブジェクトのワイヤフレーム表示カラーは、Alias との双方向の CAI 変換で維持されます。モデルがユーザ定義のカラー テーブルを参照する場合、CATIA に CAI を読み込むときに、各要素のオリジナル カラーに最も近いカラーが標準カラー テーブルから選択されます。

名前やレイヤと同じように、オブジェクトの CATIA ワイヤフレーム カラー インデックスは、CAI ジオメトリック エンティティのアトリビュートになります。CAI の Alias への読み込み時、CAI ジオメトリック エンティティのカラー インデックスは、CATIA 標準カラー テーブルに基づいて RGB カラーに変換されます。この RGB カラーは、オブジェクトがカーブであれば、作成された関連する Alias オブジェクトに割り当てられた単純なシェーダを作成するのに使用されます。CATIA ワイヤフレーム カラー インデックスは、カーブのみで維持されます。CAI カラー アトリビュートがまったくない CAI サーフェス ジオメトリは、Alias のデフォルト シェーダに割り当てられます。

Alias の CAI への書き出し時、CAI ジオメトリック サーフェスのカラー インデックスは、CATIA 標準カラー テーブルでインデックスを検索して定義します。この表は、関連する Alias シェーダの RGB カラーに最も近いものを示します。サーフェス以外の CAI エンティティでは、CATIA カラー インデックスが維持されていればそれがエクスポートされます。オリジナルの Alias カーブ ジオメトリの場合、レイヤ カラーは CATIA 標準カラー インデックスに最も近いものを検索するのに使用されます。

レイヤ カラー

レイヤ カラーは CAI フォーマットを介して明示的に転送されることはありません。しかしレイヤ カラーは、2 つの可能な手法のうちの 1 つにより、CAI の読み込みで作成されるレイヤに割り当てられます。

最初の方法(既定)では、作成されたレイヤは 15 に分けられたレイヤ番号の剰余に基づいて 15 の使用可能なカラーの 1 つに割り当てられます。番号が大きくなるにつれて、使用できる Alias レイヤ カラーが順番に割り当てられます。

もう 1 つの手法では、CATIA 環境の起動初期化ファイル CATINSTD.dcls で定義されている CATIA 標準レイヤカラーテーブルを使用します。このファイルが、Alias インストールの /usr/aw/alias/.Alias/ フォルダまたはユーザ アカウントの .Alias/Prefs.1Alias/Color/ フォルダにある場合、CATIA 標準レイヤ カラー テーブルはこのファイルから Alias CAI 読み込み プロセスによって抽出され、レイヤ カラー割り当てプロセスで使用されます。

CATIA 標準レイヤ カラー テーブルでは、RGB カラーが CATIA 標準カラー テーブルで定義される、デフォルトの CATIA カラー インデックスが、256 の CATIA レイヤに割り当てられます(前述の「オブジェクト カラー」を参照)。Alias CAI 読み込みプロセスからこのデフォルトのレイヤカラー割当てにアクセスできる場合、このプロセスによって、表のレイヤ番号のカラーに近い、新たに作成された Alias レイヤに、カラーが割り当てられます。

2 つ目の手法を実行するには、CATINSTD.dcls ファイルを CATIA インストールから /usr/aw/alias/.Alias/ フォルダまたはユーザアカウントの .Alias/Prefs.1/Color フォルダにコピーします。または、この Alias フォルダのうちいずれかに、CATIA インストールの CATINSD.dcls ファイルへのシンボリック リンクを作成します。

たとえば、Alias/usr/aw に、CATIA が /usr/catia にそれぞれインストールされていれば、次のコマンドで必要なシンボリック リンクが作成されます。

ln -s  /usr/catia/cfg/dec/CATINSTD.dcls /usr/aw/alias/.Alias/CATINSTD.dcls

CATIA でスキンやオフセットを作成するとどうなるか

「スキン」や「オフセット」の作成(または読み込まれた Alias モデルからのソリッド ジオメトリの作成)は、Alias と CATIA を統合するときの共通のワークフローです。Alias からモデルを書き出す場合、ジオメトリが適切な許容値で構築されておりステッチ可能な状態であることを確認してください。Alias でのステッチ プロセスでは、サーフェス間のギャップが識別されるため、ファイルを CATIA に書き出す前に適切なジオメトリを修復できます。

ステッチ中は、サーフェスが対になります。つまり、サーフェス境界が分割されて隣接サーフェスを同調させたり、周期的なジオメトリが複数のサーフェスにデタッチされるということです。このため、ステッチを行う前に Alias Wire ファイルを保存する必要があります。これで、Alias モデルをさらに変更する必要がある場合、コンストラクション ヒストリがそのまま保持されます。