Riferimento per l'elemento Components

L'elemento Components viene utilizzato per specificare i componenti che costituiscono una versione del plug-in.

È possibile utilizzare più elementi Components per identificare i componenti di un plug-in. Ogni elemento Components può identificare uno o più componenti. Le informazioni relative alla piattaforma e al prodotto di un elemento Components vengono definite dall'elemento RuntimeRequirements.

Se tutti i componenti definiti all'interno di un elemento Components si applicano alla stessa piattaforma, non è necessario aggiungere un elemento RuntimeRequirements ad ogni singolo elemento ComponentEntry.

Oltre all'elemento RuntimeRequirements, l'elemento Components può contenere uno o più dei seguenti elementi:

Nota: Un elemento Components può disporre di un solo elemento RegistryEntries, SystemVariables ed EnvironmentVariables ma può contenere più elementi ComponentEntry.

Di seguito viene descritta la relazione di base dell'elemento Components e degli eventuali elementi che può contenere.

<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 (prodotti basati su AutoCAD 2013 e versioni successive, AutoCAD LT 2024 e versioni successive)

L'elemento ComponentEntry è obbligatorio e viene utilizzato per specificare i dettagli relativi ad ogni singolo componente dell'elemento Components.

È possibile specificare un numero illimitato di elementi ComponentEntry in base alle esigenze. I tipi di componenti possono essere uno dei seguenti formati di file:

Formato file Windows Mac OS
AutoCAD AutoCAD LT AutoCAD AutoCAD LT
Codice sorgente AutoLISP (LSP) --
File AutoLISP a caricamento rapido (FAS) --
Progetto Visual LISP compilato (VLX) -- --
ObjectARX (ARX/CRX) -- --
ObjectDBX (DBX) -- --
Extensible Application Markup Language (XAML) -- --
JavaScript (JS) -- -- --
Assembly .NET gestito o in modalità mista (DLL) -- -- --
Personalizzazione parziale (CUI/CUIx) -- --
Tavolozza degli strumenti (ATC) -- --
Progetto VBA (DVB) -- -- --

Un elemento ComponentEntry può contenere un elemento Commands se l'attributo LoadReasons è impostato su LoadOnCommandInvocation.

Nota: Gli elementi ComponentEntry vengono caricati nell'ordine in cui sono elencati, ma dal basso verso l'alto. Di conseguenza, i file da cui dipendono altri componenti devono essere inclusi nella parte inferiore dell'elenco. Ad esempio, se un modulo ObjectARX dipende da un modulo ObjectDBX, il modulo ObjectARX deve essere visualizzato sopra al modulo ObjectDBX nell'elenco.

Un elemento ComponentEntry può presentare i seguenti attributi:

Attributo

Descrizione

AppName

Facoltativo per AutoLISP, obbligatorio per ObjectARX e .NET: il nome del componente. Corrisponde all'attributo AppName nella classe AcadAppInfo dell'API ObjectARX.

AppDescription

Descrizione del componente. Corrisponde all'attributo AppDescription nella classe AcadAppInfo dell'API ObjectARX.

AppType

Tipo di componente. Sostituisce il tipo derivato dall'estensione di file specificata nell'attributo ModuleName.

Il tipo di componente può essere uno dei seguenti:

  • .Net - Assembly .NET gestito o in modalità mista
  • Arx - ObjectARX
    Nota: Obbligatorio per caricare un file ARX da un bundle in AutoCAD for Mac.
  • Atc - Tavolozza degli strumenti
  • Bundle - Pacchetto bundle
  • Cui o CuiX - Personalizzazione parziale
  • Dbx - ObjectDBX
  • Dependency - DLL di risorsa (da non caricare in prodotti basati su AutoCAD)
  • JavaScript - JavaScript
  • Lisp o CompiledLisp - AutoLISP/Visual LISP
  • Mnu - Personalizzazione dei menu
  • VBA - Progetto VBA
  • Xaml - File XAML utilizzato per implementare una scheda contestuale della barra multifunzione

ModuleName

Percorso relativo del componente all'interno del bundle. Corrisponde all'attributo ModuleName nella classe AcadAppInfo dell'API ObjectARX.

Il tipo di componente è determinato dall'estensione del file:

  • Atc - Tavolozza degli strumenti
  • .arx - ObjectARX
  • .cuix - Personalizzazione parziale
  • .dbx – ObjectDBX
  • .dll - Assembly .NET gestito
  • .dvb - Progetto VBA (prodotti basati su AutoCAD 2015 e versioni successive)
    Nota: I file DVB richiedono prima l'installazione di VBA Enabler. Quando viene caricato, l'utente deve fare clic su "Abilita macro" prima di poter accedere al progetto e alle relative macro.
    Importante: Attualmente, i file di progetto VBA possono essere caricati solo quando un file di disegno viene aperto all'avvio, impostando la variabile di sistema STARTUP su un valore pari a 0 o 1.
  • .js - JavaScript (prodotti basati su AutoCAD 2015 e versioni successive)
  • .lsp, .fas o .vlx - AutoLISP/Visual LISP
    Nota: I file VLX sono supportati solo in Windows.
  • .xaml - Extensible Application Markup Language (prodotti basati su AutoCAD 2015 e versioni successive)
    Nota: L'attributo XamlType deve essere impostato su "ContextualTabRule".

Se l'applicazione è in grado di gestire più lingue, è possibile specificare versioni diverse di un determinato componente mediante la combinazione dell'attributo ModuleName e del codice di impostazioni locali. Per un elenco completo delle impostazioni locali supportate, vedere Riferimento per i codici di impostazioni locali supportati.

Nota: Tutti gli specificatori di percorso sono "/" e non "\" e i percorsi sono relativi alla cartella .bundle principale.

PerDocument

Solo per AutoLISP: se True, il file AutoLISP viene caricato una sola volta per documento. L'impostazione di default è True.

LoadReasons

È consentito specificare più valori. Definisce i parametri di funzionamento per il caricamento del componente con LoadReasons e l'eccezione del parametro LoadOnCommandInvocation.

Per default, se LoadReasons non è specificato, LoadOnAutoCADStartup, LoadOnAppearance e LoadOnProxy sono attivati (impostati su True). Se i parametri devono essere disattivati (impostati su False), l'elemento LoadReasons deve essere specificato insieme ai parametri impostati su False.

Per default, LoadOnCommandInvocation è disattivato. Se viene attivato, LoadOnAutoCADStartup e LoadOnAppearance vengono disattivati, a meno che non vengano attivati esplicitamente. Se uno o più elementi Command sono definiti come parte dell'elemento Components, LoadOnCommandInvocation è implicitamente attivato.

Vedere ObjectARX Reference Guide per i dettagli su LoadReasons di AcadAppInfo.

Sono consentiti i seguenti valori per i parametri:

  • True: il parametro è attivato.
  • False: il parametro è disattivato.

Sono disponibili i seguenti parametri:

  • LoadOnCommandInvocation. Carica solo quando viene richiamato un comando personalizzato. Se si utilizza questo parametro, deve essere incluso un elemento Commands. Se LoadOnCommandInvocation è attivato, si presume che LoadOnAutoCADStartup e LoadOnAppearance siano disattivati, a meno che non vengano attivati esplicitamente. Si applica solo ai file AutoLISP, ObjectARX e .NET.
    Nota: Per ottimizzare le prestazioni all'avvio, è fondamentale utilizzare questa opzione quando i comandi sono definiti dai componenti.
  • LoadOnAutoCADStartup. Carica quando il prodotto basato su AutoCAD viene avviato. Se specificato, questo parametro ha la precedenza su tutti gli altri parametri. È consigliabile utilizzare LoadOnAutoCADStartup solo se nessuno degli altri parametri è adatto. Disattivare il parametro (impostandolo su False) negli altri casi. Se il parametro LoadOnAutoCADStartup viene omesso, per default questo parametro è attivato (impostato su True), a meno che non sia attivato LoadOnCommandInvocation, nel qual caso LoadOnAutoCADStartup è impostato su False per default. Si applica solo ai file di progetto VBA, ObjectARX e .NET.
  • LoadOnProxy. Carica quando viene rilevato un proxy per un'entità personalizzata. Per default questo parametro è attivato, a meno che non venga esplicitamente disattivato (impostato su False). Quando è attivato (impostato su True), LoadOnAutoCADStartup deve essere disattivato. Si applica solo ai file ObjectDBX.
  • LoadOnAppearance. Carica quando il prodotto rileva il bundle dell'applicazione in una delle cartelle ApplicationPlugins, consentendo il caricamento immediato durante l'installazione senza dover riavviare il prodotto basato su AutoCAD. Il parametro funziona in modo analogo a LoadOnAutoCADStartup, ad eccezione del contesto di caricamento che si riferisce all'installazione di un'applicazione mentre il prodotto è in esecuzione, ad esempio in caso di installazione tramite il sito Web Autodesk App Store.

XamlType

Tipo XAML; attualmente l'unico valore supportato è ContextualTabRule ed è obbligatorio quando un file XAML viene assegnato all'attributo ModuleName. Il file dell'applicazione che utilizza il file XAML deve essere elencato dopo l'elemento ComponentEntry che contiene il file XAML.

Elemento Commands (prodotti basati su AutoCAD 2013 e versioni successive, AutoCAD LT 2024 e versioni successive)

L'elemento Commands è facoltativo, a meno che il parametro LoadOnCommandInvocation non sia attivato per l'attributo LoadReasons. Consente di specificare quali comandi registrare per LoadOnCommandInvocation.

È possibile specificare più elementi Command in base alle esigenze.

Un elemento Commands può presentare i seguenti attributi:

Attributo

Descrizione

GroupName

Nome utilizzato per organizzare i comandi correlati.

Elemento Command (prodotti basati su AutoCAD 2013 e versioni successive, AutoCAD LT 2024 e versioni successive)

Specifica i nomi globali e locali per ogni comando.

Un elemento Command può presentare i seguenti attributi:

Attributo

Descrizione

Global

Nome del comando globale.

Local

Nome del comando locale.

I comandi possono essere definiti per più lingue mediante la combinazione dell'attributo Local e del codice di impostazioni locali. Per un elenco completo delle impostazioni locali supportate, vedere Riferimento per i codici di impostazioni locali supportati.

HelpTopic

Argomento della Guida in linea da aprire quando il comando è attivo e viene premuto F1.

Nota: Per visualizzare l'argomento, è necessario che al plug-in sia assegnato un file della Guida. La posizione del file della Guida per il plug-in è specificata dall'attributo HelpFile sotto l'elemento ApplicationPackage.

StartupCommand

Esegue il comando all'avvio quando è impostato su True.

Nel seguente esempio sono tati aggiunti due comandi definiti in un gruppo denominato ADSKCMDS:

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

Elemento AssemblyMappings (prodotti basati su AutoCAD 2013 e versioni successive)

L'elemento AssemblyMappings è facoltativo e può contenere uno o più elementi AssemblyMapping o AssemblyMappingFolder. Gli elementi AssemblyMapping e AssemblyMappingFolder vengono utilizzati per aggiungere i percorsi di cartelle e file di assembly agli elenchi interni utilizzati da AutoCAD per risolvere gli assembly non trovati nella cartella di installazione del prodotto.

Elemento AssemblyMapping (prodotti basati su AutoCAD 2013 e versioni successive)

Attributo

Descrizione

Name

Nome dell'elemento ComponentEntry a cui è associato l'assembly e con cui deve essere caricato.

Path

Percorso relativo dell'assembly all'interno del bundle.

Elemento AssemblyMappingFolder (prodotti basati su AutoCAD 2022 e versioni successive)

Attributo

Descrizione

Percorso

Percorso relativo degli assembly all'interno del bundle.

Nel seguente esempio sono state aggiunte due cartelle contenenti assiemi utilizzati da un componente:

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

Elemento RegistryEntries (prodotti basati su AutoCAD 2015 e versioni successive, AutoCAD LT 2024 e versioni successive)

L'elemento RegistryEntries è facoltativo e può contenere una o più elementi RegistryEntry. Un elemento RegistryEntry contiene la definizione di una voce di registro che il plug-in deve creare o modificare. Le voci di registro vengono memorizzate nel Registro di sistema di Windows o in un file dell'elenco delle proprietà (PLIST) in Mac OS.

Nota: In Windows, le voci di registro vengono create in HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\<release>\ACAD-<prodotto>:<lingua>. Non è possibile creare voci di registro in altre posizioni. La posizione equivalente viene utilizzata nei file PLIST in Mac OS.
Elemento RegistryEntry

Attributo

Descrizione

Name

Nome della voce di registro da creare o modificare.

Value

Valore da assegnare alla voce di registro.

Il valore può includere uno dei prefissi degli operatori facoltativi: +, -, & e |.

Per ulteriori informazioni, vedere la sezione "Prefissi degli operatori per i valori delle variabili".

Nota: Il prefisso dell'operatore non viene mantenuto quando il valore viene applicato alla voce di registro.

Type

Tipo di dati da assegnare alla voce di registro. Facoltativo quando si modifica una voce di registro esistente.

Di seguito sono elencati i valori validi:

  • REG_SZ - Stringa; terminazione null
  • REG_EXPAND_SZ - Stringa contenente una variabile di ambiente non espansa, ad esempio %APPDATA%; terminazione null
  • REG_DWORD - Numero intero a 32 bit senza segno
  • REG_QWORD - Numero intero a 64 bit con segno

Se il prefisso di un operatore viene utilizzato come parte del valore della voce di registro, deve essere specificato il tipo di dati appropriato. Se non viene utilizzato il tipo di dati appropriato, l'operazione verrà considerata come operazione di stringa.

Flags

Flag facoltativi per la creazione e la modifica. Possono essere specificati più flag; utilizzare il simbolo di pipe per separare ciascun flag.

Sono supportati i seguenti flag:

  • Create: viene creata la voce di registro se non ne esiste una. (Funzionamento di default)
  • Open: modifica il valore della voce di registro ogni volta che il plug-in viene caricato e solo quando la voce di registro esiste.
  • OpenOnce: modifica il valore della voce di registro dopo la prima volta che il plug-in è stato caricato e solo quando la voce di registro esiste. La disinstallazione e la reinstallazione del plug-in determinano una nuova modifica del valore della voce di registro.
Nota: Il flag Open o OpenOnce deve essere utilizzato per modificare il valore di una voce di registro.

Nel seguente esempio viene creata la chiave di registro MYREGKEY e vengono aggiunti i valori 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 (prodotti basati su AutoCAD 2015 e versioni successive, AutoCAD LT 2024 e versioni successive)

L'elemento SystemVariables è facoltativo e può contenere uno o più elementi SystemVariables. Un elemento SystemVariable contiene la definizione di una variabile di sistema che il plug-in deve creare o modificare.

Elemento SystemVariable

Attributo

Descrizione

Name

Nome della variabile di sistema da creare o modificare.

Value

Valore da assegnare alla variabile.

Il valore può includere uno dei prefissi degli operatori facoltativi: +, -, & e |.

Per ulteriori informazioni, vedere la sezione "Prefissi degli operatori per i valori delle variabili".

Nota: Il prefisso dell'operatore non viene mantenuto quando il valore viene applicato alla variabile.

PrimaryType

Tipo di dati da assegnare alla variabile. Facoltativo durante la modifica di una variabile di sistema esistente.

Di seguito sono elencati i valori validi:

  • Int16 - Numero intero a 16 bit con segno
  • Int32 - Numero intero a 32 bit
  • Real - Valore numerico mobile o doppio
  • String - Valore di carattere singolo o multiplo

Se il prefisso di un operatore viene utilizzato come parte del valore della variabile, deve essere specificato il tipo di dati appropriato. Se non viene utilizzato il tipo di dati appropriato, l'operazione verrà considerata come operazione di stringa.

StorageType

Posizione di memorizzazione per il valore della variabile; quando viene mantenuto. Facoltativo durante la modifica di una variabile di sistema esistente.

Di seguito sono elencati i valori validi:

  • Database: viene mantenuto nel file di disegno in cui viene creata la variabile.
  • Profile: viene mantenuto come parte del profilo AutoCAD corrente.
  • Session: non viene mantenuto tra le sessioni o nel disegno in cui viene creato.
  • User: viene mantenuto come parte di FixedProfile per AutoCAD.

Owner

Nome del servizio AcRX facoltativo.

Utilizzato per creare una variabile di sistema di sola lettura e modificabile solo dall'applicazione che registra il nome del servizio mediante acrxRegisterService().

Flags

Flag facoltativi per la creazione e la modifica. Possono essere specificati più flag; utilizzare il simbolo di pipe per separare ciascun flag.

Sono supportati i seguenti flag:

  • Create: viene creata la variabile se non ne esiste una. (Funzionamento di default)

  • Open: modifica il valore della variabile ogni volta che il plug-in viene caricato e solo quando la variabile esiste.

  • OpenOnce: modifica il valore della variabile dopo la prima volta che il plug-in è stato caricato e solo quando la variabile esiste. La disinstallazione e la reinstallazione del plug-in determinano una nuova modifica del valore della variabile.

  • SpacesAllowed: consente di premere la barra spaziatrice alla riga di comando. Se non è specificato, premere la barra spaziatrice equivale a premere INVIO.

    Nota: Utilizzare solo con il flag Create e quando l'attributo PrimaryType è impostato su String.
  • DotIsEmpty: consente di cancellare il valore di una variabile immettendo un punto "." (punto) per il valore della variabile.

    Nota: Utilizzare solo con il flag Create e quando l'attributo PrimaryType è impostato su String.
  • NoUndo: le modifiche apportate alla variabile non vengono registrate e non possono essere annullate con i comandi A o ANNULLA.

    Nota: Utilizzare solo con il flag Create.
  • Chatty: genera la notifica di un reattore anche quando il valore della variabile è impostato sul relativo valore corrente.

    Nota: Utilizzare solo con il flag Create.
Nota: Il flag Open o OpenOnce deve essere utilizzato per modificare il valore di una variabile.

Nel seguente esempio viene creata una variabile di sistema denominata MYVARIABLE:

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

Nel seguente esempio il valore della variabile di sistema CURSORSIZE viene modificato in 100 quando il plug-in viene caricato per la prima volta:

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

Elemento EnvironmentVariables (prodotti basati su AutoCAD 2015 e versioni successive, AutoCAD LT 2024 e versioni successive)

L'elemento EnvironmentVariables è facoltativo e può contenere uno o più elementi EnvironmentVariable. Un elemento EnvironmentVariable contiene la definizione di una variabile di ambiente che il plug-in deve creare o modificare. Le variabili di ambiente sono memorizzate nel Registro di sistema di Windows o in un file dell'elenco delle proprietà (PLIST) in Mac OS.

Nota: Il valore di una variabile di ambiente viene sempre memorizzato come stringa e per il nome di una variabile di ambiente viene fatta distinzione tra lettere maiuscole e minuscole.
Elemento EnvironmentVariable

Attributo

Descrizione

Name

Nome della variabile di ambiente da creare o modificare.

Value

Valore da assegnare alla variabile.

Il valore può includere uno dei prefissi degli operatori facoltativi: +, -, & e |.

Per ulteriori informazioni, vedere la sezione "Prefissi degli operatori per i valori delle variabili".

Nota: Il prefisso dell'operatore non viene mantenuto quando il valore viene applicato alla variabile.

Type

Tipo di dati facoltativo rappresentato da Value.

Di seguito sono elencati i valori validi:

  • Int16 - Numero intero a 16 bit con segno
  • Int32 - Numero intero a 32 bit con segno
  • Real - Valore numerico mobile o doppio
  • String - Valore di carattere singolo o multiplo

Se il prefisso di un operatore viene utilizzato come parte del valore della variabile, deve essere specificato il tipo di dati appropriato. Se non viene utilizzato il tipo di dati appropriato, l'operazione verrà considerata come operazione di stringa.

Flags

Flag facoltativi per la creazione e la modifica. Possono essere specificati più flag; utilizzare il simbolo di pipe per separare ciascun flag.

Sono supportati i seguenti flag:

  • Create: viene creata la variabile se non ne esiste una. (Funzionamento di default)
  • Open: modifica il valore della variabile ogni volta che il plug-in viene caricato e solo quando la variabile esiste.
  • OpenOnce: modifica il valore della variabile dopo la prima volta che il plug-in è stato caricato e solo quando la variabile esiste. La disinstallazione e la reinstallazione del plug-in determinano una nuova modifica del valore della variabile.
Nota: Il flag Open o OpenOnce deve essere utilizzato per modificare il valore di una variabile.

Di seguito è riportato un esempio di creazione di due variabili di ambiente denominate MYNUMVAR e MYSTRVAR:

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

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

Prefissi degli operatori per i valori delle variabili

I prefissi degli operatori vengono utilizzati per modificare il valore corrente di una variabile quando il plug-in viene caricato. È possibile aggiungere uno dei prefissi degli operatori elencati nella seguente tabella all'attributo Value di un elemento RegistryEntry, SystemVariable o EnvironmentVariable.

Prefisso

Descrizione

+ (segno più)

Aggiunge un valore a quello di una variabile esistente.

Int16, Int32, Real: aggiunge Value al valore di una variabile esistente.

String: aggiunge Value al valore di una variabile esistente.

- (trattino)

Sottrae o rimuove un valore a quello di una variabile esistente.

Int16, Int32, Real: sottrae Value dal valore di una variabile esistente.

String: rimuove Value dal valore di una variabile esistente.

e commerciale (&)

Operazione AND a livello di bit con il valore esistente della variabile; sono supportati solo i valori numerici.

| (simbolo di pipe)

Operazione OR a livello di bit con il valore esistente della variabile; sono supportati solo i valori numerici.

Nota: Se il valore di una variabile dovrebbe iniziare con uno dei prefissi degli operatori, aggiungere una barra rovesciata prima dell'operatore. Ad esempio, se il valore della variabile dovrebbe essere +radius, immettere il valore \+radius.

Nel seguente esempio vengono sempre attivati gli snap ad oggetto in esecuzione END, MID, CEN, NOD, QUA e INT, lasciando tutte le altre impostazioni di snap ad oggetto così come sono:

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