Référence à l'élément Components

L'élément Components permet d'indiquer les composants qui constituent une version du plug-in.

Plusieurs éléments Components peuvent être utilisés pour identifier les composants d'un plug-in ; chaque élément Componentspeut identifier un ou plusieurs composants. Les informations de plate-forme et de produit pour un élément Components sont définies avec l'élément RuntimeRequirements.

Si tous les composants définis dans un élément Components s'appliquent à la même plateforme, vous n'avez pas besoin d'ajouter un élément RuntimeRequirements à chaque élément ComponentEntry.

Outre l'élément RuntimeRequirements, l'élément Components peut contenir un ou plusieurs des éléments suivants :

Remarque : Un élément Components ne peut disposer que d'un seul élément RegistryEntries, un seul élément SystemVariables et un seul élément EnvironmentVariables, mais peut contenir plusieurs éléments ComponentEntry.

Les paragraphes suivants présentent la relation de base entre l'élément Components et les éléments qu'il peut contenir.

<Components>
  <RuntimeRequirements ... />

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

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

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

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

    <AssemblyMappings>
      <AssemblyMapping ... />
      <AssemblyMappingFolder ... />
    </AssemblyMappings>

    <Commands ...>
      <Command ... />
    </Commands>
  </ComponentEntry>

  <ComponentEntry ... />
</Components>

Élément ComponentEntry (produits basés sur AutoCAD 2013 et versions ultérieures, AutoCAD LT 2024 et versions ultérieures)

L'élément requis ComponentEntry sert à fournir des détails sur chaque composant contenu dans l'élément Components.

Vous pouvez définir autant d'éléments ComponentEntry que vous le souhaitez. Les types de composants peuvent avoir les formats de fichier suivants :

Format Windows Mac OS
AutoCAD AutoCAD LT AutoCAD AutoCAD LT
Code source AutoLISP (LSP) --
Fichier AutoLISP à chargement rapide (FAS) --
Projet Visual LISP compilé (VLX) -- --
ObjectARX (ARX/CRX) -- --
ObjectDBX (DBX) -- --
Extensible Application Markup Language (XAML) -- --
JavaScript (JS) -- -- --
Ensemble .NET en mode mixte ou géré (DLL) -- -- --
Personnalisation partielle (CUI/CUIx) -- --
Palette d'outils (ATC) -- --
Projet VBA (DVB) -- -- --

Un élément ComponentEntry peut contenir un élément Commands si l'attribut LoadReasons est défini sur LoadOnCommandInvocation.

Remarque : Les éléments ComponentEntry sont chargés selon leur ordre dans la liste, mais du bas vers le haut. Par conséquent, tous les fichiers dont dépendent d'autres composants doivent être placés plus bas dans la liste. Par exemple, si un module ObjectARX dépend d'un module ObjectDBX, le module ObjectARX doit apparaître au-dessus du module ObjectDBX dans la liste.

Un élément ComponentEntry peut avoir les attributs suivants :

Attribute

Description

AppName

Facultatif pour AutoLISP, obligatoire pour ObjectARX et.NET - Nom du composant ; identique à l'élément AppName dans la classe AcadAppInfo de l'API ObjectARX.

AppDescription

Description du composant ; identique à l'élément AppDescription dans la classe AcadAppInfo de l'API ObjectARX.

AppType

Type de composant ; remplace le type dérivé de l'extension de fichier fournie dans l'attribut ModuleName.

Il peut s'agir des types de composants suivants :

  • .Net - ensemble .NET géré ou mixte
  • Arx - ObjectARX
    Remarque : Requis pour charger un fichier ARX dans AutoCAD for Mac à partir d'un module Bundle.
  • Atc - palette d'outils
  • Bundle - module Bundle
  • Cui ou CuiX - fichier de personnalisation partielle
  • Dbx - ObjectDBX
  • Dépendance - DLL de ressources (ne doit pas être chargée dans le produit basé sur AutoCAD)
  • JavaScript - JavaScript
  • Lisp ou CompiledLisp - AutoLISP/Visual LISP
  • Mnu - fichier de personnalisation de menu
  • VBA - projet VBA
  • Xaml - fichier XAML utilisé pour implémenter un onglet de ruban contextuel

ModuleName

Chemin relatif au composant dans le lot ; identique à l'élément ModuleName dans la classe AcadAppInfo de l'API ObjectARX.

Le type de composant est déterminé par l'extension de fichier :

  • .atc – palette d'outils
  • .arx – ObjectARX
  • .cuix – Personnalisation partielle
  • .dbx – ObjectDBX
  • .dll – Ensemble .NET géré
  • .dvb – projet VBA (produits basés sur AutoCAD 2015 et versions ultérieures)
    Remarque : Les fichiers DVB nécessitent en premier lieu l'installation de l'activateur VBA. Une fois qu'ils sont chargés, l'utilisateur doit cliquer sur "Activer les macros" pour pouvoir accéder au projet et à ses macros.
    Important : Actuellement, les fichiers de projet VBA peuvent uniquement être chargés lorsqu'un fichier de dessin est ouvert au démarrage, ce qui est effectué en attribuant la valeur 0 ou 1 à la variable système STARTUP.
  • .js - JavaScript (produits basés sur AutoCAD 2015 et versions ultérieures)
  • .lsp, .fas ou .vlx – AutoLISP/Visual LISP
    Remarque : Les fichiers VLX sont pris en charge sous Windows uniquement.
  • .xaml – Extensible Application Markup Language (Langage d'annotation d'application extensible, produits basés sur AutoCAD 2015 et ses versions ultérieures)
    Remarque : L'attribut XamlType doit être défini sur "ContextualTabRule"

Si votre application doit gérer plusieurs langues, différentes versions d'un composant spécifique peuvent être spécifiées en combinant ModuleName avec un code de localisation. Voir la section Référence des codes de localisation pris en charge pour obtenir une liste complète des codes de localisation pris en charge.

Remarque : Tous les identificateurs de chemin sont '/' et non '\' et les chemins font référence au dossier racine .bundle.

PerDocument

AutoLISP uniquement - Lorsque cet attribut a la valeur Vrai, le fichier AutoLISP est chargé une fois par document. La valeur par défaut est Vrai.

LoadReasons

Possibilité de spécifier plusieurs valeurs – Définit les paramètres de chargement du composant avec l'élément LoadReasons et l'exception du paramètre LoadOnCommandInvocation.

Par défaut, les attributs LoadOnAutoCADStartup, LoadOnAppearance et LoadOnProxy sont activés (définis sur Vrai) si l'élément LoadReasons n'est pas spécifié. Si des paramètres doivent être désactivés (définis sur Faux), l'élément LoadReasons doit être spécifié avec les paramètres définis sur Faux.

Par défaut, l'attribut LoadOnCommandInvocation est désactivé. S'il est activé, cela désactive les attributs LoadOnAutoCADStartup et LoadOnAppearance, sauf s'ils sont explicitement activés. Si un ou plusieurs éléments Command sont définis comme faisant partie de l'élément Components, LoadOnCommandInvocation est implicitement activée.

Voir le manuel de référence d'ObjectARX pour obtenir des détails sur AcadAppInfo LoadReasons.

Les paramètres peuvent prendre les valeurs suivantes :

  • Vrai - Le paramètre est activé.
  • Faux - Le paramètre est désactivé.

Les paramètres suivants sont disponibles :

  • LoadOnCommandInvocation. Charger uniquement lorsqu'une commande personnalisée est appelée. Lorsque vous utilisez ce paramètre, une élément Commands doit être inclus. Si LoadOnCommandInvocation est activé, LoadOnAutoCADStartup et LoadOnAppearance sont supposés être désactivés, sauf s'ils sont explicitement activés. S'applique uniquement aux fichiers AutoLISP, ObjectARX et .NET.
    Remarque : Pour des raisons de performances au démarrage, il est très important d'utiliser cette option lorsque vos composants définissent des commandes.
  • LoadOnAutoCADStartup. Charger au démarrage du produit basé sur AutoCAD. Lorsque ce paramètre est spécifié, il prévaut sur tous les autres paramètres. Il est recommandé de n'utiliser l'élément LoadOnAutoCADStartup que si aucun des autres paramètres ne convient ; désactivez-le (définissez-le sur Faux) autant que possible. Si le paramètre LoadOnAutoCADStartup est omis, il est activé par défaut (défini sur Vrai), sauf si LoadOnCommandInvocation est activé, auquel cas LoadOnAutoCADStartup est défini par défaut sur Faux. S'applique uniquement aux fichiers VBA Project, ObjectARX et .NET.
  • LoadOnProxy. Charger lorsqu'un proxy est détecté pour une entité personnalisée. Par défaut, ce paramètre est activé, sauf s'il est explicitement désactivé (défini sur Faux). Lorsque ce paramètre est activé (défini sur Vrai), LoadOnAutoCADStartup doit être désactivé. S'applique uniquement à des fichiers ObjectDBX.
  • LoadOnAppearance. Charger lorsque le logiciel détecte le lot d'applications dans un des dossiers ApplicationPlugins, permettant ainsi un chargement instantané à l'installation sans devoir redémarrer le produit basé sur AutoCAD. Ce paramètre se comporte de la même façon que LoadOnAutoCADStartup, sauf que le contexte de charge se rapporte à l'installation d'une application pendant l'exécution du produit, par exemple via le site Web Autodesk App Store.

XamlType

Type XAML ; la seule valeur prise en charge est actuellement "ContextualTabRule". Elle est obligatoire lorsqu'un fichier XAML est affecté à l'attribut ModuleName. Le fichier d'application qui utilise le fichier XAML doit être répertorié après l'élément ComponentEntry qui contient le fichier XAML.

Élément Commands (produits basés sur AutoCAD 2013 et versions ultérieures, AutoCAD LT 2024 et versions ultérieures)

L'élément Commands est facultatif, sauf si le paramètre LoadOnCommandInvocation est activé pour l'attribut LoadReasons. Permet de spécifier les commandes à enregistrer pour LoadOnCommandInvocation.

Vous pouvez spécifier plusieurs éléments Command si nécessaire.

Un élément Commands peut être associé aux attributs suivants :

Attribute

Description

GroupName

Nom utilisé pour organiser les commandes associées.

Élément Command (produits basés sur AutoCAD 2013 et versions ultérieures, AutoCAD LT 2024 et versions ultérieures)

Spécifie le nom local et le nom global de chaque commande.

Un élément Command peut avoir les attributs suivants :

Attribute

Description

Global

Nom de la commande globale.

Local

Nom de la commande locale.

Des commandes peuvent être définies pour plusieurs langues en combinant Local avec un code de localisation. Voir la section Référence des codes de localisation pris en charge pour obtenir une liste complète des codes de localisation pris en charge.

HelpTopic

Rubrique d'aide qui s'ouvre lorsque la commande est activée et que l'utilisateur appuie sur la touche F1.

Remarque : Pour afficher la rubrique d'aide, un fichier d'aide doit être affecté au plug-in. L'emplacement du fichier d'aide du plug-in est spécifié avec l'attribut HelpFile sous l'élément ApplicationPackage.

StartupCommand

Exécute la commande au démarrage si Vrai.

L'exemple suivant ajoute deux commandes définies dans un groupe nommé ADSKCMDS :

<Commands GroupName="ADSKCMDS">
    <Command Global="HELLOWORLD" Local="ADSKHELLOWORLD"/>
    <Command Global="DRAWLINE" Local="ADSKDRAWLINE"/>
</Commands>

Élément AssemblyMappings (produits basés sur AutoCAD 2013 et versions ultérieures)

L'élément AssemblyMappings est facultatif et peut contenir un ou plusieurs éléments AssemblyMapping ou AssemblyMappingFolder. Les éléments AssemblyMapping et AssemblyMappingFolder permettent d'ajouter des fichiers ensemble et des chemins de dossiers aux listes internes utilisées par AutoCAD pour résoudre les ensembles introuvables dans le dossier d'installation du produit.

Élément AssemblyMapping (produits basés sur AutoCAD 2013 et versions ultérieures)

Attribut

Description

Name

Nom de l'élément ComponentEntry auquel l'ensemble est associé et avec lequel il doit être chargé.

Path

Chemin relatif vers l'ensemble dans le bundle.

Élément AssemblyMappingFolder (produits basés sur AutoCAD 2022 et versions ultérieures)

Attribute

Description

Path

Chemin relatif vers les ensembles dans le bundle.

L'exemple suivant ajoute deux dossiers qui contiennent des ensembles utilisés par un composant :

<AssemblyMappings>
    <AssemblyMappingFolder Path="./Content/Assemblies" />
    <AssemblyMappingFolder Path="./Content/MoreAssemblies" />
</AssemblyMappings>

Élément RegistryEntries (produits basés sur AutoCAD 2015 et versions ultérieures, AutoCAD LT 2024 et versions ultérieures)

L'élément RegistryEntries est facultatif et peut contenir au moins un élément RegistryEntry. Un élément RegistryEntry contient la définition d'une entrée de registre que le plug-in doit créer ou modifier. Les entrées de registre sont stockées dans le registre Windows ou dans un fichier de liste de propriétés (PLIST) sur Mac OS.

Remarque : Sous Windows, les entrées de registre sont créées sous HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\<release>\ACAD-<produit>:<langue>. Il n'est pas possible de créer d'entrées de registre dans d'autres emplacements. L'emplacement équivalent est utilisé dans les fichiers PLIST sur Mac OS.
Elément RegistryEntry

Attribut

Description

Name

Nom de l'entrée de registre à créer ou à modifier.

Value

Valeur à affecter à l'entrée de registre.

La valeur peut inclure des préfixes opérateurs facultatifs : +, -, & et |.

Consultez la section "Préfixes opérateurs de valeur de variable" pour obtenir plus d'informations.

Remarque : Le préfixe opérateur n'est pas conservé lorsque la valeur est appliquée à l'entrée de registre.

Type

Type de données à affecter à l'entrée de registre. Facultatif lors de la modification d'une entrée de registre existante.

Les valeurs valides sont les suivantes :

  • REG_SZ – chaîne terminée par un caractère null
  • REG_EXPAND_SZ – chaîne contenant une variable d'environnement non-développée, telle que %APPDATA%, terminée par un caractère null
  • REG_DWORD – entier 32 bits non signé
  • REG_QWORD – entier 64 bits signé

Si un préfixe opérateur est utilisé en tant que valeur d'entrée de registre, le type de données approprié doit être spécifié. Si le type de données approprié n'est pas utilisé, l'opération sera traitée comme une opération de chaîne.

Flags

Indicateurs de création et de modification (facultatifs). Plusieurs indicateurs peuvent être spécifiés. Utilisez la barre verticale pour séparer chaque indicateur.

Les indicateurs suivants sont pris en charge :

  • Create – l'entrée de registre est créée si elle n'existe pas. (Comportement par défaut)
  • Open – modifie la valeur de l'entrée de registre à chaque fois que le plug-in est chargé et uniquement si l'entrée de registre existe.
  • OpenOnce – modifie la valeur de l'entrée de registre lors du premier chargement du plug-in et uniquement si l'entrée de registre existe. La désinstallation et la réinstallation du plug-in provoque une autre modification de la valeur de l'entrée de registre.
Remarque : Vous devez utiliser l'indicateur Open ou OpenOnce pour modifier la valeur d'une entrée de registre.

L'exemple suivant crée la clé de registre MYREGKEY et ajoute les valeurs STRING et NUMBER :

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

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

Élément SystemVariables (produits basés sur AutoCAD 2015 et versions ultérieures, AutoCAD LT 2024 et versions ultérieures)

L'élément SystemVariables est facultatif et peut contenir au moins un élément SystemVariables. Un élément SystemVariable contient la définition d'une variable système que le plug-in doit créer ou modifier.

Elément SystemVariable

Attribut

Description

Name

Nom de la variable système à créer ou à modifier.

Value

Valeur à attribuer à la variable.

La valeur peut inclure des préfixes opérateurs facultatifs : +, -, & et |.

Consultez la section "Préfixes opérateurs de valeur de variable" pour obtenir plus d'informations.

Remarque : Le préfixe opérateur n'est pas conservé lorsque la valeur est appliquée à la variable.

PrimaryType

Type de données à associer à la variable. Facultatif lors de la modification d'une variable système existante.

Les valeurs valides sont les suivantes :

  • Int16 – entier 16 bits signé
  • Int32 – entier 32 bits
  • Real – valeur numérique double ou flottante
  • String – valeur de caractère unique ou multiple

Si un préfixe opérateur est utilisé en tant qu'élément de la valeur de la variable, le type de données approprié doit être spécifié. Si le type de données approprié n'est pas utilisé, l'opération sera traitée comme une opération de chaîne.

StorageType

Emplacement de stockage de la valeur de la variable, lorsqu'elle est conservée. Facultatif lors de la modification d'une variable système existante.

Les valeurs valides sont les suivantes :

  • Database – conservé dans le fichier de dessin, la variable est créée
  • Profile – conservé en tant qu'élément de profil actuel d'AutoCAD
  • Session – non conservé parmi les sessions ou dans le dessin qui a été créé
  • User – conservé comme faisant partie du profil FixedProfile pour AutoCAD

Owner

Facultatif, nom de service ACRX.

Permet de créer une variable système en lecture seule et uniquement modifiable par l'application qui enregistre le nom de service à l'aide de acrxRegisterService().

Flags

Indicateurs de création et de modification (facultatifs). Plusieurs indicateurs peuvent être spécifiés. Utilisez la barre verticale pour séparer chaque indicateur.

Les indicateurs suivants sont pris en charge :

  • Create – la variable est créée si elle n'existe pas. (Comportement par défaut)

  • Open – modifie la valeur de la variable chaque fois que le plug-in est chargé et uniquement si la variable existe.

  • OpenOnce – modifie la valeur de la variable lors du tout premier chargement du plug-in et uniquement si la variable existe. La désinstallation et la réinstallation du plug-in provoque une autre modification de la valeur de la variable.

  • SpacesAllowed – autorise l'utilisation de la barre d'espacement dans l'invite de commande. Si elle n'est pas définie, appuyer sur la barre d'espacement a le même effet qu'appuyer sur ENTREE.

    Remarque : À utiliser uniquement avec la fonction de création d'indicateur et lorsque l'attribut PrimaryType est défini sur String.
  • DotIsEmpty - permet la suppression de la valeur d'une variable en entrant un "." (point) à la place de la valeur de la variable.

    Remarque : À utiliser uniquement avec la fonction de création d'indicateur et lorsque l'attribut PrimaryType est défini sur String.
  • NoUndo – les modifications apportées à la variable ne sont pas enregistrées et ne peuvent pas être annulées avec les commandes U ou ANNULER.

    Remarque : À utiliser uniquement avec la fonction de création d'indicateurs.
  • Chatty – envoie une notification de reactor, même lorsque la valeur de la variable est définie sur sa valeur actuelle.

    Remarque : À utiliser uniquement avec la fonction de création d'indicateurs.
Remarque : L'indicateur Open ou OpenOnce doit être utilisé pour modifier la valeur d'une variable.

L'exemple suivant crée une variable système appelée MYVARIABLE :

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

L'exemple suivant permet de modifier la valeur de la variable système CURSORSIZE sur 100 lorsque le plug-in est chargé pour la première fois :

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

Élément EnvironmentVariables (produits basés sur AutoCAD 2015 et versions ultérieures, AutoCAD LT 2024 et versions ultérieures)

L'élément EnvironmentVariables est facultatif et peut contenir au moins un élément EnvironmentVariable. Un élément EnvironmentVariable contient la définition d'une variable d'environnement que le plug-in doit créer ou modifier. Les variables d'environnement de registre sont stockées dans le registre Windows ou dans un fichier de liste de propriétés (PLIST) sur Mac OS.

Remarque : La valeur d'une variable d'environnement est toujours enregistrée comme une chaîne et le nom d'une variable d'environnement est sensible à la casse.
Elément EnvironmentVariable

Attribut

Description

Name

Nom de la variable d'environnement à créer ou modifier.

Value

Valeur à attribuer à la variable.

La valeur peut inclure des préfixes opérateurs facultatifs : +, -, & et |.

Consultez la section "Préfixes opérateurs de valeur de variable" pour obtenir plus d'informations.

Remarque : Le préfixe opérateur n'est pas conservé lorsque la valeur est appliquée à la variable.

Type

Type de données facultatif représenté par Value.

Les valeurs valides sont les suivantes :

  • Int16 – entier 16 bits signé
  • Int32 – entier 32 bits signé
  • Real – valeur numérique double ou flottante
  • String – valeur de caractère unique ou multiple

Si un préfixe opérateur est utilisé en tant qu'élément de la valeur de la variable, le type de données approprié doit être spécifié. Si le type de données approprié n'est pas utilisé, l'opération sera traitée comme une opération de chaîne.

Flags

Indicateurs de création et de modification (facultatifs). Plusieurs indicateurs peuvent être spécifiés. Utilisez la barre verticale pour séparer chaque indicateur.

Les indicateurs suivants sont pris en charge :

  • Create – la variable est créée si elle n'existe pas. (Comportement par défaut)
  • Open – modifie la valeur de la variable chaque fois que le plug-in est chargé et uniquement si la variable existe.
  • OpenOnce – modifie la valeur de la variable lors du tout premier chargement du plug-in et uniquement si la variable existe. La désinstallation et la réinstallation du plug-in provoque une autre modification de la valeur de la variable.
Remarque : L'indicateur Open ou OpenOnce doit être utilisé pour modifier la valeur d'une variable.

Voici un exemple de création de deux variables d'environnement nommées MYNUMVAR et MYSTRVAR :

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

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

Préfixes opérateurs pour les valeurs de variable

Les préfixes opérateurs sont utilisés pour modifier la valeur d'une variable lorsque le plug-in est chargé. Vous pouvez ajouter un préfixe opérateur dans le tableau suivant pour l'attribut Value de RegistryEntry, SystemVariable ou d'un élément EnvironmentVariable.

Prefix

Description

+ (signe plus)

Ajoute ou accole une valeur à une valeur de variable existante.

Int16, Int32, Real : ajoute la valeur Value à une valeur de variable existante.

String : accole la valeur Value à une valeur de variable existante.

- (trait d'union)

Soustrait ou supprime une valeur d'une valeur de variable existante.

Int16, Int32, Real : soustrait la valeur Value d'une valeur de variable existante.

String : supprime la valeur Value d'une valeur de variable existante.

& ("et" commercial)

Opération AND au niveau du bit avec la valeur existante de la variable. Seules les valeurs numériques sont prises en charge.

| (barre verticale)

Opération OR au niveau du bit avec la valeur existante de la variable. Seules les valeurs numériques sont prises en charge.

Remarque : Si la valeur d'une variable est censée commencer avec un des préfixes opérateurs, ajoutez une barre oblique inverse avant l'opérateur. Par exemple, si la valeur de la variable est censée être +rayon, entrez la valeur \+rayon.

L'exemple suivant active toujours les accrochages aux objets actifs END, MID, CEN, NOD, QUA et INT et laisse tous les autres paramètres d'accrochage aux objets inchangés :

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