【CATIA応用知識】VBAマクロの作成方法まとめ
ここではCATIA V5でマクロを作成する方法をまとめていきます。
マクロとは一言でいうと「手動でやっていた操作をプログラムを使って全自動でやらせる機能」で、主にExcelで利用されることが多いです。
基本的にはCATIAマクロもExcelマクロも言語が同じなので根本的な書き方は全く同じです。
そのため、ここではExcelマクロと共通する内容についてはあまり詳しく説明せず、CATIAマクロ特有の書き方をメインに説明していきます。
全くマクロを知らなくてもある程度は理解できる内容にしようとはしていますが、あくまでもCATIAマクロについて解説していく内容なので、Excelマクロのように調べればたくさん情報が出てくるものに関しては説明を割愛する場合があるので、あらかじめご了承ください。
下記ページではCATIAマクロのオススメ書籍を紹介しています。
本サイトの作成にも参考にしている書籍なのでぜひチェックしてみて下さい。
ページ最後では「こういったマクロを作りたい」というマクロ案を募集しているので、そちらもうまく学習にご活用下さい。
LINEオープンチャット開設しました!
VBAをはじめCATIAの基本的な操作方法などを匿名で気軽に聞くことができるコミュニティです。このオープンチャットはCATIAユーザー間での情報共有やスキル向上を目的としています。
基礎知識編
マクロと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)】 キーボードの押されたキーを取得し、処理を割り振る
Windows API(Application Programming Interface)とは簡単にいえばWindowsに用意されている機能がまとまっているセットのようなものです。
VBA上でこのWindows APIを呼び出すことで、マクロでWindowsの操作(キーボードの取得やシステム音再生など)を行うことができるようになります。
Windows APIはWindowsの機能を呼び出しているだけなのでソフトに依存しません。つまりExcel/CATIA/AccessなどのVBAマクロではどれも全く同じ方法で使うことができます。
VBA初心者の人には少し難しい内容ですが、VBAだけでは行えない操作を行うことができるようになり、作成できるマクロの幅も広がるので中・上級者の方は覚えておいて損はない機能です。
Windows APIとVBAの連携を勉強するならまずはコレ!