CAD Kernelエンジン比較

# CAD Kernelエンジン

## CADKernel

CAD技術は1960年代に誕生して以来、2次元の製図、ワイヤーフレームモデル、自由曲面モデル、ソリッドモデリング、特徴ベースのモデリングなど、重要な発展段階を経てきました。この技術の進展に伴い、多くの成熟した有名なCADエンジンやソフトウェアが生まれました。

現在、商用CADエンジンには主にACIS、HOOPS、ParaSolidなどがあり、これらのエンジンを使用した製品としてはAutoCAD、Inventor、Catia、MicroSolid（ACIS）、UG、Solidworks、SolidEdge（ParaSolid）などが挙げられます。ただし、CADソフトウェアは商業的な秘密保持のためにそれぞれ独自のモデリング方式やデータ保存システムを採用しており、異なるシステム間でのデータの直接的な伝達が困難です。現在、中間標準フォーマットを使ってデータをやり取りする方法が主流ですが、この方法では一部の詳細な特徴が失われるため、追加の修正作業が必要となることがあります。この点がCAD技術の発展にある程度影響を与えています。

商用CADソフトウェアの他にも、OpenCascade（OCC）などのオープンソースのCADエンジンが比較的広く使用されています。OCCはフランスのMatra Datavision社が開発したCAD/CAE/CAMプラットフォームで、世界でも最も重要な幾何造形ソフトウェアプラットフォームの1つとされています。オープンソースであり、カスタマイズや拡張が可能で（新しい機能コンポーネントの追加やクラスの継承が可能）、主流のCADデータフォーマット（STEP/STL/IGESなど）をサポートし、豊富なモデリング関数（曲線フィッティング、回転、スイープ、トリム、オフセットなど）を提供しています。さらに、Visual C++/MFCに対する優れたサポートも特徴です。

**主要なCAD製品とそれに使用される内核**
以下は、各CAD製品の所属会社と使用されている内核についての表です。

| CAD製品       | 所属会社             | 所用内核               | 
| -------------- | -------------------- | ---------------------- | 
| CATIA          | Dassault Systèmes（フランス） | CGM                    |
| NX/UG          | Siemens（ドイツ）        | Parasolid              | 
| Pro/E          | PTC（アメリカ）          | Granite                | 
| SolidWorks     | Dassault Systèmes（フランス） | Parasolid, CGM         | 
| SolidEdge      | Siemens（ドイツ）        | Parasolid              | 
| Inventor       |  AutoDesk（アメリカ）     | ACIS                   | 


**主要なCAD内核またはプラットフォームとそれに関連する企業**
以下は、主要なCAD内核またはプラットフォームとそれに関連する企業についての表です。

| 内核またはプラットフォーム | 所属会社            | 備考                                                                  |
| ---------------------------- | ------------------- | --------------------------------------------------------------------- |
| ACIS                          | Dassault Systèmes  | APIが充実しており、市場で広く使われている                                      |
| Parasolid                     | Siemens      | 造形機能が強力で、多くのCADメーカーが採用している                            |
| CGM                           | Dassault Systèmes  | 高度な用途向けだが、市場での応用は少ない                                    |
| OpenCasCade                   | CapGemini  | 世界で唯一のオープンソース内核                                             |
| DCM                           | Siemens      | 幾何制約ソルバーで、市場をほぼ独占している                                    |
| VDM                           | Ledas               | 幾何制約ソルバーで、ノヴォシビルスク（新シベリア）に拠点を置く                  |

### 歴史の概要

- **DASSAULT SYSTEMS**
  - CATIA V1.0 (1979)-4.0 (1993) を開発
  - IBMのプロモーションでBoeingに導入され、CADAMを管理
  - CATIA V5 (1998) をリリース
  - SolidWorks (1997) を買収
  - MATRA DATAVISION (1998) を買収
  - CATIA 3DEXPERIENCE (2012) をリリース
- **PTC**
  - 独自の3D内核Graniteと制約ソルバーを開発
  - パラメトリックデザインの革命を引き起こす
  - Computervision(1998)を買収し、Winchillをリリース
  - CoCreate(2007)を買収し、その後Creoを発表
  - ThingWorx (2013) を買収
  - OnShape (2019) を買収
- **SolidWorks**
  - Pro/EをワークステーションからPCに移すことを目標とする
  - Parasolidを内核として使用
  - DCM制約ソルバーを使用
  - Windowsプラットフォームを活用
  - 1997年にDassault Systemsに買収

## CADカーネル比較

| No. | CADエンジン | 概要と機能 |
| --- | --- | --- |
| 1 | **ACIS** | 3D ACIS® Modelerは、Spatial社が開発した業界トップクラスの3Dモデリングエンジンで、CAD、建築、アニメーション、造船など14の業界の数百の開発企業で使用されています。 |
| 2 | **HOOPS** | HOOPSはOpenGLやDirectXなどのグラフィックエンジンを拡張するライブラリで、大規模なモデルの操作や表示を最適化する機能が強みです。高圧縮のストリームモードがネットワーク経由でのデータ伝送に適しており、OpenGLやDirectXのバージョンアップに対応しています。 |
| 3 | **ParaSolid** | Parasolidは、3次元の高精度な境界表現技術を使用し、実体モデリングや自由曲面モデリングをサポートする3D幾何学モデリングエンジンです。750以上の機能を提供し、直接モデリングや表面処理なども可能です。 |

ACISとHOOPSの組み合わせ、またはParasolidは商用エンジンとして高い成熟度と性能最適化を誇りますが、これらはライセンスが必要で、商業的な理由からソースコードの完全公開はされていません。一方で、オープンソースのCADエンジンは無料で拡張性が高く、OCCなどのエンジンはさまざまな分野でますます普及しています。OCCを基盤にしたCADソフトウェアとしては、FreeCAD、HeeksCAD、AnyCADなどがあります。

## CADデータ形式

### 商用CADソフトウェアフォーマット

商用ソフトウェアには独自のファイル形式があり、多くの場合、保存効率や商業的理由からバイナリ形式で提供されます。Spatial社は、異なる形式のデータ変換の必要性を認識し、3D InterOpデータ変換コンポーネントを開発しました。これにより、CATIA V5, IGES, STEP, Parasolidなどの3Dデータ形式を変換することが可能です。

### 中間CADフォーマット

IGESやSTEP、STL、VRMLなどの国際標準フォーマットも広く使われています。

- **IGES**：1981年に米国国家標準局が策定した標準フォーマットで、CAD/CAMシステム間のデータ交換に使用されます。
- **STEP**：ISOが1988年に策定した製品データの交換標準で、製品のライフサイクル全体をカバーします。
- **STL**：1988年に3D SYSTEM社が制定した、3Dモデルの外輪郭を三角形の集合体で表すファイル形式です。
- **VRML**：プラットフォームに依存しない、3Dシーンのモデルを記述する言語で、Web上での3Dインタラクティブコンテンツに使用されます。