C#ATIA

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

DotNetでCATIA V5のマクロを作成する際の準備

DotNetでCATIAのマクロを作成する際の、主な準備などを
記載しておきます。 一番最初に書くべきでしたね。

最低限必要だと思われるものは、CATIA V5とVisual Studioです。
(VS無しでも、.NET Frameworkがインストールされていれば・・・
と言う話もありますが、無料でありますから)

当方は、「Visual Studio Express 2013 for Windows Desktop」
を使用していますが、2012と大差ないような記憶です。また今であれば
さらに高機能な「Visual Studio Community 2013」が有る様なので
そちらでも大丈夫かと思います。

正直、CATIAの端末にVSをインストールする事自体が、ハードル高いです。

VSを立ち上げ新しいプロジェクトを作った後、まずは参照設定で
CATIA V5関連のライブラリを追加します。
「COM」を選択すると、それっぽい名前のものがズラッと並んでいますので
チェックを入れます。
f:id:kandennti:20150424121811j:plain
量がかなりあるので、Shiftキーを押しながら上下のものを選択し、
Shiftキーを押したままチェックを入れると、全てのライブラリに
チェックが入ります。 が、実際に取り込まれるまでかなり時間が
かかるので、覚悟しましょう。
VBAの場合、プロジェクト作成すると参照設定されたものが出来上がるので
非常に面倒です。(なので、1個作って使いまわすのがよろしいかと)

VBAのCreateObjectメソッドを利用し、参照設定をせずに行う方法と
類似した事も可能なようですが、インテリセンスは使えますし、
エディタレベルでエラーは見付けてくれるし、手間でもやった方が
よろしいと思います。

と言う事で、この2点だけなんです。
(恐らくライセンスが無くても、インストールされていれば参照設定は
可能だと思います)



以前は必要な参照設定だけを取り込んでいました。理由は、ビルドした際
Interop.xxxx.dll」が参照設定した分だけ作成されていて、開発機以外で
実行するにはEXEファイルと、これらのファイルを配布しなければ動きません
でした。(当時これが一番ネックで、取り組むのを止めました)
こちらのソースを"Unofficial CATIA User Forum"にUpした頃はそうでした。
手始めに - C#ATIA
確か、CATIA V5 R20(かR18) で VS2010 で XP32bit機 だったような記憶です。

実際こちらにある、KinectCADのダウンロードファイル内にも幾つか
一緒に入っています。
KinectCAD | SourceForge.net

ところが今(R2012 VS2013 Win7 64Bit)は、ビルドしてもこれらのファイルは
作成されませんし、EXEファイル単体で他の端末で実行しても動きます。

この辺の理由がわかる方、いらっしゃいませんよね・・・。
(CATIAかVSのどちらかが、変わったのだと思いますが)
以前より、楽になった事は間違いないです。