Referencia del elemento Components

El elemento Components se utiliza para especificar los componentes que forman una versión del módulo de extensión.

Se pueden utilizar varios elementos Components para identificar los componentes de un módulo de extensión; cada elemento Components puede identificar uno o varios componentes. La información de producto y plataforma de un elemento Components se define con el elemento RuntimeRequirements.

Si todos los componentes definidos en un elemento Components se aplican a la misma plataforma, no es necesario añadir el elemento RuntimeRequirements a cada elemento ComponentEntry individual.

Junto con el elemento RuntimeRequirements, el elemento Components puede contener uno o varios de los siguientes elementos:

Nota: El elemento Components solo puede tener un elemento RegistryEntries, SystemVariables y EnvironmentVariables, pero puede contener varios elementos ComponentEntry.

A continuación se describe la relación básica del elemento Components y de todos los elementos que puede contener.

<Components>
  <RuntimeRequirements ... />

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

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

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

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

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

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

  <ComponentEntry ... />
</Components>

Elemento ComponentEntry (productos basados en AutoCAD 2013 y versiones posteriores, y AutoCAD LT 2024 y versiones posteriores)

El elemento ComponentEntry es obligatorio y se utiliza para especificar los detalles de cada componente individual del elemento Components.

Puede especificar todos los elementos ComponentEntry necesarios. Los tipos de componentes pueden tener uno de los siguientes formatos de archivo:

Formato de archivo Windows Mac OS
AutoCAD AutoCAD LT AutoCAD AutoCAD LT
Código de origen de AutoLISP (LSP) --
Archivo de AutoLISP de carga rápida (FAS) --
Proyecto de Visual LISP compilado (VLX) -- --
ObjectARX (ARX/CRX) -- --
ObjectDBX (DBX) -- --
Extensible Application Markup Language (XAML) -- --
JavaScript (JS) -- -- --
Ensamblaje de .NET de modo administrado o mixto (DLL) -- -- --
Personalización parcial (CUI/CUIx) -- --
Paleta de herramientas (ATC) -- --
Proyecto VBA (DVB) -- -- --

Un elemento ComponentEntry puede contener un elemento Commands si el elemento LoadReasons se ha establecido en LoadOnCommandInvocation.

Nota: Los elementos ComponentEntry se cargan en el orden en el que aparecen en la lista, pero de abajo a arriba. Por lo tanto, todos los archivos de los que dependen los demás componentes deben encontrarse en una posición inferior de la lista. Por ejemplo, si un módulo ObjectARX depende de un módulo ObjectDBX, el módulo ObjectARX debe aparecer encima del módulo ObjectDBX en la lista.

Un elemento ComponentEntry puede tener cualquiera de los siguientes atributos asociados:

Atributo

Descripción

AppName

Opcional para AutoLISP y obligatorio para ObjectARX y .NET: nombre del componente; igual que AppName en la clase AcadAppInfo de la API de ObjectARX.

AppDescription

Descripción del componente; igual al elemento AppDescription de la clase AcadAppInfo de la API de ObjectARX.

AppType

Tipo de componente; modifica el tipo derivado de la extensión de archivo que se proporciona en el atributo ModuleName.

El tipo de componente puede ser uno de los siguientes:

  • .Net: ensamblaje .NET administrado o mixto
  • .arx: ObjectARX
    Nota: Es necesario para cargar un archivo ARX desde un paquete en AutoCAD for Mac.
  • Atc: paletas de herramientas
  • Bundle: conjunto bundle
  • Cui o CuiX: personalización parcial
  • .dbx: ObjectDBX
  • Dependency: DLL de recursos (no se puede cargar en el producto basado en AutoCAD)
  • JavaScript: JavaScript
  • Lisp o CompiledLisp: AutoLISP/Visual LISP
  • Mnu: personalización del menú
  • VBA: el proyecto VBA
  • XAML: archivo XAML utilizado para implementar una ficha contextual de la cinta de opciones

ModuleName

Ruta relativa al componente incluido en el paquete; igual al elemento ModuleName de la clase AcadAppInfo de la API de ObjectARX.

El tipo de componente se determina a partir de la extensión de archivo:

  • Atc: paletas de herramientas
  • .arx: ObjectARX
  • .cuix: personalización parcial
  • .dbx: ObjectDBX
  • .dll: ensamblaje .NET administrado
  • .dvb: proyecto VBA (productos basados en AutoCAD 2015 y versiones posteriores)
    Nota: Para los archivos DVB, es necesario instalar primero el activador de VBA. Al cargarlos, el archivo debe hacer clic primero en "Activar macros" para poder acceder al proyecto y sus macros.
    Importante: Actualmente, los archivos de proyecto VBA solo se pueden cargar cuando se abre un archivo de dibujo al inicio. Para ello, se debe establecer la variable de sistema STARTUP en el valor 0 o 1.
  • .js: JavaScript (productos basados en AutoCAD 2015 y versiones posteriores)
  • .lsp, .fas o .vlx: AutoLISP/Visual LISP
    Nota: Los archivos VLX solo se admiten en Windows.
  • .xaml: lenguaje de marcado extensible, Extensible Markup Language (productos basados en AutoCAD 2015 y versiones posteriores)
    Nota: El atributo XamlType debe establecerse en "ContextualTabRule"

Si la aplicación va a utilizar varios idiomas, pueden especificarse distintas versiones de un componente específico mediante la combinación del elemento ModuleName con un código de configuración regional. Consulte la referencia de los códigos de configuración regional admitidos para obtener una lista completa de los mismos.

Nota: Todos los especificadores de ruta son '/' y no '\", y las rutas son relativas a la carpeta .bundle raíz.

PerDocument

Solo AutoLISP: si se establece en verdadero, el archivo de AutoLISP se carga una vez por cada documento. El valor por defecto es verdadero.

LoadReasons

Se pueden especificar varios valores: define los parámetros de comportamiento de carga del componente con LoadReasons, a excepción del parámetro LoadOnCommandInvocation.

Por defecto, LoadOnAutoCADStartup, LoadOnAppearance y LoadOnProxy están activados (establecidos en verdadero) si no se ha especificado LoadReasons. Si es necesario desactivar (establecer en falso) los parámetros, se debe especificar el elemento LoadReasons, junto con los parámetros definidos en falso.

Por defecto, LoadOnCommandInvocation está desactivado; si se activa, LoadOnAutoCADStartup y LoadOnAppearance se desactivarán a menos que se activen explícitamente. Si uno o varios elementos Command se han definido como parte del elemento Components, LoadOnCommandInvocation estará activado de forma implícita.

Consulte la Guía de referencia de ObjectARX para obtener información completa sobre AcadAppInfo LoadReasons.

Valores de parámetro válidos:

  • Verdadero: el parámetro está activado
  • Falso: el parámetro está desactivado

Están disponibles los siguientes parámetros:

  • LoadOnCommandInvocation. Solo se realiza la carga cuando se ejecuta un comando personalizado. Si se utiliza este parámetro, debe incluirse un elemento "Commands". Si LoadOnCommandInvocation está activado, se presupone que LoadOnAutoCADStartup y LoadOnAppearance están desactivados a menos que se activen de forma explícita. Solo se aplica a los archivos de AutoLISP, ObjectARX y .NET.
    Nota: Por motivos de rendimiento al iniciar, es muy importante utilizar esta opción cuando los componentes definen comandos.
  • LoadOnAutoCADStartup. Se realiza la carga cuando el producto basado en AutoCAD se inicia. Si se especifica, este parámetro tiene prioridad sobre todos los demás. Se recomienda que utilice LoadOnAutoCADStartup solo cuando ninguno de los demás parámetros sean adecuados, desactívelo (establecer en falso) siempre que sea posible. Si se omite el parámetro LoadOnAutoCADStartup se activará por defecto (establecer en verdadero), a menos que LoadOnCommandInvocation esté activado, en cuyo caso LoadOnAutoCADStartup se establece por defecto en falso. Solo se aplica a los archivos de proyecto VBA, ObjectARX y .NET.
  • LoadOnProxy. Se realiza la carga cuando se detecta un proxy de una entidad personalizada. Por defecto, este parámetro se activa a menos que se desactive de forma explícita (establecer en falso). Cuando está activado (establecido en verdadero), LoadOnAutoCADStartup debe desactivarse. Solo se aplica a archivos de ObjectDBX.
  • LoadOnAppearance. Se realiza la carga cuando el producto detecta el paquete de aplicación en una de las carpetas ApplicationPlugins, lo que permite una carga instantánea durante la instalación sin necesidad de reiniciar el producto basado en AutoCAD. El parámetro se comporta de la misma manera que LoadOnAutoCADStartup, salvo que el contexto de la carga es pertinente cuando se instala una aplicación mientras se ejecuta el producto, por ejemplo, si se instala mediante el sitio web de Autodesk App Store.

XamlType

Tipo de XAML; él único valor admitido actualmente es "ContextualTabRule" y este es necesario cuando se ha asignado un archivo XAML al atributo ModuleName. El archivo de la aplicación que utiliza el archivo XAML debería aparecer después del elemento ComponentEntry que contiene el archivo XAML.

Elemento Commands (productos basados en AutoCAD 2013 y versiones posteriores, y AutoCAD LT 2024 y versiones posteriores)

El elemento Commands es opcional, a menos que el parámetro LoadOnCommandInvocation se haya activado para el atributo LoadReasons. Se utiliza para especificar los comandos que deben registrarse para LoadOnCommandInvocation.

Puede especificar más de un elemento Command según sea necesario.

Un elemento Commands puede tener el siguiente atributo asociado:

Atributo

Descripción

GroupName

Nombre utilizado para organizar los comandos relacionados.

Elemento Command (productos basados en AutoCAD 2013 y versiones posteriores, y AutoCAD LT 2024 y versiones posteriores)

Especifica los nombres globales y locales de cada comando.

Un elemento Command puede tener cualquiera de los siguientes atributos asociados:

Atributo

Descripción

Global

Nombre de comando global.

Local

Nombre de comando local.

Los comandos pueden definirse para varios idiomas mediante la combinación del elemento Local con un código de configuración regional. Consulte la referencia de los códigos de configuración regional admitidos para obtener una lista completa de los mismos.

HelpTopic

Tema de Ayuda para abrir cuando el comando está activo y se pulsa F1.

Nota: Para mostrar el tema de ayuda, se debe asignar un archivo de ayuda al módulo de extensión. La ubicación del archivo de ayuda para el módulo de extensión se especifica con el atributo HelpFile en el elemento ApplicationPackage.

StartupCommand

Ejecuta el comando al inicio si se establece en verdadero.

En el ejemplo siguiente, se añaden dos comandos definidos en un grupo denominado ADSKCMDS:

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

Elemento AssemblyMappings (productos basados en AutoCAD 2013 y versiones posteriores)

El elemento AssemblyMappings es opcional y puede contener uno o varios elementos AssemblyMapping o AssemblyMappingFolder. Los elementos AssemblyMapping y AssemblyMappingFolder se utilizan para añadir archivos de ensamblaje y rutas de carpeta a listas internas con las que AutoCAD resuelve los ensamblajes que no se encuentran en la carpeta de instalación del producto.

Elemento AssemblyMapping (productos basados en AutoCAD 2013 y versiones posteriores)

Atributo

Descripción

Name

Nombre del elemento ComponentEntry con el que está asociado el ensamblaje y que debe cargarse.

Path

Ruta relativa al ensamblaje incluido en el paquete.

Elemento AssemblyMappingFolder (productos basados en AutoCAD 2022 y versiones posteriores)

Atributo

Descripción

Path

Ruta relativa a los ensamblajes incluidos en el paquete.

En el siguiente ejemplo, se añaden dos carpetas que contienen ensamblajes utilizados por un componente:

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

Elemento RegistryEntries (productos basados en AutoCAD 2015 y versiones posteriores, y AutoCAD LT 2024 y versiones posteriores)

El elemento RegistryEntries es opcional y puede contener uno o varios elementos RegistryEntry. El elemento RegistryEntry contiene la definición de una entrada del registro que debe crear o modificar el módulo de extensión. Las entradas del registro se almacenan en el Registro de Windows o en una lista de propiedades (PLIST) en Mac OS.

Nota: En Windows, las entradas del registro se crean en HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\<versión>\ACAD-<producto>:<idioma>. No se pueden crear entradas del registro en otras ubicaciones. La ubicación equivalente se utiliza en los archivos de PLIST en Mac OS.
Elemento RegistryEntry

Atributo

Descripción

Name

El nombre de la entrada del registro que se va a crear o modificar.

Value

El valor que se asignará a la entrada del registro.

El valor puede incluir uno de los prefijos de operador opcionales: +, -, & y |.

Consulte la sección "Prefijos de operador de los valores de variables" para obtener más información.

Nota: El prefijo de operador no se conserva cuando el valor se aplica a la entrada del registro.

Type

El tipo de datos que se asignará a la entrada del registro. Opcional al modificar una entrada del registro existente.

Los valores válidos son los siguientes:

  • REG_SZ: cadena, terminada en NULL.
  • REG_EXPAND_SZ: cadena que contiene una variable de entorno no expandida, como "%APPDATA%", terminada en NULL.
  • REG_DWORD: número de 32 bits sin signo.
  • REG_QWORD: entero de 64 bits con signo.

Si se utiliza un prefijo de operador como parte del valor de la entrada del registro, debe especificarse el tipo de datos correspondiente. Si no se utiliza el tipo de datos correspondiente, la operación se tratará como una operación de cadena.

Flags

Opcional, indicadores de creación y modificación. Se pueden especificar varios indicadores; utilice una barra vertical para separar cada indicador.

Se admiten los siguientes indicadores:

  • Create: se crea la entrada del registro si no existe. (Comportamiento por defecto)
  • Open: modifica el valor de la entrada del registro cada vez que se carga un módulo de extensión y solo si existe esa entrada.
  • OpenOnce: modifica el valor de la entrada del registro la primera vez que se carga el módulo de extensión y solo si existe esa entrada. Al desinstalar y volver a instalar el módulo de extensión, el valor de la entrada del registro se modifica de nuevo.
Nota: El indicador Open u OpenOnce debe utilizarse para modificar el valor de una entrada del registro.

En el ejemplo siguiente, se crea la clave del registro MYREGKEY y se suman los valores STRING y NUMBER:

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

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

Elemento SystemVariables (productos basados en AutoCAD 2015 y versiones posteriores, y AutoCAD LT 2024 y versiones posteriores)

El elemento SystemVariables es opcional y puede contener uno o varios elementos SystemVariables. El elemento SystemVariable contiene la definición de una variable de sistema que debe crear o modificar el módulo de extensión.

Elemento SystemVariable

Atributo

Descripción

Name

El nombre de la variable de sistema que se va a crear o modificar.

Value

El valor que se asignará a la variable.

El valor puede incluir uno de los prefijos de operador opcionales: +, -, & y |.

Consulte la sección "Prefijos de operador de los valores de variables" para obtener más información.

Nota: El prefijo de operador no se conserva cuando el valor se aplica a la variable.

PrimaryType

El tipo de datos que se asignará a la variable. Opcional al modificar una variable de sistema existente.

Los valores válidos son los siguientes:

  • Int16: entero de 16 bits con signo.
  • Int32: entero de 32 bits.
  • Real: valor numérico doble o flotante.
  • String: valor de uno o varios caracteres.

Si se utiliza un prefijo de operador como parte del valor de la variable, debe especificarse el tipo de datos correspondiente. Si no se utiliza el tipo de datos correspondiente, la operación se tratará como una operación de cadena.

StorageType

Ubicación de almacenamiento del valor de la variable, si se conserva. Opcional al modificar una variable de sistema existente.

Los valores válidos son los siguientes:

  • Database: se conserva en el archivo de dibujo en el que se crea la variable.
  • Profile: se conserva como parte del perfil de AutoCAD actual.
  • Session: no se conserva entre sesiones o en el dibujo en el que se crea.
  • User: se conserva como parte del elemento FixedProfile de AutoCAD.

Owner

Opcional, nombre del servicio de AcRX.

Se utiliza para establecer una variable de sistema como de solo lectura y para que solo la pueda modificar la aplicación que registra el nombre del servicio mediante acrxRegisterService().

Flags

Opcional, indicadores de creación y modificación. Se pueden especificar varios indicadores; utilice una barra vertical para separar cada indicador.

Se admiten los siguientes indicadores:

  • Create: se crea la variable si no existe. (Comportamiento por defecto)

  • Open: modifica el valor de la variable cada vez que se carga un módulo de extensión y solo si existe esa variable.

  • OpenOnce: modifica el valor de la variable la primera vez que se carga el módulo de extensión y solo si existe esa variable. Al desinstalar y volver a instalar el módulo de extensión, el valor de la variable se modifica de nuevo.

  • SpacesAllowed: permite pulsar la barra espaciadora en la solicitud de comando. Si no se especifica, pulsar la barra espaciadora es igual a pulsar Intro.

    Nota: Utilice este elemento solo con el indicador Create y cuando PrimaryType se haya establecido en String.
  • DotIsEmpty: permite borrar el valor de una variable mediante la introducción de un punto (".") para el valor de la variable.

    Nota: Utilice este elemento solo con el indicador Create y cuando PrimaryType se haya establecido en String.
  • NoUndo: los cambios realizados en la variable no se registran y no se pueden deshacer con los comandos H o DESHACER.

    Nota: Utilice este elemento solo con el indicador Create.
  • Chatty: activa una notificación del reactor, incluso aunque el valor de la variable se haya establecido en su valor actual.

    Nota: Utilice este elemento solo con el indicador Create.
Nota: El indicador Open u OpenOnce debe utilizarse para modificar el valor de una variable.

En el ejemplo siguiente, se crea una variable de sistema denominada MYVARIABLE:

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

En el ejemplo siguiente, se cambia el valor de la variable de sistema CURSORSIZE a 100 cuando se carga por primera vez el módulo de extensión:

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

Elemento EnvironmentVariables (productos basados en AutoCAD 2015 y versiones posteriores, y AutoCAD LT 2024 y versiones posteriores)

El elemento EnvironmentVariables es opcional y puede contener uno o varios elementos EnvironmentVariable. El elemento EnvironmentVariable contiene la definición de una variable de entorno que debe crear o modificar el módulo de extensión. Las variables de entorno se almacenan en el Registro de Windows o en una lista de propiedades (PLIST) en Mac OS.

Nota: El valor de una variable de entorno siempre se almacena como una cadena, y el nombre de una variable de entorno distingue entre mayúsculas y minúsculas.
Elemento EnvironmentVariable

Atributo

Descripción

Name

El nombre de la variable de entorno que se va a crear o modificar.

Value

El valor que se asignará a la variable.

El valor puede incluir uno de los prefijos de operador opcionales: +, -, & y |.

Consulte la sección "Prefijos de operador de los valores de variables" para obtener más información.

Nota: El prefijo de operador no se conserva cuando el valor se aplica a la variable.

Type

Opcional, el tipo de datos que representa Value.

Los valores válidos son los siguientes:

  • Int16: entero de 16 bits con signo.
  • Int32: entero de 32 bits con signo.
  • Real: valor numérico doble o flotante.
  • String: valor de uno o varios caracteres.

Si se utiliza un prefijo de operador como parte del valor de la variable, debe especificarse el tipo de datos correspondiente. Si no se utiliza el tipo de datos correspondiente, la operación se tratará como una operación de cadena.

Flags

Opcional, indicadores de creación y modificación. Se pueden especificar varios indicadores; utilice una barra vertical para separar cada indicador.

Se admiten los siguientes indicadores:

  • Create: se crea la variable si no existe. (Comportamiento por defecto)
  • Open: modifica el valor de la variable cada vez que se carga un módulo de extensión y solo si existe esa variable.
  • OpenOnce: modifica el valor de la variable la primera vez que se carga el módulo de extensión y solo si existe esa variable. Al desinstalar y volver a instalar el módulo de extensión, el valor de la variable se modifica de nuevo.
Nota: El indicador Open u OpenOnce debe utilizarse para modificar el valor de una variable.

En el ejemplo siguiente, se crean dos variables de entorno denominadas MYNUMVAR y MYSTRVAR:

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

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

Prefijos de operador para valores de variable

Los prefijos de operador permiten modificar el valor de una variable una vez cargado el módulo de extensión. Puede añadir uno de los prefijos de operador enumerados en la tabla siguiente para el atributo Value del elemento RegistryEntry, SystemVariable o EnvironmentVariable.

Prefijo

Descripción

+ (signo más)

Suma o añade un valor al valor de una variable existente.

Int16, Int32, real: suma Value al valor de una variable existente.

String: suma Value al valor de una variable existente.

- (guión)

Resta o elimina un valor al valor de una variable existente.

Int16, Int32, real: resta Value al valor de una variable existente.

String: resta Value al valor de una variable existente.

& (ampersand)

Operación "AND" de tipo binario con el valor existente de la variable; solo se admiten valores numéricos.

| (barra vertical)

Operación "OR" de tipo binario con el valor existente de la variable; solo se admiten valores numéricos.

Nota: Si se supone que el valor de una variable comienza por uno de los prefijos de operador, añada una barra diagonal inversa antes del operador. Por ejemplo, si se supone que el valor de la variable es +radius, introduzca el valor como \+radius.

Los siguientes elementos activan las referencias a objetos en ejecución END, MID, CEN, NOD, QUA e INT, y dejan todas las demás referencias a objetos "tal cual":

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