プログラムとサポート ファイルの既定のフォルダ構造は、ファイルを論理的なグループに効率的に編成するように考えられています。
プログラムとサポートファイルの既定の編成がニーズに合わないときは、変更することができます。しかし、アプリケーションによっては、特定の場所にある特定のファイルを必要とするものがあるため、修正した結果がそのようなアプリケーションの要求条件と矛盾しないことを確認してください。ドライブとフォルダを含む絶対パスを指定しないと、プログラムはライブラリ検索パスにあるファイルしか探すことができません。
ローカルとローミング可能なカスタマイズ可能ファイルが格納されている場所は、オペレーティング システムのユーザ プロファイルを参照して特定されます。ローカル フォルダとローミング可能フォルダの場所には、次のシステム変数を使用してアクセスできます。
- LOCALROOTPREFIX: ローカルのカスタマイズ可能ファイルがインストールされているルート フォルダへの絶対パスを格納します。
- ROAMABLEROOTPREFIX: ローミング可能なカスタマイズ可能ファイルがインストールされているルート フォルダへの絶対パスを格納します。
Windows 版 AutoCAD 2013 SP1 ベースの製品および AutoCAD 2014 for Mac 以降、予約された acad<リリース番号>.lsp と acad<リリース番号>doc.lsp ファイルとその後継ファイルは、製品の既定のインストール フォルダからのみロードされるようになりました。システム変数 SECURELOAD の設定によっては、システム変数 TRUSTEDPATHS によりフォルダが指定され、AutoCAD ベースの製品は、このフォルダからのみ、コードが含まれている他のファイルをロードし、実行することができます。さらに、システム変数 LEGACYCODESEARCH により、作業フォルダで実行ファイルを検索するかどうかがコントロールされます。
注: AutoLISP アプリケーションは、AutoCAD LT ではサポートされていません。
次の AutoLISP サンプル コードは CUSTFILES コマンドを定義し、ローミング可能なカスタマイズ可能ファイルがインストールされている場所でファイル エクスプローラを開きます。
注: SHELL[シェル]コマンドは Windows でのみ使用可能です。AutoLISP は、AutoCAD LT では使用できません。
(defun c:custfiles ()
(command "shell"
(strcat "explorer \"" (getvar "roamablerootprefix") "\"")
)
(princ)
)
ライブラリ検索パス
ライブラリ検索パスには、ユーザが絶対パス名を指定しない場合にプログラムがファイルを検索するパスが次のように指定されています。
- 作業フォルダ: このフォルダは、その中のファイルをダブルクリックしたフォルダによって決定されるか(Windwos または Mac OS)、または Windows のショートカット アイコンの[作業フォルダー]属性によって決定されます。(システム変数 STARTINFOLDER)
- 現在の図面ファイルが格納されているフォルダ: (システム変数 DWGPREFIX)
- 外部参照ファイル(イメージ、外部参照、アンダーレイなど)のプロジェクト名のフォルダ: (システム変数 PROJECTNAME)
- プログラムのサポート ファイルの検索パスにリストされているフォルダ: (システム変数 ACADPREFIX)
- インストールされたプログラム ファイルが含まれているフォルダ:
現在の環境によっては、2 つ以上のフォルダが同じフォルダであることもあります。
重要: AutoCAD 2016 ベースの製品から、システム変数 LEGACYCODESEARCH で、作業フォルダと図面フォルダで実行ファイルを検索するかどうかがコントロールされます。作業フォルダと図面フォルダは、有害ソフトのターゲットとなることが多いため、システム変数 LEGACYCODESEARCH は 0 (オフ)に設定することをお勧めします。
ファイルがこの検索パスにないときは、ファイルの絶対パス名または相対パス名と、ファイル名を指定しないと、プログラムはファイルを見つけることができません。たとえば、現在の図面に part5.dwg ファイルを挿入する場合、この図面がライブラリの検索パスになければ、図面ファイルの絶対パス名、またはライブラリの検索パスの有効なパスに基づいた相対パス名を指定する必要があります。ここでは、相対パス名を指定します。
コマンド: -insert
ブロック名を入力 または [一覧(?)]: /files2/olddwgs/part5
フォルダ構造
プログラムでは、ツリー構造のフォルダとサブフォルダが使用されます。AutoLISP アプリケーション(AutoCAD LT では使用できません)、カスタマイズ ファイル、サードパーティのアプリケーションなどの補足的なファイルは、インストールされたプログラム ファイルやサポート ファイルとは別の場所に格納することをお勧めします。そうすることで、起こり得る矛盾点を容易につきとめられる他、各アプリケーションを互いに影響することなくアップグレードできます。
プログラムの既定の場所は、Windows では Program Files フォルダで、Mac OSでは Applications です。新しいフォルダ(たとえば ¥AcadApps)を同じレベルに作成して、カスタム プログラム、カスタマイズ ファイル、その他のサードパーティ アプリケーションを次のレベルのサブフォルダに格納することができます。また、(個々の作業ファイル用に)複数の図面フォルダを必要とする場合は、作業ごとに複数のサブフォルダを含むフォルダ(たとえば ¥AcadJobs)を作成できます。
コマンド検索プロシージャ
コマンドを入力すると、アプリケーションはコマンド名が有効かどうかを確認する一連の手順を実行します。次のコマンドを利用することができます。
- 組み込みコマンドまたはシステム変数
- 外部コマンドまたは acad.pgp(AutoCAD LT では acadlt.pgp)ファイルで定義されているエイリアス
- autoCorrectUserDB.pgp ファイルのコマンドの AutoCorrect エントリ
- acadSynonymsGlobalDB.pgp ファイルのコマンドの同義語エントリ
- ユーザ定義の AutoLISP コマンド
- ObjectARX または Managed .NET アプリケーションによってユーザ定義されているコマンド
- デバイス ドライバ コマンド
注: AutoLISP、ObjectARX、Managed .NET アプリケーションは、AutoCAD LT ではサポートされていません。Managed .NET アプリケーションは、Mac OS ではサポートされていません。
コマンドは、コマンド プロンプトに対して入力するか、ユーザ インタフェースから開始することができます。また、コマンドは、スクリプト ファイルから開始したり、AutoLISP や ObjectARX、Managed .NET アプリケーションから開始することもできます。
次に、コマンド名を確認するための検索の順序を示します。
- NULL 入力をする([Spacebar]または[Enter]を押す)と、最後に呼び出されたコマンド名が使用されます。既定は HELP[ヘルプ]コマンドです。
- コマンドは、組み込みコマンドのリストを照会して調べられます。そのコマンドがリストにあっても、前にピリオド(.)が付いていないときは、さらに定義解除されたコマンドのリストを照会してそのコマンドが調べられます。そのコマンドが未定義であるときは、検索を続けます。そのコマンドが定義されている場合は、コマンドを実行できない理由がなければ、そのコマンドを実行します。割り込みで実行できなかったり、パース ビュー モードでは実行できない場合があります。
- コマンドは、デバイス ドライバで定義されているコマンド名を照会して調べられ、次にディスプレイ ドライバで定義されているコマンド名を照会して調べられます。
- コマンドは、プログラム パラメータ ファイルで定義されている外部コマンドを照会して調べられます。そのコマンド名が定義されている外部コマンドと一致するときは、そのコマンドを実行して、検索を完了します。
- コマンドは、AutoLISP、ObjectARX、Managed .NET アプリケーションで定義されているコマンドのリストを照会して調べられます。この時点で、自動ロード コマンドがロードされます(AutoCAD LT では使用できません)。
- システム変数のリストを照会してそのコマンド名が調べられます。コマンド名がリストにあるときは、システム変数名が入力されたものとして SETVAR[変数設定]コマンドが実行されます。
- コマンド名がコマンドのエイリアス、AutoCorrect 名、関連付けられたプログラム パラメータ ファイルに定義されている同義語と一致するときは、展開されたコマンド名が使用され、組み込みコマンドのリストを照会して新たに検索を開始します。
- 以上の手順がすべて失敗すると検索が終了し、そのコマンド名が無効であることを示す警告メッセージが表示されます。