【CATIA応用知識】VBAマクロの作成方法まとめ

ここではCATIA V5でマクロを作成する方法をまとめていきます。
マクロとは一言でいうと「手動でやっていた操作をプログラムを使って全自動でやらせる機能」で、主にExcelで利用されることが多いです。

基本的にはCATIAマクロもExcelマクロも言語が同じなので根本的な書き方は全く同じです。
そのため、ここではExcelマクロと共通する内容についてはあまり詳しく説明せず、CATIAマクロ特有の書き方をメインに説明していきます

全くマクロを知らなくてもある程度は理解できる内容にしようとはしていますが、あくまでもCATIAマクロについて解説していく内容なので、Excelマクロのように調べればたくさん情報が出てくるものに関しては説明を割愛する場合があるので、あらかじめご了承ください。

下記ページではCATIAマクロのオススメ書籍を紹介しています。
本サイトの作成にも参考にしている書籍なのでぜひチェックしてみて下さい。

ページ最後では「こういったマクロを作りたい」というマクロ案を募集しているので、そちらもうまく学習にご活用下さい。

icon-exclamation-triangle 注意点 

本ページの作成で参考にした書籍は最新のバージョンに対応していない場合があります
そのため、本ページの内容もバージョンによっては使えない可能性があります。
 
バージョンの違いによってコードの書き方が少し変わることはありますが大きく異なることはないため、基本的には『マクロの記録』『CAA V5 Visual Basic Help』を利用してご自身のCATIAにあったコードの書き方を調べてください。
 
『マクロの記録』の使い方 (マクロの記録について)
『CAA V5 Visual Basic help』の使い方 (CAA V5 Visual Basic Helpについて)

 

基礎知識編

マクロとVBAとは
マクロ作成の下準備
『マクロの記録』の使い方
マクロの実行方法

VBA基本コード

1. Subプロシージャ
2. 変数の宣言と代入
3. メッセージボックスの表示[MsgBox関数]
4. インプットボックスで入力値を取得[InputBox関数]
5. 処理を条件分岐させる[If文]
 

CATIA固有オブジェクト

オブジェクトとコレクション/プロパティとメソッドとは ★重要★
VBEでオブジェクトを取得1 ★重要★
オブジェクトレゾリューションでオブジェクトを調べる
CATIAマクロのヘルプ『CAA V5 Visual Basic help』の使い方 

オブジェクト別詳細ページ

Documentsコレクション     ドキュメントの新規作成/ドキュメントを開く
Documentオブジェクト            ドキュメントの操作(保存、切り替え、閉じる等)
Windowsコレクション         ウィンドウを並べて表示
Windowオブジェクト        ウィンドウの操作(切り替えやサイズの変更等)
Selectionオブジェクト       任意の形状を選択
VisPropertySetオブジェクト  形状の色や透明度を変更
DrawingWeldingオブジェクト        CATDrawingの溶接指示を操作
DrwaingWelding列挙型変数   溶接指示のシンボルまとめ

FileSystemオブジェクト      ファイル/フォルダを作成(CATIA外操作)
Measurableオブジェクト     長さや角度、面積などを測定
 

オブジェクトの種類を調べる[TypeName関数] 上記オブジェクトを調べることのできる関数
CATIA VBAでのサブエレメント(内部要素) サブエレメントのオブジェクトまとめ

 

マクロ作成編

CATIAマクロの備忘録         コードをコピペしてCATIAマクロで何ができるかを確認

空の形状セットを一括で削除するマクロ 簡単なマクロを例にマクロ作成の流れを学習
空のボディーを一括で削除するマクロ 

選択しているオブジェクトを一時保管する方法 SelectionとFor文を使う際のテクニック

CATIA VBAでPowerCopyのインスタンスを作成する方法 VBA × PowerCopy
CATIA VBAでPowerCopyのインスタンスをループ文で一括作成する方法
 

サンプルマクロまとめ (『マクロ案』『お問い合わせ』で頂いたもの)

 

応用知識編

ここではCATIAマクロを他のソフトと連携させたり、マクロでWindows APIを呼び出す方法などのさらに応用的な内容を解説しています。
マクロ初心者の方には少し難しい内容となっていますが、これらを理解することで作成することのできるマクロの幅が一気に広がります。
 

  Excel連携

 

CATDrawingのテーブルをExcelファイルに出力するマクロ

ExcelファイルをCATDrawingのテーブルに出力するマクロ

 
ExcelファイルをCATDrawingのテキストボックスに出力するマクロ
Excelの表から座標を取得し点を作成するマクロ

 

  PowerPoint連携

CATPartの座標系をPowerPointオブジェクトとして作成するマクロ

 

  Python連携

PythonでCATIAを操作する方法 Pythonファイル(.py)でCATIAマクロを作成

 

  Windows APIの利用

【Sleep関数(API)】        指定した秒数だけマクロの処理を止める
【GetAsyncKeyState関数(API)】 キーボードの押されたキーを取得し、処理を割り振る
 

― icon-edit  Windows APIとは ―

Windows API(Application Programming Interface)とは簡単にいえばWindowsに用意されている機能がまとまっているセットのようなものです。
 
VBA上でこのWindows APIを呼び出すことで、マクロでWindowsの操作(キーボードの取得やシステム音再生など)を行うことができるようになります
 

Windows APIはWindowsの機能を呼び出しているだけなのでソフトに依存しませんつまりExcel/CATIA/AccessなどのVBAマクロではどれも全く同じ方法で使うことができます。
 

VBA初心者の人には少し難しい内容ですが、VBAだけでは行えない操作を行うことができるようになり、作成できるマクロの幅も広がるので中・上級者の方は覚えておいて損はない機能です。

Windows APIとVBAの連携を勉強するならまずはコレ!

 


2022年7月28日CATIA, CATIAマクロ, VBA

Posted by Lic