マクロで楽するCATIAテクニック① -CATPartの寸法をExcel VBAで制御する-

お疲れ様です。遂にCATIA使用歴が今年で10年目に達したフルヤ(@mamoru_furuya)です。
この10年で製品、金型、設備といった様々な物をCATIAで設計してきました。
流石にこれだけ使っているので熟練度はかなり高いと自負していますが、CATIAは高機能であるが故に使いづらさを感じる事が未だにあります。

以前から「もっと楽に出来ないか?」と考えた結果、辿り着いたのがマクロです。
しかし、マクロで楽が出来るようになったのはここ最近です。
何故かと言うと、CATIAマクロの情報は検索してもあまりヒットせず、見つけても断片的だったりハイレベルで使いこなすのが難しかったからです。

この記事では、そんな僕が作ったマクロの1つ「CATPartの寸法をExcelで制御する」を紹介します。
ソースコードを貼り付ければすぐに使えますが、カスタイマイズも可能なよう解説も付けていきますので、マクロ制御を学びたい方の一助になるはずです。
是非業務にご活用ください。

・この記事で出来るようになる事

この記事を読む事で出来るようになる事は下記の3つです。
CATPartの寸法をパラメーターで制御出来るようになる(無料)
CATPartのパラメーターをExcel(VBA)から制御出来るようになる(有料)
Excel VBAからCATIAを操作する基本知識が身に着く(有料)

途中から有料ですが、実務でCATIAを使用している方であれば、改善提案等で十分元が取れる内容となっています。
実際、私はこの記事のマクロを使った改善提案で3000円稼ぎました(笑)

・記事を読む前に確認して欲しい事

この記事で紹介するマクロを活用する上で、以下の2点を確認して下さい。
①動作保証環境
この記事で紹介するマクロは以下の環境でのみ動作確認をしております。
この環境外での動作保証は出来かねますのでご理解ください。
・Excel:Office Standard 2013
・CATIA:V5-R2015~R20
なお、記事内では全てCATIAの言語を英語にした場合の表記としています。

②ExcelとCATIAの連携確認

CATIAのセキュリティ設定によっては、Excelからの制御が出来ない場合があります。
以下に紹介するコードをExcelで実行し、ExcelとCATIAの連携が可能か確認して下さい。
(CATIAを重複起動していない状態で行ってください)

Sub test()

 Set myCATIA = Nothing

 On Error GoTo Err

 Set myCATIA = GetObject(, "CATIA.Application")

 MsgBox "【成功】CATIAから情報を取得出来ました"

 Exit Sub

Err:
 MsgBox "【失敗】CATIAから情報を取得出来ませんでした"

End Sub

【成功」のメッセージが表示されればExcelとCATIAの連携が可能です。
それでは、本題に入ります。

1.CATPartの寸法をパラメーターで制御する

まずはCATPartの寸法をパラメーターで制御する手法を解説してきます。
今回は例として図1のような形状を使います。

画像1

図1-1. 今回編集する形状

1-1.そもそもパラメーター制御とは

例えば、図1の形状の穴径を5から10へ変更する際、スケッチに入って寸法を選択し、「10」と手打ちするのが一般的な方法です。
これをパラメーター制御へ置き換えると2つのメリットがあります。

パラメーター制御のメリット
①ツリー上に表示する事が出来て編集がしやすい。
②数式の設定が可能で、他のパラメーターと組み合わせる事が出来る。

画像4

図1-2. パラメーターの使用例

1-2.パラメーター制御をする為の準備

パラメーター制御を行うに当たり、ツリー上にパラメーターを表示する設定を行います。
「Option」から「Infrastructure」→「PartInfrastructure」→「Display」タブを選び、「Display In Specification Tree」の「Parameters」にチェックを入れて下さい。

画像3

図1-3. パラメーターの表示設定

1-3.実際にパラメーター制御してみよう

それでは、実際にパラメーターを作成し、制御する方法を解説します。
ツールバーの「Tools」か「Knowledge」ウィンドウから「Formula(関数)」をクリックして下さい。

画像4

図1-4. Formulaアイコン

すると、パラメーターの設定画面が開きますので、タイプから「Length」を選択し、「New Parameter of Type」をクリックします。

画像5

図1-5. パラメーター設定画面①

「Length 1」というパラメーターが追加されました

画像6

図1-6. パラメーター設定画面②

パラメーターの名前と値を編集、「OK」ボタンをクリックします。
(今回は名前を「W」、値を「50」としました)

画像7

図1-7. パラメーター設定画面③

「OK」をクリック後、ツリーに「Parameters」という項目が追加され、先ほど編集した内容のパラメーターが生成されます。

画像8

図1-8. 生成されたパラメーター

次に生成したパラメーターをスケッチの寸法にリンクさせていきます。
①制御したい寸法をダブルクリックし、値の編集画面に入ります。
②現在入力されている数値を右クリックします。
③「Edit formula」クリックし、「Formula Editor」を開きます。
(今回はスケッチの寸法ですが、パッドの押出し量等、寸法値を入力する項目であれば何でも可能です)

画像9

図1-9. 寸法値とパラメーターのリンク方法①

画像10

図1-10. 寸法値とパラメーターのリンク方法②

「Fomula Editor」を開いた状態でリンクさせたいパラメーターをツリー上から選択し、OKをクリックします。

画像11

図1-11. 寸法値とパラメーターのリンク方法③

これでスケッチの寸法値とパラメーターのリンクが完了しました。
リンク済みの寸法値は下の図のように「f(x)」と表示されます。

画像12

図1-12. 寸法値とパラメーターのリンク方法④

実際にパラメーターを変更してみます。
ツリー上のパラメーターをダブルクリックし、値を編集(今回は50→100)してからOKをクリックします。

画像13

図1-13. パラメーターの編集

スケッチの値が書き換わり、形状が変わりました。

画像14

図1-14. パラメーター編集後の形状

なお、寸法値とパラメーターをリンクする際には、数式の設定も可能です。

画像15

図1-15. パラメーターと数式の組み合わせ

以上でパラメーター制御の説明は終わりです。

2.CATPartのパラメーターをExcel VBAで制御する

次はいよいよ、このパラメーターをExcelから制御していきます。

2-1.まずは完成形をお見せします

先ほど解説したパラメーターを下図のように設定しました。
(Hはパッドの押出量)

画像16

図2-1. 今回設定したスケッチ

そして、今回作成するExcelファイルから値を編集し、マクロを実行します。

画像17

図2-2. 今回作成するExcelファイル

CATIAのデータがExcelの内容に書き換わりました。

画像18

図2-3. マクロ実行後のCATIAデータ

それでは、この制御を行う為のVBAコードです。

続きをみるには

残り 2,926字 / 2画像

¥ 500

期間限定 PayPay支払いすると抽選でお得に!

この記事が気に入ったらサポートをしてみませんか?