ObjectARX アプリケーションの定義済みコマンドや関数を使用するためには、まずこのアプリケーションをロードする必要があります。
ObjectARX アプリケーションは、次のいずれかの方法でロードすることができます。
ObjectARX の一部のサンプルには、AutoCAD を起動すると自動的にロードされる ObjectARX アプリケーション ファイルがリストされた acad.rx ファイルが含まれています。
このファイルは、ASCII テキスト ファイルを作成できるテキスト エディタやワード プロセッサを使用して作成、編集できます。必要に応じてこのファイルの内容を追加したり削除することで、用途に応じて適切な ObjectARX アプリケーションが使用できるようになります。別の方法として、APPLOAD[アプリケーション ロード]コマンドの[スタートアップ登録]オプションを使用して、指定したアプリケーションを自動的にロードすることができます。この方法を使用すると、ファイルを編集する必要はありません。
AutoCAD および AutoCAD ベースの製品は、ライブラリ パスで指定されている順序で、acad.rx ファイルを検索します。したがって、図面フォルダごとに別々の acad.rx ファイルを使用できます。このため、図面の特定の種類に応じた特定の ObjectARX アプリケーションを使用できます。たとえば、AcadJobs¥3d_dwgs というフォルダに、3D 図面を保存するとします。そのフォルダが現在のフォルダに設定されている場合、acad.rx ファイルをこのフォルダにコピーして、次のように修正します。
myapp1 otherapp
この新しい acad.rx ファイルを AcadJobs¥3d_dwgs フォルダに保存し、このフォルダを現在のフォルダにしてプログラムを起動します。これによって、この新しい ObjectARX アプリケーションがロードされ、コマンド プロンプトから使用できるようになります。元の acad.rx ファイルは AutoCAD プログラム ファイルが格納されているフォルダに残っているので、acad.rx ファイルのない別のフォルダからプログラムを起動すると、既定の acad.rx ファイルがロードされます。
arxload 関数を使用して、MNL ファイルから ObjectARX アプリケーションをロードできます。これにより、メニュー ファイルのロード時に、メニューの適切な操作に必要な ObjectARX アプリケーションが確実にロードできます。
arxload 関数の構文は、AutoLISP ファイルで使用する load 関数の構文とほとんど同じです。arxload 関数が ObjectARX アプリケーションのロードに成功すると、そのプログラム名が返されます。arxload 関数の構文は、次のとおりです。
(arxload filename [onfailure])
arxload 関数に対する 2 つの引数は、filename と onfailure です。load 関数の場合と同様に、filename 引数は必須で、ロードする ObjectARX アプリケーション ファイルの完全なパス名を指定します。onfailure 引数は省略可能で、コマンド プロンプトから ObjectARX アプリケーションをロードする場合は、通常指定しません。次の例は、ObjectARX アプリケーション myapp.arx をロードします。
(arxload "myapp")
AutoLISP ファイルの場合と同様に、プログラムはライブラリ パスで指定されたファイルを検索します。ライブラリ パスにないファイルをロードする必要がある場合は、ファイルの絶対パス名を記述する必要があります。
既にロードされているアプリケーションをロードしようとすると、エラーになります。arxload 関数を使用する前に、arx 関数を使用して、現在ロードされているアプリケーションを調べてください。
AutoLISP を使用してアプリケーションをロード解除するには、arxunload 関数を使用します。次の例では、myapp アプリケーションをロード解除しています。
(arxunload "myapp")
arxunload 関数を使用すると、メモリから ObjectARX アプリケーションがロード解除されるだけでなく、そのアプリケーションで定義されているコマンドも除去されます。