この記事はこのような人に向けて書いています。
こんにちは。ゆー です。
iCADを普段から使っている皆さん、もっと進んだ使い方をしてみませんか。
VBAとiCADを連携させることで、業務をより効率的に進めることができます。
しかし中にはこんな方もいらっしゃるでしょう。
VBAでiCADを動かせるって聞いたけど、どうやるんだろう。
そこで今回は、私が作成したVBAのサンプルコードを使ってVBAによるiCAD操作を実践してみましょう。
ツール作成への第一歩を今日、踏み出しましょう!
VBAプログラムはVBE(Visual Basic Editor)を用いて編集するので、まずはVBEをエクセルから起動します。
エクセルは初期設定では開発タブが表示されていません。
VBAのプログラミングでは開発タブを頻繁に使用しますので、以下の手順で表示させてください。
さっそくVBAでiCADを動かしてみましょう。
今回はiCADを2次元画面に切り替えるプログラムを作成します。
以下のコードをコードウィンドウにコピペしてください。
Sub iCAD_2D_Activation() '----------------------------------------------------------- '2D画面をアクティブにする '----------------------------------------------------------- '変数を設定 Dim myObject As Object 'iCADオブジェクトを格納する変数 Dim CurrDimn As Integer '現在の次元を格納する変数 Dim MacroStr As String 'iCADマクロを格納する変数 'オブジェクトをセット Set myObject = CreateObject("ICAD.Application") On Error GoTo ErrLabel 'iCADをアクティブにする myObject.Activate 'アクティブな次元(2D or 3D)を取得する CurrDimn = myObject.ActiveDrawing.ActiveViewDimension ' Debug.Print CurrDim 'アクティブ次元が3だったら次元切替を行う If CurrDimn = 3 Then MacroStr = ";DIMSW1 @GO" 'iCADマクロを代入:次元切替 myObject.Activate 'iCADをアクティブにする myObject.RunCommand MacroStr 'iCADマクロを実行 End If Exit Sub ErrLabel: MsgBox "iCADが起動していません" End Sub
こんな感じです。
まずはiCADを閉じて(起動していない状態で)プログラムを実行してみてください。
プログラムを実行するには、Sub~End Subのどこかにカーソル(点滅する縦線)がある状態で実行ボタンをクリック(またはF5キーを押下)します。
下記のようなメッセージが表示されればプログラムは正常です。
OKをクリックして、次の項目に進みましょう。
今度はiCADを起動し、3次元画面が表示されている状態で、プログラムを実行してみましょう。
iCADが3次元画面から2次元画面に切り替わるはずです。
動画のようになれば成功です。
今回のプログラムは「iCADを2次元画面にするだけ」ですが、さらに応用を効かせアイデアを盛り込んだりすることで、業務で大活躍するツールにすることができます。
iCADにはVBA活用のための資料が備わっています。
VBAでのツール開発には必須の資料ですので、一度は目を通しておきましょう。
中には難解な部分もありますので、すぐに理解しなくて大丈夫です。
まずはこういう資料が存在しているということを把握して、必要になったときに解読していくのが良いと思います。
参照方法
VBAを使った初歩的なツール作成例や手順が用意されています。
自分で基礎的なことを始めてみたい!という方は、この資料を読むことから始めてみるとよいでしょう。
参照方法
VBA(およびVB.NET)でiCADを操作するために必要なメソッドなどの一覧です。
メソッドとは例えるとiCADを操作するための魔法の呪文のようなものです。
たとえば先ほど作成したプログラムでは下記の呪文を使用しています。
「iCADに◯◯させたい!」というときは、VB I/Fヘルプを参照して操る呪文を探しましょう。
本ブログ記事に掲載しているiCADの画像についての注意事項です。
iCAD ✕ VBAライブラリ活用事例解説【正多角柱の自動生成ツール】
iCAD SX 穴ライブラリ ダウンロード