CATIAマクロの作り方(記録編)

記事
学び
前回CATIAマクロの作り方について紹介しました。
ゼロから作って作れない事は無いのですが最初は右も左も分からない状態なのでここから始めるのはかなり厳しいと思います。
これはExcelマクロでも同じです。
そこでExcelに「マクロの記録」があるようにCATIAにも同等の機能「記録を開始...」という物があります。
今回はこのマクロを記録してくれる「記録を開始...」について紹介していきます。

点を作成する操作を記録する

前回記事CATIAマクロの作り方で作成したcatvbaを使います。(消してしまった人は前回記事を参考に再度作っておいてください)
点を作成するために新規でパートも作成しておきましょう。
スクリーンショット 2021-10-01 101353.jpg
メニューの[ツール]-[マクロ]-[記録を開始...]を選択します。
スクリーンショット 2021-10-01 101114.jpg
「マクロを記録」ウィンドウが表示されます。
「マクロ名」がそのままモジュール名になるため、「マクロ名」を変更します。(既存のモジュール名「モジュール1」は使わないようにしましょう)
スクリーンショット 2021-10-01 101814.jpg
「マクロ名」を指定し、「開始」ボタンを押下すると記録を止めるための停止ボタンが表示されます。
スクリーンショット 2021-10-01 102153.jpg
その状態で点を格納するための「形状セット」、座標による点をそれぞれ作成します。
スクリーンショット 2021-10-01 102332.jpg
点を作成したら停止ボタンを押して記録を止めます。

記録した内容を確認

記録した内容を確認してみましょう。
メニューの[ツール]-[マクロ]-[Visual Basic エディター...]を選択(または直接[Alt]キー+[F11]キー)します。
スクリーンショット 2021-10-01 103204.jpg
Visual Basic エディターウィンドウが表示されます。
スクリーンショット 2021-10-01 103118.jpg
記録時の「マクロ名」で指定したモジュール「test1」が追加され、中に記録した内容を確認する事ができます。
どんな内容になっているか部分的に分けて解説します。

【パート】
スクリーンショット 2021-10-01 103520.jpg
パートはPartDocumentが最上級の型でその下にPartが存在します。
スクリーンショット 2021-10-01 104903.jpg
変数「partDocument1」は「ActiveDocument」で現在開いているパート(今回の場合は新規作成したパート)の「PartDocument」を取得、代入しています。
変数「part1」は「partDocument1」のPartを取得、代入しています。

【形状セット】
スクリーンショット 2021-10-01 105229.jpg
形状セットはマクロでは「HybridBody」という型になります。
また、形状セットは複数存在可能なので形状セットを集めた「HybridBodies」型に所属します。(データ構造図参照)
変数「hybridBodies1」は「HybridBodies」で「part1」直下の形状セット全てが入っています。(この時点では1つも形状セットを持たない形状セットの集まり)
変数「hybridBody1」は「Add()」で「hybirdBodies1」に新規の形状セットが作成され、代入しています。
「part1.Update」でパートを更新し、形状セットの追加が確定します。

【HybirdShapeFactory】
スクリーンショット 2021-10-01 110107.jpg
点や線などの要素を作成する時には必ず作成するための工場となる「HybridShapeFactory」が必要になります。
「HybridSahpeFactory」はパートが持っているのでパートから取得します。
変数「hybridShapeFactory1」は「HybridSahpeFactory」で「part1」から取得、代入しています。

【点要素】
スクリーンショット 2021-10-01 110431.jpg
座標による点の作成には「AddNewPointCoord()」を使います。
第一引数からX、Y、Zで単位はmmです。
変数「hybridSahpePointCoord1」は「AddNewPointCoord(10#, 20#, 30#)」で「hybridShapeFactory1」から点が作成され、代入しています。
作成した点は「AppendHybridShape」で「hybridBody1」へ格納しています。
パートの「InWorkObject」は作業オブジェクトの指定に使うため、今回これをやる意味は無いのですが記録で作成されました。(無視して問題無いです)
「Update」で作成した点を更新しています。

実行してみる

折角記録して内容も確認できたので記録したマクロを実際に動かしてみましょう。
メニューの[ツール]-[マクロ]-[マクロ...]を選択(または直接[Alt]キー+[F8]キー)します。
スクリーンショット 2021-10-01 111744.jpg
マクロ操作ウィンドウが表示されます。
スクリーンショット 2021-10-01 111833.jpg
記録したモジュール「test1」を選択して「実行」ボタンを押下すると記録時に作成した構成と同じように形状セットと点が追加で作成されました。
スクリーンショット 2021-10-01 111949.jpg

まとめ

マクロの記録の使い方について紹介しました。
GSDのワークベンチに準備されているコマンドについては大半がこの方法で記録する事が可能です。
これらが出来るようになるだけでも設計作業の効率化は見込めるようになります。
更に踏み込んで改善したい事がありましたらご相談ください。
CATIAマクロの作成も受け付けています。

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す