選択したビュー内の線を黒色に変換するマクロ|CATIAマクロの作成方法

回の記事は「マクロ案」よりいただいた内容です。
送って頂いた内容は以下のようなマクロです。

ワークベンチ: ドラフティングワークベンチ

マクロ案: 
CATDrawingを色々な色になっているのを自動で選択してすべて黒にするマクロ。

今回のマクロは一言でいえば、「色を変更するマクロ」です。
そこまで複雑な内容ではないので、コツさえ理解できればすぐに応用できる内容だと思います。

 

マクロの機能

今回作成したのは選択したビュー内の生成項目、つまりは3Dから投影された形状を一括で黒色にするマクロです。やっていること自体は、手動で色を変えたいオブジェクトを選択して黒色に切り替えているのと変わりません。

そのため手動でもやったことがある人ならわかるかもしれませんが、選択しているオブジェクトが多すぎると色の変更にかなり時間がかかるという点はマクロでも変わらないのでご注意ください。

具体的な機能は以下のとおりです。

  マクロの機能まとめ ・選択したビュー内にある生成項目をすべて黒色に変換する
※生成項目が多いと時間がかかる恐れあり
現状では3Dから投影された「生成項目」のみを黒色にしていますが、サンプルコードの内容を少し書き換えれば直線や曲線のような作成した形状、テキスト色なども変更することは可能です。

 

VBAコード

コード全体は下記の通りです。
マクロ実行後、CATDrawingのビューを選択することで色を変換することができます。
変換後は[Ctrl]+[Z]で元に戻すことも可能ですが、多少時間がかかります。

 

コード解説

アクティブドキュメント等の定義

まずはじめにアクティブドキュメントを定義をします。
今回のマクロはCATDrawingのみ有効なものなので、アクティブドキュメントがCATDrawing以外の場合はTypeName関数を使った条件分岐でマクロを終了するようにしています。つまり、アクティブドキュメントがCATDrawingの場合のみ変数「doc」にアクティブドキュメントを代入し、マクロの処理を続けます。

アクティブドキュメントが定義できたら、以降で使うためのオブジェクトをまとめて定義しておきます。ここでは下記の用途で各オブジェクトを定義しています。

Selectionオブジェクト                   ユーザー選択でのオブジェクト取得用
VisPropertySetオブジェクト    選択しているオブジェクトを黒色にする用

 
黒色にするオブジェクトをすべて選択状態にする

次に黒色に変換するビューをSelectionオブジェクトSelectElement2メソッドを使ってユーザーに選択させます。

加えて選択状態のオブジェクトの中から同オブジェクトの「Searchメソッド」を使って、生成項目のみを選択状態にします。

ここの処理で、選択状態にしたオブジェクトが次の処理ですべて黒色に置き換えられます。上記コードの生成項目を別のものに変更したら、その他のオブジェクトにも対応させることができます。

 
形状セットをユーザー選択で取得

最後にVisPropertySetオブジェクトの「SetRealColorメソッド」を使って、現在選択中のオブジェクトをすべて黒色に変換します。

今回は黒色ということで引数をRGB(0,0,0)としていますが、値を変えることで他の色に変換することもできます。詳しくはVisPropertySetオブジェクトページを参照下さい。

 

まとめ

今回は選択したビュー内の生成項目を一括で黒色にするマクロについての内容でした。

重要なのは色を変更するVisPropertySetオブジェクトの「SetRealColorメソッド」部分です。
これさえ理解できれば、あとはこの処理の前に色を変更したいオブジェクトを選択させる処理をはさむだけでOKです。
 

サンプルマクロ集に戻る
目次へ戻る

 

 CATIAマクロを本気で勉強するなら

2021年10月13日CATIA, CATIAマクロ, VBA

Posted by Lic