パラメータの名称を変更するマクロ|CATIAマクロの作成方法

今回の記事はマクロ案募集でいただいた内容です。

送って頂いた内容は以下のようなマクロです。

パラメータ(Parameter)のローカル名(Local Name)を変更するマクロ

このマクロで「すべてのローカル名を一括で変更したいのか」、「指定した文字列のローカル名を別の文字列に置き換えたいのか」というようにマクロの使用用途がわからなかったため、ここではマクロの作成というよりはローカル名を変更するためのコードの解説をしていきます。

サンプルマクロとよべるようなマクロは用意してませんが
簡単なサンプルコードは用意しているので理解はできると思います!

 

パラメータの名称をマクロで変更する

パラメータには「ローカル名(Local Name)」「グローバル名(Global Name)」があります。

それぞれの名称は、パラメータの[プロパティ]ウィンドウを開くと確認することができます。
[ローカル名:]の文字列がローカル名で、[名前:]の文字列がグローバル名となっています。

グローバル名にパス(上の画像のように\で区切られているもの)が入力されている場合は、ローカル名とグローバル名がリンクされた状態となっており、ローカル名を変更するとグローバル名のパスも同時に変更されます。

2つの名称はそれぞれ変更するためのコードの書き方が少し違うので注意しましょう。
以下では説明の関係上、グローバル名を変更するためのコードから順に解説していきます。

 

グローバル名を変更する

パラメータのグローバル名を変更するには『Parameterオブジェクト』Renameメソッドを使って以下のように書きます。

 Renameメソッドの構文[グローバル名]

オブジェクト名.Rename(“変更する名称“)

オブジェクト名にはParameterとして宣言した変数の名称を入力します。
この変数に入っているオブジェクトのグローバル名を、「変更する名称」に入力した文字列に変更することができます。
 

たとえば、パラメータを選択した状態で以下のコードを実行すると、選択状態のパラメータのグローバル名を「NewName」に変更することができます。

 グローバル名の変更[サンプル]

Dim SEL As Selection
Set SEL = CATIA.ActiveDocument.Selection
 

Dim SELParm As Parameter
Set SELParm = SEL.Item(1).Value
 

SELParm.Rename (“NewName“)

 

ローカル名を変更する

パラメータのローカル名を変更するにはグローバル名と同様に『Parameterオブジェクト』Renameメソッドを使って以下のように書きます。

 Renameメソッドの構文[ローカル名]

オブジェクト名.Rename(“Local:変更する名称“)

基本的な書き方はグローバル名の時と同じですが、ローカル名の変更では変更する名称の前に「Local:」と入力します。
  

たとえば、ツリー上のパラメータを選択した状態で以下のコードを実行すると、選択状態のパラメータのローカル名を「NewName」に変更することができます。

 ローカル名の変更[サンプル]

Dim SEL As Selection
Set SEL = CATIA.ActiveDocument.Selection
 

Dim SELParm As Parameter
Set SELParm = SEL.Item(1).Value
 

SELParm.Rename (“Local:NewName“)

※注意※
[プロパティ]ウィンドウ上で変更ができないものは、このコードでも変更することはできません
たとえばフィレットの[半径]のように、形状を作成したときに同時に作られるパラメータはローカル名を変更することができません。

 

まとめ

今回はパラメータの名称をマクロで変更する方法についての内容でした。

今回使用した「Prameterオブジェクト」を使えばコメントを入力したり、非表示にしたり、値を変更したりと様々なことをVBAコードで行うことができます。
ぜひ今回やった「Renameメソッド」以外のメソッドも勉強してみて下さい。

 
目次へ戻る
 

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

CATIAマクロの独学にオススメの書籍2選

 

2020年6月13日CATIA, CATIAマクロ

Posted by Lic