Referência de elemento de componentes

O elemento Components é utilizado para especificar os componentes que compõem uma versão do plug-in.

Mais de um elemento Components pode ser usado para identificar os componentes do plug-in; cada elemento Components pode identificar um ou mais componentes. As informações do produto e da plataforma de um elemento Components são definidas com o elemento RuntimeRequirements.

Se todos os componentes definidos dentro de um elemento Components se aplicarem à mesma plataforma, não será necessário adicionar um elemento RuntimeRequirements a cada elemento ComponentEntry.

Junto com o elemento RuntimeRequirements, o elemento Components pode conter um ou mais dos elementos abaixo

Nota: Um elemento Components só pode ter um elemento RegistryEntries, SystemVariables e EnvironmentVariables, mas pode conter vários elementos ComponentEntry.

A tabela a seguir descreve as relações básicas do elemento Components e outros elementos que possa conter.

<Components>
  <RuntimeRequirements ... />

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

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

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

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

  <ComponentEntry ... />

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

Elemento ComponentEntry – suportado em produtos baseados no AutoCAD 2013 ou posterior

O elemento ComponentEntry é necessário e é utilizado para especificar os detalhes sobre cada componente individual no elemento Components.

É possível especificar quantos elementos ComponentEntry forem necessários. Os tipos de componentes podem ser um dos seguintes formatos:

Um elemento ComponentEntry pode conter um elemento Commands se o atributo LoadReasons for definido como LoadOnCommandInvocation.

Nota: Os elementos ComponentEntry são carregados na ordem em que estão listados na direção de cima para baixo. Portanto, quaisquer arquivos dos quais outros componentes dependem devem estar na parte inferior da lista. Por exemplo, se um módulo ObjectARX depende de um módulo ObjectDBX, o módulo ObjectARX precisará aparecer acima do módulo ObjectDBX na lista.

Um elemento ComponentEntry pode ter qualquer um dos seguintes atributos associados:

Atributo

Descrição

AppName

Opcional para AutoLISP, necessário para ObjectARX e .NET – Nome do componente; igual ao AppName na classe AcadAppInfo da API ObjectARX.

AppDescription

Descrição do componente; igual ao AppDescription na classe AcadAppInfo da API ObjectARX.

AppType

Tipo do componente; substitui o tipo derivado da extensão do arquivo fornecido no atributo ModuleName.

Esse tipo de componente pode ser um dos seguintes:

  • .Net – Montagem .NET Mista ou Gerenciada
  • Arx – ObjectARX
    Nota: Necessário para carregar um arquivo ARX de um conjunto no AutoCAD para Mac.
  • Atc – Paleta de ferramentas
  • Bundle – Pacote de conjunto
  • Cui ou CuiX – Personalização parcial
  • Dbx – ObjectDBX
  • Dependência – Recurso DLL (não pode ser carregado no produto baseado no AutoCAD)
  • JavaScript – JavaScript
  • Lisp ou CompiledLisp – AutoLISP/Visual LISP
  • Mnu – Personalização do menu
  • VBA – Projeto VBA
  • Xaml – Arquivo XAML usado para implementar uma guia contextual da faixa de opções

ModuleName

O caminho relativo para o componente dentro do conjunto; igual a ModuleName na classe AcadAppInfo da API ObjectARX.

O tipo de componente é determinado a partir da extensão do arquivo:

  • .atc - Paleta de ferramentas
  • .arx – ObjectARX
  • .cuix – Personalização parcial
  • .dbx – ObjectDBX
  • .dll – Montagem .NET Gerenciada
  • .dvb – Projeto VBA (produtos baseados no AutoCAD 2015 e versões posteriores)
    Nota: Os arquivos DVB exigem que o VBA Enabler seja instalado primeiro. Quando carregado, o usuário precisa clicar em "Ativar macros" antes de o projeto e suas macros possam ser acessados.
  • .js – JavaScript (produtos baseados no AutoCAD 2015 e versões posteriores)
  • .lsp, .fas ou .vlx – AutoLISP/Visual LISP
  • .xaml – Extensible Application Markup Language (produtos baseados no AutoCAD 2015 e versões posteriores)
    Nota: O atributo XamlType deve ser definido como "ContextualTabRule"

Se o aplicativo trabalhar com vários idiomas, versões diferentes de um componente específico podem ser determinadas usando a combinação de ModuleName com um código de localidade. Consulte Referência de códigos de localidade suportados para obter uma lista completa de Códigos de localidade suportados.

Nota: Todos os especificadores de caminho são '/' e não '\' e os caminhos estão relacionados à pasta .bundle da raiz.

PerDocument

Somente AutoLISP - Quando Verdadeiro, o arquivo AutoLISP é carregado uma vez por documento. O Padrão é Verdadeiro.

Loadreasons

Vários valores podem ser especificados – Defina os parâmetros do comportamento do carregamento do componente com LoadReasons, com a exceção do parâmetro LoadOnCommandInvocation.

Por padrão, LoadOnAutoCADStartup, LoadOnAppearance e LoadOnProxy são ativados (definidos como verdadeiros) se LoadReasons não for especificado. Se os parâmetros precisarem ser desativados (definidos como falsos), o elemento LoadReasons deve ser especificado junto com os parâmetros definidos como falsos.

Por padrão, LoadOnCommandInvocation está desativado, permitindo que desative LoadOnAutoCADStartup e LoadOnAppearance a não ser que estejam explicitamente ativados. Se um ou mais elementos de comando estiverem definidos como parte do elemento Componentes, LoadOnCommandInvocation estará implicitamente ativada.

Consulte o Guia de Referência ObjectARX para obter todos os detalhes em AcadAppInfo LoadReasons.

Valores de parâmetro válidos:

  • Verdadeiro - Parâmetro ativado.
  • Falso - Parâmetro desativado

Os seguintes parâmetros estão disponíveis:

  • LoadOnCommandInvocation. Carregar somente quando um comando personalizado for solicitado. Quando você usar este parâmetro, um elemento 'Commands' precisa ser incluído. Se LoadOnCommandInvocation estiver ativado, presume-se que LoadOnAutoCADStartup e LoadOnAppearance estejam desativados, a não ser que sejam explicitamente ativados. Somente se aplica a módulos AutoLISP, .NET e ObjectARX.
    Nota: Por motivos de desempenho de inicialização, é muito importante usar essa opção quando seus componentes definem comandos.
  • LoadOnAutoCADStartup. Carregado quando o produto baseado no AutoCAD é iniciado. Quando especificado, este parâmetro tem precedência sobre todos os outros parâmetros. É recomendado usar LoadOnAutoCADStartup somente quando nenhum dos outros parâmetros for adequado; mantenha-o desativado (definido como falso) sempre que possível. Se o parâmetro LoadOnAutoCADStartup for omitido, o padrão será definido como ativado (definido como verdadeiro), a não ser que LoadOnCommandInvocation seja ativado; nesse caso, o padrão de LoadOnAutoCADStartup será definido como falso. Somente se aplica a módulos .NET e ObjectARX.
  • LoadOnProxy.Carregar quando um proxy de uma entidade personalizada for detectado. Por padrão, este parâmetro é ativada, a não ser que seja explicitamente desativado (definido como falso). Quando ativado (definido como verdadeiro), LoadOnAutoCADStartup deve ser desativado. Somente se aplica a arquivos ObjectDBX.
  • LoadOnAppearance. Carregado quando o produto detecta o pacote de aplicativos em uma das pastas ApplicationPlugins e, portanto, aceita o carregamento instantâneo na instalação sem precisar reiniciar o produto baseado no AutoCAD. O parâmetro se comporta da mesma forma que LoadOnAutoCADStartup, exceto se o contexto de carregamento for relevante ao instalar um aplicativo durante a execução do produto, por exemplo, se instalado através do website Autodesk Exchange Apps.

XamlType

Tipo de XAML; o único valor suportado atualmente é "ContextualTabRule" e é necessário quando um arquivo XAML é atribuído ao atributo ModuleName. O arquivo do aplicativo que utiliza o arquivo XAML deve estar listado após o elemento ComponentEntry que contém o arquivo XAML.

Elemento RegistryEntries estiver - Suportado em produtos baseados no AutoCAD 2015 e versões posteriores

O elemento RegistryEntries é opcional e pode conter um ou mais elementos RegistryEntry. Um elemento RegistryEntry contém a definição de uma entrada no registro que o plug-in deve criar ou modificar. As entradas de registro são armazenadas no Registro do Windows ou em um arquivo de lista de propriedades (PLIST) no Mac OS.

Nota: No Windows, as entradas de registro são criadas em HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\<versão>:<produto>:<idioma>. Não é possível criar entradas de registro em outras localizações. A localização equivalente é usada nos arquivos PLIST no Mac OS.
Elemento RegistryEntry

Atributo

Descrição

Nome

Nome da entrada de registro a ser criada ou modificada.

Valor

Valor para atribuir para à entrada de registro.

O valor pode incluir um dos prefixos de operador opcionais: +, -, & e |.

Consulte a seção "Prefixos de operador do valor variável" para obter mais informações.

Nota: O prefixo do operador não é mantido quando o valor é aplicado à entrada de registro.

Tipo

Tipo de dados a ser atribuído à entrada de registro. Opcional ao modificar uma entrada de registro existente.

Os valores válidos são:

  • REG_SZ – Sequência de caracteres; nulo concluído
  • REG_EXPAND_SZ – Sequência de caracteres que contém uma variável de ambiente não expandida, como %APPDATA%; nulo concluído
  • REG_DWORD – Número inteiro de 32 bits não assinado
  • REG_QWORD – Número inteiro assinado de 64 bits

Se um operador prefixo for usado como parte do valor de entrada do registro, o tipo de dados correspondente deve ser especificado. Se não for usado o tipo de dados correspondente, a operação será tratada como uma operação de sequência de caracteres.

Sinalizadores

Sinalizadores opcionais, de criação e de modificação. Vários sinalizadores podem ser especificados; use um símbolo para separar cada sinalizador.

Os seguintes sinalizadores são suportados:

  • Criar - A entrada de registro é criada se ele não existir. (comportamento padrão)
  • Open - Altera o valor da entrada de registro cada vez que o plug-in é carregado e somente quando a entrada de registro já existe.
  • OpenOnce - Altera o valor da entrada de registro na primeira vez em que o plug-in é carregado e somente quando a entrada de registro já existe. Desinstalar e reinstalar o plug-in faz com que o valor de entrada do registro seja alterado novamente.
Nota: O sinalizador Open ou OpenOnce deve ser usado para alterar o valor de uma entrada de registro.

O exemplo a seguir cria a chave de registro MYREGKEY e adiciona os valores STRING e 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 - Suportado em produtos baseados no AutoCAD 2015 e versões posteriores

O elemento SystemVariables é opcional e pode conter um ou mais elementos SystemVariables. Um elemento SystemVariable contém a definição de uma variável de sistema que o plug-in deve criar ou modificar.

Elemento SystemVariable

Atributo

Descrição

Nome

Nome da variável de sistema a ser criada ou modificada.

Valor

Valor a ser atribuído à variável.

O valor pode incluir um dos prefixos de operador opcionais: +, -, & e |.

Consulte a seção "Prefixos de operador do valor variável" para obter mais informações.

Nota: O prefixo do operador não é mantido quando o valor é aplicado à variável.

PrimaryType

Tipo de dados a ser atribuído à variável. Opcional ao modificar uma variável de sistema existente.

Os valores válidos são:

  • Int16 – Inteiro assinado de 16 bits
  • Int32 – Inteiro de 32 bits
  • Real – Valor numérico duplo ou flutuante
  • String - Valor de caractere único ou múltiplo

Se um operador prefixo for usado como parte do valor da variável, o tipo de dados correspondente deve ser especificado. Se não for usado o tipo de dados correspondente, a operação será tratada como uma operação de sequência de caracteres.

StorageType

Localização de armazenamento para o valor da variável; quando é conservada. Opcional ao modificar uma variável de sistema existente.

Os valores válidos são:

  • Database – É conservada no arquivo de desenho em que a variável é criada
  • Profile – É conservada como parte do perfil do AutoCAD
  • Session – Não mantida entre as sessões ou no desenho em que é criada
  • User – É conservada como parte do FixedProfile para o AutoCAD

Proprietário

Opcional, nome de serviço AcRX.

Usado para criar uma variável de sistema somente leitura e somente modificável pelo aplicativo que registra o nome de serviço usando acrxRegisterService().

Sinalizadores

Sinalizadores opcionais, de criação e de modificação. Vários sinalizadores podem ser especificados; use um símbolo para separar cada sinalizador.

Os seguintes sinalizadores são suportados:

  • Create – A variável é criada se ele não existir. (comportamento padrão)

  • Open - Altera o valor da entrada de registro cada vez que o plug-in é carregado e somente quando a variável já existe.

  • OpenOnce - Altera o valor da variável na primeira vez em que o plug-in é carregado e somente quando a variável já existe. Desinstalar e reinstalar o plug-in faz com que a variável seja alterada novamente.

  • SpacesAllowed – permite o pressionamento da barra de espaço no prompt do comando. Se não for especificado, pressionar a barra de espaço é o mesmo que pressionar Enter.

    Nota: Utilize apenas com o sinalizador Create e quando o atributo PrimaryType definido para a sequência de caracteres.
  • DotIsEmpty – Permite a limpeza do valor de uma variável inserindo um "." (ponto) para o valor da variável.

    Nota: Utilize apenas com o sinalizador Create e quando o atributo PrimaryType definido para a sequência de caracteres.
  • NoUndo – As alterações para a variável não são gravadas e não pode ser desfeitas com os comandos U ou DESFAZER.

    Nota: Utilize apenas com o sinalizador Create.
  • Chatty - Executa uma notificação de reator, mesmo quando o valor da variável é definido como o valor atual.

    Nota: Utilize apenas com o sinalizador Create.
Nota: O sinalizador Open ou OpenOnce deve ser usado para alterar o valor de uma variável.

O exemplo a seguir cria uma variável de sistema chamada MYVARIABLE:

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

O exemplo a seguir altera o valor da variável de sistema CURSORSIZE para 100 quando o plug-in é carregado pela primeira vez:

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

Elemento EnvironmentVariables - Suportado em produtos baseados no AutoCAD 2015 e versões posteriores

O elemento EnvironmentVariables é opcional e pode conter um ou mais elementos EnvironmentVariable. Um elemento EnvironmentVariable contém a definição de uma variável de sistema que o plug-in deve criar ou modificar. As variáveis de ambiente são armazenadas no Registro do Windows ou em um arquivo de lista de propriedades (PLIST) no Mac OS.

Nota: O valor de uma variável de ambiente é sempre armazenado como uma sequência de caracteres, e o nome de uma variável de ambiente diferencia maiúsculas e minúsculas.
Elemento EnvironmentVariable

Atributo

Descrição

Nome

Nome da variável de ambiente a ser criada ou modificada.

Valor

Valor a ser atribuído à variável.

O valor pode incluir um dos prefixos de operador opcionais: +, -, & e |.

Consulte a seção "Prefixos de operador do valor variável" para obter mais informações.

Nota: O prefixo do operador não é mantido quando o valor é aplicado à variável.

Tipo

Opcional, o tipo de dados que o Valor representa.

Os valores válidos são:

  • Int16 – Inteiro assinado de 16 bits
  • Int32 – Inteiro assinado de 32 bits
  • Real – Valor numérico duplo ou flutuante
  • String - Valor de caractere único ou múltiplo

Se um operador prefixo for usado como parte do valor da variável, o tipo de dados correspondente deve ser especificado. Se não for usado o tipo de dados correspondente, a operação será tratada como uma operação de sequência de caracteres.

Sinalizadores

Sinalizadores opcionais, de criação e de modificação. Vários sinalizadores podem ser especificados; use um símbolo para separar cada sinalizador.

Os seguintes sinalizadores são suportados:

  • Create – A variável é criada se ele não existir. (comportamento padrão)
  • Open - Altera o valor da entrada de registro cada vez que o plug-in é carregado e somente quando a variável já existe.
  • OpenOnce - Altera o valor da variável na primeira vez em que o plug-in é carregado e somente quando a variável já existe. Desinstalar e reinstalar o plug-in faz com que a variável seja alterada novamente.
Nota: O sinalizador Open ou OpenOnce deve ser usado para alterar o valor de uma variável.

Segue abaixo um exemplo de criação de duas variáveis de ambiente denominadas MYNUMVAR e MYSTRVAR:

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

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

Prefixos de operador para valores de variável

Os prefixos de operador são utilizados para modificar o valor atual de uma variável quando o plug-in é carregado. É possível adicionar um dos prefixos de operador listados na tabela a seguir ao valor do atributo de um elemento RegistryEntry, SystemVariable ou Elemento EnvironmentVariable.

Prefixo

Descrição

+ (sinal de adição)

Acrescenta ou anexa um valor a um valor de variável existente.

Int16, Int32, Real: acrescenta Valor a um valor de variável existente.

String: acrescenta Valor do valor de uma variável existente.

- (hífen)

Subtrai ou remove um valor do valor de uma variável existente.

Int16, Int32, Real: subtrai Valor do valor de uma variável existente.

String: Removes Value do valor de uma variável existente.

& ("e" comercial)

Bit e operação com o valor da variável existente; somente valores numéricos são suportados.

| (barra vertical)

Bit ou operação com o valor da variável existente; somente valores numéricos são suportados.

Nota: Se o valor de uma variável deve começar com um dos prefixos do operador, adicione uma barra invertida antes do operador. Por exemplo, se o valor da variável deve ser +radius, insira o valor como \+radius.

O seguinte sempre ativa os snaps de objeto em execução END, MID, CEN, NOD, QUA e INT, e deixa todas as outras configurações de snap ao objeto como estão:

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

Elemento Commands - Suportado em produtos baseados no AutoCAD 2013 e versões posteriores

O elemento Commands é opcional, a não ser que o parâmetro LoadOnCommandInvocation seja ativado para o atributo LoadReasons. Usado para especificar quais comandos devem ser registrados em LoadOnCommandInvocation.

É possível especificar mais de um elemento Command como necessário.

Um elemento Commands pode ter os seguintes atributos associados:

Atributo

Descrição

GroupName

Nome usado para organizar os comandos relacionados.

Elemento Command - Suportado em produtos baseados no AutoCAD 2013 e versões posteriores

Especifica os nomes global e local de cada comando.

Um elemento Command pode ter qualquer um dos seguintes atributos associados:

Atributo

Descrição

Global

Nome do comando global.

Local

Nome do comando local.

Os comandos podem ser definidos em vários idiomas combinando Local com um código de localidade. Consulte Referência de códigos de localidade suportados para obter uma lista completa de Códigos de localidade suportados.

HelpTopic

Tópico de Ajuda para abrir quando o comando é ativado e F1 é pressionado.

Nota: Para exibir o tópico de Ajuda, um arquivo de ajuda deve ser atribuído para o plug-in. O local do arquivo de ajuda do plug-in é especificado com o atributo HelpFile no elemento ApplicationPackage.

StartupCommand

Executa o comando na inicialização quando Verdadeiro.