0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ACISの基本

Posted at

ACIS背景

1. ACISとは?

ACIS (Alan, Charles, Ian's System) は、CADジオメトリモデリングカーネルです。C++で実装されており、サードパーティのアプリケーションに対して、高度なジオメトリモデリング機能を提供します。

  • 主な役割: 3Dモデルの形状を「ジオメトリ(geometry)」と「トポロジ(topology)」で記述します。ボリューム、独立面、ワイヤーエッジといった様々なタイプの形状表現をサポートしています。
  • Scheme AIDE: ACISの機能をテストしたり、プロトタイプを開発したりするためのSchemeインタープリタです。Spatial Corpとの連携にも利用されます。

2. コア概念ENTITYと派生クラス

ACISの根幹をなすのが、**ENTITY**という基底クラスです。

  • 基本機能: ENTITYクラスは、モデルの作成、削除、コピー、保存、復元、アンドゥ/リドゥ、デバッグといった基本的な操作メカニズムを定義しています。
  • オブジェクト指向設計: オブジェクト指向プログラミング(OOP)の原則に基づいて設計されており、派生クラスはこれらの基本操作を継承しつつ、それぞれ具体的なロジックを実装します。
  • 命名規則: ENTITYから派生するクラスは、BODY, FACE, EDGEなどのように、通常すべて大文字で命名されます。

3. ACIS APIの種類と使い分け

ACISの機能にアクセスするための関数には、主に「API関数」と「Direct Interface関数」の2種類があります。

特性 API関数 (api_プレフィックス) Direct Interface関数
主な用途 高レベル操作、安全性、異常回復が必要な場合 低レベル操作、直接的なジオメトリ変更、高速性が必要な場合
入力パラメータチェック あり なし(入力が正しいことを前提)
異常処理 自動で例外を捕捉し、メモリリークを防止 基本的な例外捕捉、メモリリークを防止
モデルロールバック 操作失敗時に自動で有効な状態に回復 なし(手動で処理が必要)
エラー返却 状態コードを返却(エラー情報を含む) なし(例外捕捉や手動チェックが必要)
実行効率 低い 高い
学習難易度 低い 高い(ACIS内部実装の理解が必要)

4. ACISアプリケーション開発の必須要素

ACISを利用したアプリケーションを構築・実行するには、以下の3つのコア要素が不可欠です。

  1. ACIS 認証ソフトウェア: ACISバージョン17以降では、ライセンス認証システムの統合が必須です。
  2. api_start_modeller / api_stop_modeller: ACISモデラーのライフサイクル管理(初期化と終了)を行います。すべてのACIS API呼び出しは、この間に実行する必要があります。
  3. api_initialize / api_terminate: BODYFACEなどの特定のACISコンポーネントを初期化・終了します。必要に応じて適切なコンポーネントを初期化します。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?