【AutoCAD VBA】図形のハンドルを取得するマクロの解説

 AutoCADでマクロを作成していると、特定の図形を識別して処理を行いたい場面に直面することがあります。そのような時に役立つのが「ハンドル」です。

本記事では、図形のハンドルとは何か、そしてそれを取得するためのVBAマクロの仕組みについて解説します。


ハンドルとは

ハンドルとは、AutoCAD内の各図形に割り当てられている英数字の番号のことです。

この番号は一つの図面内で重複することがありません。そのため、図形を正確に特定するための識別子として非常に重宝します。たとえば「5-EF」や「5F0」といった文字列で付与されており、DXFデータを扱う方にとっても馴染み深い要素かもしれません。


マクロでハンドルを取得する仕組み

マクロを使って図形からハンドルを取得する基本的な流れは以下のようになります。

  1. 図形の選択 ThisDrawing.Utility.GetEntity メソッドを使用し、画面上で対象となる図形を選択します。

  2. オブジェクト名の確認 選択した図形がどのようなオブジェクト(例:線分であれば AutoCAD DB Line など)であるかを取得します。

  3. ハンドルの取得 選択したオブジェクトに対して Handle プロパティ( obj.Handle )を呼び出すことで、図形固有の英数字番号を取得します。

このように、プロパティを参照するだけで簡単に図形を識別するためのデータを引き出すことができます。


動画での詳しい解説

実際の画面の動きや、VBAコードの詳細な記述方法については、以下の動画でわかりやすく解説しています。

文字だけではイメージしにくい動作の様子や、コードの全体像なども確認できますので、ぜひ学習の参考にしてください。