C#ATIA

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

スピードテスト4

こちらの続きです。kantoku.hatenablog.com

C#のマクロが遅い最大の原因は、アウトプロセスだろうと思い、
スピードテスト3のソースをDLL化し、VBA呼び出しで試してみました。

○インプロセス-ツールバー-C#DLL
 1回目:1.798秒
 2回目:1.823秒
 3回目:1.851秒

VBA並みの結果となりました。

DLL化しVBA呼び出しの手順などを記載したいところなのですが、
かなり手間取り、上手くまとめきれないのでそのうち記載します。

他にも色々見ましたが、特に参考とさせてもらったサイトです。
.NETのDLLをVBAから呼び出すには|くるーずの.NETブログ
ドラッグされたマネージドDLLをRegAsmで登録するスクリプト | 初心者備忘録
ネックなのは、レジストリに登録する必要があるところです。

あと、スピードテスト1で「インプロセス-VBエディタ」と書きましたが
VBエディタからの実行はアウトプロセスの様です。すいません。
(アウトプロセスは点が徐々に描かれますが、インプロセスは全ての点が
形状セットに入れられた時点で表示されます)