拡張データには、図面内に関係構造を保存するためにハンドル(dxf グループ コード 1005)を含めることができます。
これにより、あるオブジェクトから他のオブジェクトの Xdata へのハンドルを保存することで、2 つ以上の図形間の関係を構築することができます。後でハンドルを Xdata から取得して handent に渡すと、その図形を取得できます。複数の図形が別の図形を参照することができるため、Xdata のハンドルは必ずしも一意である必要はありません。AutoCAD の AUDIT[監査]コマンドでは、拡張データのハンドルが(現在の図面内で) NULL か、有効な図形のハンドルであることが要求されます。Xdata 図形のハンドルを有効にするための最善の方法は、entget を使用してその定義データから、参照先の図形のハンドルを直接取得することです。ハンドル値は、dxf グループ コード 5 に含まれています。
他の図面内の図形(たとえば、AutoCAD の XREF[外部参照]コマンドでアタッチした図形)を参照する場合は、ハンドル(dxf グループ コード 1005)ではなく拡張図形文字列(dxf グループ コード 1000)を使用することで AutoCAD の AUDIT コマンドの要求条件を満たすことができます。相互参照されている図形のハンドルは、現在の図面で有効でないか、または有効なハンドルと矛盾します。ただし、外部参照のアタッチが外部参照のバインドに変わる場合、または何らかの方法で現在の図面と結合された場合、それに応じた図形参照の修正はアプリケーション側で行わなければなりません。
図面が INSERT[ブロック挿入]、INSERT*、または XREF/[バインド(B)](XBIND[個別バインド])、または部分的な DXFIN[DXF 読み込み]により結合されている場合、ハンドルは現在の図面で有効になるよう変換されます(読み込む図面でハンドルが使用されていない場合は、新しいハンドルが割り当てられます)。読み込む図形を参照する拡張図形のハンドルは、これらのコマンドを呼び出したときにも変換されます。
AutoCAD の BLOCK[ブロック登録]コマンドを使用して図形をブロック定義に含めた場合は、そのブロック内の図形に新規のハンドルが割り当てられます(AutoCAD の OOPS[オブジェク復活]コマンドを使用して元の図形を復元した場合、元のハンドルは維持されます)。Xdata のハンドルの値は変わりません。AutoCAD の EXPLODE[分解]コマンドを使用してブロックを分解した場合、Xdata のハンドルは、図面を結合するのと同様の方法で変換されます。Xdata のハンドルが、ブロック内に存在しない図形を参照している場合、ハンドルは変更されません。ただし、Xdata のハンドルがブロック内の図形を参照している場合は、その Xdata のハンドルには新しい(分解された)図形のハンドルの値が割り当てられます。