Components 要素リファレンス

Components 要素は、1 つのバージョンのプラグインを構成するコンポーネントを指定するために使用されます。

複数の Components 要素を使用して、プラグインのコンポーネントを識別できます。各 Components 要素で、1 つまたは複数のコンポーネントを識別できます。Components 要素のプラットフォームと製品に関する情報は RuntimeRequirements 要素で定義します。

Components 要素内に定義されたすべてのコンポーネントが同じプラットフォームに適用されている場合、それぞれ個々の ComponentEntry 要素に RuntimeRequirements 要素を追加する必要はありません。

Components 要素には、RuntimeRequirements 要素と共に 1 つまたは複数の次の要素を含めることができます。

注: Components 要素が持てるのは 1 つの RegistryEntriesSystemVariables、および EnvironmentVariables 要素のみですが、複数の ComponentEntry 要素を含むことができます。

次に、Components 要素と、それに含めることができる要素との基本的な関係の概要を示します。

<Components>
  <RuntimeRequirements ... />

  <RegistryEntries>
    <RegistryEntry ... />
  </RegistryEntries>

  <SystemVariables>
    <SystemVariable ... />
  </SystemVariables>

  <EnvironmentVariables>
    <EnvironmentVariable ... />
  </EnvironmentVariables>

  <ComponentEntry ... >
    <RuntimeRequirements ... />
  </ComponentEntry>

  <ComponentEntry ... />

  <Commands ...>
    <Command ... />
  </Commands>
</Components>

ComponentEntry 要素 - AutoCAD 2013 ベース以降の製品でサポートされています

ComponentEntry 要素は必須であり、Components 要素内の個々のコンポーネントの詳細を指定するために使用します。

必要に応じて任意の数の ComponentEntry 要素を指定できます。コンポーネント タイプは、次のいずれかのファイル形式です。

LoadReasons 属性を LoadOnCommandInvocation に設定する場合、ComponentEntry 要素に Commands 要素を含めることができます。

注: ComponentEntry 要素はリストの下から順にロードされます。そのため、他のコンポーネントが依存しているファイルは、リストの下方に指定する必要があります。たとえば、ObjectARX モジュールが ObjectDBX モジュールに依存している場合、リストで ObjectARX モジュールを ObjectDBX モジュールよりも上に指定する必要があります。

ComponentEntry 要素には、次の任意の属性を付加できます。

属性

説明

AppName

AutoLISP の場合はオプション。ObjectARX および .NET の場合は必須。コンポーネント名です。ObjectARX API の AcadAppInfo クラスの AppName と同じです。

AppDescription

コンポーネントの説明です。ObjectARX API の AcadAppInfo クラスの AppDescription と同じです。

AppType

コンポーネント タイプです。ModuleName 属性に指定されているファイル拡張子から派生したタイプよりも優先されます。

コンポーネント タイプは次のいずれかです。

  • .Net – Managed または Mixed .NET アセンブリ
  • Arx – ObjectARX
    注: バンドルの ARX ファイルを AutoCAD for Mac にロードする必要があります。
  • Atc – ツール パレット
  • Bundle - バンドル パッケージ
  • Cui または CuiX – 部分カスタマイズ
  • Dbx – ObjectDBX
  • Dependency – リソース DLL(AutoCAD ベースの製品にはロードされません)
  • JavaScript – JavaScript
  • Lisp または CompiledLisp – AutoLISP/Visual LISP
  • Mnu – メニュー カスタマイズ
  • VBA – VBA プロジェクト
  • Xaml – コンテキスト リボン タブを実装するために使用する XAML ファイル

ModuleName

バンドル内のコンポーネントへの相対パスです。ObjectARX API の AcadAppInfo クラスの ModuleName と同じです。

コンポーネント タイプはファイルの拡張子から判断されます。

  • .atc - ツール パレット
  • .arx - ObjectARX
  • .cuix - 部分カスタマイズ
  • .dbx - ObjectDBX
  • .dll - マネージド .NET アセンブリ
  • .dvb – VBA プロジェクト(AutoCAD 2015 ベース以降の製品)
    注: DVB ファイルを初めてインストールするときに VBA Enabler が必要です。ロードした後、プロジェクトおよびマクロにアクセスするには、ユーザが[マクロを有効にする]をクリックする必要があります。
  • .js – Javascript (AutoCAD 2015 ベース以降の製品)
  • .lsp.fas.vlx – AutoLISP/Visual LISP
  • .xaml – Extensible Application Markup Language (AutoCAD 2015 ベース以降の製品)
    注: 属性 XamlType は、"ContextualTabRule" に設定する必要があります。

アプリケーションで複数の言語を処理する場合、異なるバージョンの各コンポーネントを指定するには、ModuleName とロケール コードを組み合わせます。サポートされているロケール コードの一覧については、「サポートされているロケール コード リファレンス」を参照してください。

注: すべてのパス指定子は「¥」ではなく「/」です。また、パスはルートの .bundle フォルダへの相対パスです。

PerDocument

AutoLISP のみ。True の場合、ドキュメントにつき 1 度 AutoLISP ファイルがロードされます。既定は True です。

Loadreasons

複数の値を指定できます。LoadReasons を使用するコンポーネントのロード動作パラメータ、および LoadOnCommandInvocation パラメータによるその例外を定義します。

LoadReasons が指定されていない場合、既定で LoadOnAutoCADStartupLoadOnAppearance、および LoadOnProxy が有効です。パラメータを無効にする(False に設定する)必要がある場合、False に設定したパラメータと共に LoadReasons 要素を指定する必要があります。

既定で LoadOnCommandInvocation は無効です。有効にすると、LoadOnAutoCADStartupLoadOnAppearance が明示的に有効にされていない場合は無効になります。1 つまたは複数のコマンドの要素が Components 要素の一部として定義されている場合、LoadOnCommandInvocation は暗黙的に有効になります。

AcadAppInfo LoadReasons の詳細については、『ObjectARX Reference Guide』を参照してください。

有効なパラメータ値:

  • True: パラメータは有効です
  • False: パラメータは無効です

次のパラメータを使用できます。

  • LoadOnCommandInvocation。カスタム コマンドが呼び出されたときにのみロードします。このパラメータを使用する場合、「Commands」要素を含める必要があります。LoadOnCommandInvocation が有効な場合、LoadOnAutoCADStartup および LoadOnAppearance は、明示的に有効にしない限り無効と見なされます。AutoLISP、ObjectARX および .NET モジュールにのみ適用されます。
    注: 起動パフォーマンスの理由から、コンポーネントでコマンドを定義するときにこのオプションを使用することが推奨されます。
  • LoadOnAutoCADStartup: AutoCAD ベースの製品の起動時にロードします。指定すると、このパラメータはその他すべてのパラメータよりも優先されます。LoadOnAutoCADStartup を使用するのは、他に適切なパラメータがない場合に限定し、可能な限り無効にする(False に設定する)ことが推奨されます。LoadOnAutoCADStartup パラメータを省略すると、LoadOnCommandInvocation を有効にしない限り、このパラメータは既定で有効です(True に設定されます)。このパラメータが有効な場合、LoadOnAutoCADStartup は既定で False です。ObjectARX および .NET モジュールにのみ適用されます。
  • LoadOnProxy。カスタム エンティティのプロキシが検出されたときにロードします。既定で、明示的に無効にして(False に設定して)いない限り、このパラメータは有効です。有効にする(True に設定する)場合、LoadOnAutoCADStartup を無効にする必要があります。ObjectDBX ファイルにのみ適用されます。
  • LoadOnAppearance。 製品で ApplicationPlugins フォルダのいずれかにアプリケーション バンドルが検出されたときにロードします。それによって AutoCAD ベースの製品を再起動しなくてもインストール時に即時ロードがサポートされます。このパラメータは LoadOnAutoCADStartup と同様に動作しますが、Autodesk Exchange Apps の Web サイトを介してインストールする場合、ロード コンテキストが、製品の実行中にアプリケーションをインストールするときに関連する点が異なります。

XamlType

XAML タイプ。現在、サポートされている値は "ContextualTabRule" のみで、XAML ファイルを ModuleName 属性に割り当てる場合に必要です。XAML ファイルを使用するアプリケーション ファイルは、XAML ファイルを含む ComponentEntry 要素の後に一覧表示されます。

RegistryEntries 要素 - AutoCAD 2015 ベース以降の製品でサポートされています

RegistryEntries 要素は省略可能で、1 つまたは複数の RegistryEntry 要素を含めることができます。RegistryEntry 要素には、プラグインを作成または修正するレジストリ エントリの定義が含まれます。レジストリ エントリは、Windows のレジストリまたは Mac OS のプロパティ リスト(PLIST)ファイルに格納されます。

注: Windows の場合、レジストリ エントリは、HKEY_CURRENT_USER¥Software¥Autodesk¥AutoCAD¥<リリース>¥ACAD-<製品>:<言語> の下に作成されます。他の場所にレジストリ エントリを作成することはできません。Mac の場合、PLIST 内の同じ場所が使用されます。
RegistryEntry 要素

属性

説明

Name

作成または修正するレジストリ エントリの名前。

Value

レジストリ エントリに割り当てる値。

値には次の接頭演算子(省略可能)を含めることができます: +-&|

詳細は、「変数値の接頭演算子」を参照してください。

注: 値がレジストリ エントリに適用された場合、接頭演算子は保持されません。

Type

レジストリ エントリに割り当てるデータ タイプ。既存のレジストリ エントリを修正する場合は省略可能。

有効な値は次のとおりです。

  • REG_SZ – 文字列。Null で終了
  • REG_EXPAND_SZ – %APPDATA% などの非拡張環境変数を含む文字列。Null で終了
  • REG_DWORD – 32 ビット符号なし整数
  • REG_QWORD – 64 ビット符号付き整数

レジストリ エントリの値の一部として接頭演算子を使用した場合は、適切なデータ タイプを指定する必要があります。適切なデータ タイプが使用されていない場合、演算は文字列の演算として扱われます。

Flags

省略可能、作成および修正フラグ。複数のフラグを指定することができます。各フラグを区切るには、パイプ記号を使用します。

次のフラグがサポートされています。

  • Create – レジストリ エントリが存在しない場合は作成されます。(既定の動作)
  • Open – プラグインがロードされるたびにレジストリ エントリの値が修正されます。レジスト エントリが存在する場合のみ。
  • OpenOnce – 初めてプラグインがロードされたときにのみレジストリ エントリの値が修正されます。レジストリ エントリが存在する場合のみ。 プラグインをアンインストールして再インストールすると、レジストリ エントリの値は再度変更されることになります。
注: Open または OpenOnce フラグは、レジストリ エントリの値を修正するために使用する必要があります。

次の例は、レジストリ キー MYREGKEY を作成して、値 STRING と NUMBER を追加します。

<RegistryEntries>
    <RegistryEntry
        Key="MYREGKEY"
        Name="STRING"
        Value="Example"
        Type="REG_SZ"
    />

    <RegistryEntry
        Key="MYREGKEY"
        Name="NUMBER"
        Value="123"
        Type="REG_DWORD"
    />
</RegistryEntries>

SystemVariables 要素 - AutoCAD 2015 ベース以降の製品でサポートされています

SystemVariables 要素は省略可能で、1 つまたは複数の SystemVariables 要素を含めることができます。SystemVariable 要素には、プラグインを作成または修正するシステム変数の定義が含まれます。

SystemVariable 要素

属性

説明

Name

作成または修正するシステム変数の名前。

Value

変数に割り当てる値。

値には次の接頭演算子(省略可能)を含めることができます: +-&|

詳細は、「変数値の接頭演算子」を参照してください。

注: 値が変数に適用された場合、接頭演算子は保持されません。

PrimaryType

変数に割り当てるデータ タイプ。既存のシステム変数を修正する場合は省略可能。

有効な値は次のとおりです。

  • Int16 – 16 ビット符号付き整数
  • Int32 – 32 ビット整数
  • Real – 単精度浮動小数点数または倍精度浮動小数点数
  • String – 単一または複数文字値

変数の値の一部として接頭演算子を使用した場合は、適切なデータ タイプを指定する必要があります。適切なデータ タイプが使用されていない場合、演算は文字列の演算として扱われます。

StorageType

変数の値を格納する場所。保持する場合。既存のシステム変数を修正する場合は省略可能。

有効な値は次のとおりです。

  • Database – 作成された変数は図面ファイルに保持されます
  • Profile – 現在の AutoCAD プロファイルの一部として保持されます
  • Session – セッション間および作成された図面には保持されません
  • User – AutoCAD の FixedProfile の一部として保持されます

Owner

省略可能。AcRX サービス名。

システム変数を読み込み専用にするために使用され、acrxRegisterService() を使用してサービス名を登録したアプリケーションによってのみ修正できます。

Flags

省略可能、作成および修正フラグ。複数のフラグを指定することができます。各フラグを区切るには、パイプ記号を使用します。

次のフラグがサポートされています。

  • Create – 変数が存在しない場合は作成されます。(既定の動作)

  • Open – プラグインがロードされるたびに変数の値が修正されます。変数が存在する場合のみ。

  • OpenOnce – 初めてプラグインがロードされたときにのみ変数の値が修正されます。変数が存在する場合のみ。プラグインをアンインストールして再インストールすると、変数の値は再度変更されることになります。

  • SpacesAllowed – コマンド プロンプトに対して[Spacebar]を押すことを許可します。指定しない場合、[Spacebar]を押すのは[Enter]を押すのと同じです。

    注: PrimaryType 属性が String に設定されている場合に、Create フラグと一緒にのみ使用します。
  • DotIsEmpty – 変数の値として "." (ピリオド)を入力することによって変数の値を消去できるようにします。

    注: PrimaryType 属性が String に設定されている場合に、Create フラグと一緒にのみ使用します。
  • NoUndo – 値の変更は記録されず、U[1 回元に戻す]または UNDO[元に戻す]コマンドで元に戻せなくなります。

    注: Create フラグと一緒にのみ使用します。
  • Chatty – 変数の値がその現在値に設定された場合にも、リアクタ通知を起動します。

    注: Create フラグと一緒にのみ使用します。
注: Open または OpenOnce フラグは、変数の値を修正するために使用する必要があります。

次の例は、MYVARIABLE という名前のシステム変数を作成します。

<SystemVariable
    Name="MYVARIABLE"
    PrimaryType="String"
    StorageType="User"
    Value="Example"
    Owner=""
    Flags="Create|DotIsEmpty|SpacesAllowed"
/>

次の例は、初めてプラグインがロードされたときに、システム変数 CURSORSIZE の値を 100 に変更します。

<SystemVariable
    Name="CURSORSIZE"
    Value="100"
    Flags="OpenOnce"
/>

EnvironmentVariables 要素 - AutoCAD 2015 ベース以降の製品でサポートされています

EnvironmentVariables 要素は省略可能で、1 つまたは複数の EnvironmentVariable 要素を含めることができます。EnvironmentVariable 要素には、プラグインを作成または修正する環境変数の定義が含まれます。環境変数は、Windows のレジストリまたは Mac OS のプロパティ リスト(PLIST)ファイルに格納されます。

注: 環境変数の値は常に文字列として格納され、環境変数の名前は大文字と小文字が区別されます。
EnvironmentVariable 要素

属性

説明

Name

作成または修正する環境変数の名前。

Value

変数に割り当てる値。

値には次の接頭演算子(省略可能)を含めることができます: +-&|

詳細は、「変数値の接頭演算子」を参照してください。

注: 値が変数に適用された場合、接頭演算子は保持されません。

Type

省略可能。Value のデータ タイプ。

有効な値は次のとおりです。

  • Int16 – 16 ビット符号付き整数
  • Int32 – 32 ビット符号付き整数
  • Real – 単精度浮動小数点数または倍精度浮動小数点数
  • String – 単一または複数文字値

変数の値の一部として接頭演算子を使用した場合は、適切なデータ タイプを指定する必要があります。適切なデータ タイプが使用されていない場合、演算は文字列の演算として扱われます。

Flags

省略可能、作成および修正フラグ。複数のフラグを指定することができます。各フラグを区切るには、パイプ記号を使用します。

次のフラグがサポートされています。

  • Create – 変数が存在しない場合は作成されます。(既定の動作)
  • Open – プラグインがロードされるたびに変数の値が修正されます。変数が存在する場合のみ。
  • OpenOnce – 初めてプラグインがロードされたときにのみ変数の値が修正されます。変数が存在する場合のみ。プラグインをアンインストールして再インストールすると、変数の値は再度変更されることになります。
注: Open または OpenOnce フラグは、変数の値を修正するために使用する必要があります。

次は、MYNUMVAR および MYSTRVAR という名前の 2 つの環境変数を作成する例です。

<EnvironmentVariables>
    <EnvironmentVariable
        Name="MYNUMVAR"
        Value="123"
    />

    <EnvironmentVariable
        Name="MYSTRVAR"
        Value="Example"
    />
</EnvironmentVariables>

変数の値の接頭演算子

接頭演算子は、プラグインがロードされたときに、変数の現在の値を修正するために使用します。次の表に一覧表示されている接頭演算子のいずれかを、RegistryEntrySystemVariable、または EnvironmentVariable 要素の Value 属性に追加することができます。

接頭語

説明

+ (プラス符号)

既存の変数の値に値を追加または末尾に追加します。

Int16、Int32, Real: 既存の変数の値に Value を追加します。

String: 既存の変数の値の末尾に Value を追加します。

- (ハイフン)

既存の変数の値から値を差し引く、または除去します。

Int16、Int32、Real: 既存変数の値から Value を差し引きます。

String: 既存の変数の値から Value を除去します。

& (アンパサンド)

変数の既存の値に対するビット方式の AND 演算。数値のみがサポートされています。

| (パイプ記号)

変数の既存の値に対するビット方式の OR 演算。数値のみがサポートされています。

注: 変数の値がいずれかの接頭演算子から始まる必要がある場合は、演算子の前に円記号を追加します。たとえば、変数の値が +radius である場合は、値として ¥+radius と入力します。

次の例では、定常オブジェクト スナップ END、MID、CEN、NOD、QUA、INT が常に有効になり、他のすべてのオブジェクト スナップは現在の設定が保持されます。

<SystemVariable
    Name="OSMODE"
    Value="|63"
    Flags="Open"
/>

Commands 要素 - AutoCAD 2013 ベース以降の製品でサポートされています

LoadReasons 属性に対して LoadOnCommandInvocation パラメータが有効な場合を除き、Commands 要素は省略可能です。LoadOnCommandInvocation に対して登録するコマンドを指定するために使用されます。

必要に応じて複数の Command 要素を指定できます。

Commands 要素には次の属性を付加できます。

属性

説明

GroupName

関連しあうコマンドをグループ化するために使用する名前です。

Command 要素 - AutoCAD 2013 ベース以降の製品でサポートされています

各コマンドのグローバル名とローカル名を指定します。

Command 要素には、次の任意の属性を付加できます。

属性

説明

Global

グローバル コマンド名です。

Local

ローカル コマンド名です。

複数の言語についてコマンドを定義するには、Local とローカル コードを組み合わせます。サポートされているロケール コードの一覧については、「サポートされているロケール コード リファレンス」を参照してください。

HelpTopic

コマンドがアクティブで[F1]が押されたときに表示されるヘルプ トピック。

注: ヘルプ トピックを表示するには、ヘルプ ファイルをプラグインに割り当てる必要があります。プラグインのヘルプ ファイルの場所は、ApplicationPackage 要素領域の HelpFile 属性で指定します。

StartupCommand

True の場合、起動時にコマンドが実行されます。