C#ATIA

↑タイトル詐欺 主にFusion360API 偶にCATIA V5 VBA(絶賛ネタ切れ中)

VBAでマクロを作成する際の我流な手順1

こちらでコメント頂いたので、
3Dの文字モデリングマクロ2 - C#ATIA
VBAでマクロを作成する際の我流な手順と言いますか、取っ掛かりの
ような部分を記載しておきます。
(世間一般的にどのような手順が正しいのかは知りません・・・)

ありがたい事に、全てではありませんがCATIAのマクロは記録が
取れるので、これを利用しない理由がありません。
内容的に形状セットが関係してくるので、形状セットを新たに作成し
リネームするところまで、記録してみます。
(マクロの記録自体の操作はExcelと同様です)

'vba
Sub CATMain()

Dim partDocument1 As PartDocument
Set partDocument1 = CATIA.ActiveDocument

Dim part1 As Part
Set part1 = partDocument1.Part

Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies

Dim hybridBody1 As HybridBody
Set hybridBody1 = hybridBodies1.Add()

part1.UpdateObject hybridBody1

End Sub

このような記録が取れました。 必ずと言うわけではありませんが
自分の場合は記録したマクロを再度実行しています。
理由は、全てが記録されるわけではない為です。
再度実行した状態です。
f:id:kandennti:20150623171217p:plain
記録する際は形状セットの名前を "hoge" としましたが、
再実行後に作成された形状セットは "形状セット.2" のままです。
つまり形状セット作成については記録が取れ、リネームについては記録が
取れなかった事が確認できます。


続いてソースコード見てみましょう。
Dim ~ As は変数宣言です。
Set ~ = は代入です。 VBAの場合、数値型、文字列型、日付型、
ブール型等は "Set" を付けず、他の物は "Set" が必要になります。
(正確に言えば、値型と参照型の違いです)
As以降が型になるので、エディタ上のカーソルでこのような感じに
選択状態にし、F1キーを押してみます。
f:id:kandennti:20150623171249p:plain
Excelと同様にHelp(これを、多くの方がAutomationManualと呼んでいます)
が起動しPartDocumentオブジェクトの説明が書かれています。
残念ながら日本語のものは存在しません。
f:id:kandennti:20150623171257p:plain
当方英語が全く駄目な為、翻訳サイトに投げ込んでみるのですが、明らかに
意味がすれ違っているなぁと感じつつ眺めてはみます。


と、肝心な部分は全く触れず次回に続きを書きます。(スイマセン)