Prvek Components – reference

Prvek Components se používá k určení komponent, které tvoří jednu verzi modulu plug-in.

K určení komponent modulu plug-in lze použít více než jeden prvek Components; každý prvek Components může určovat jednu nebo více komponent. Informace o platformě a produktu pro prvek Components jsou definovány prvkem RuntimeRequirements.

Pokud jsou všechny komponenty definované v rámci prvku Components určeny pro stejnou platformu, není třeba přidávat prvek RuntimeRequirements pro každý jednotlivý prvek ComponentEntry.

Spolu s prvkem RuntimeRequirements může prvek Components obsahovat jeden nebo více následujících prvků.

Poznámka: Prvek Components může mít pouze jeden prvek RegistryEntries, SystemVariables a EnvironmentVariables, ale může obsahovat více prvků ComponentEntry.

Následující část uvádí základní vztah prvku Components a všech prvků, které může tento prvek obsahovat.

<Components>
  <RuntimeRequirements ... />

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

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

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

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

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

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

  <ComponentEntry ... />
</Components>

Prvek ComponentEntry (produkty založené na aplikaci AutoCAD 2013 a novější)

Prvek ComponentEntry je povinný a používá se k určení detailů každé jednotlivé komponenty v prvku Components.

Můžete zadat libovolný potřebný počet prvků ComponentEntry. Typy komponent mohou mít jeden z následujících formátů souborů:

Prvek ComponentEntry může obsahovat prvek Commands, pokud je atribut LoadReasons nastaven na hodnotu LoadOnCommandInvocation.

Poznámka: Prvky ComponentEntry se načítají v pořadí, v jakém jsou uvedeny v seznamu, ale zdola nahoru. Všechny soubory, na kterých jsou závislé jiné komponenty, proto musí být v seznamu níže. Pokud je například modul ObjectARX závislý na modulu ObjectDBX, pak se modul ObjectARX musí v seznamu zobrazit nad modulem ObjectDBX.

K prvku ComponentEntry mohou být připojeny kterékoli z následujících atributů:

Atribut

Popis

AppName

Volitelné pro jazyk AutoLISP; požadováno pro formát ObjectARX a .NET – název komponenty; stejné jako AppName v třídě API AcadAppInfo aplikace ObjectARX.

AppDescription

Popis komponenty; stejné jako AppDescription v třídě API AcadAppInfo aplikace ObjectARX.

AppType

Typ komponenty; přepíše typ odvozený z přípony souboru uvedeného v atributu ModuleName.

Komponenta může být jednoho z následujících typů:

  • .Net – sestava .NET ve spravovaném nebo smíšeném režimu
  • Arx – ObjectARX
    Poznámka: Do aplikace AutoCAD pro Mac je nutné načíst soubor ARX z balíčku.
  • Atc – paleta nástrojů
  • Bundle – balíček Bundle
  • Cui nebo CuiX – částečné uživatelské úpravy
  • Dbx – ObjectDBX
  • Závislost – zdrojový soubor DLL (není určen k načtení do produktu založeného na aplikaci AutoCAD)
  • JavaScript – JavaScript
  • Lisp nebo CompiledLisp – AutoLISP/Visual LISP
  • Mnu – uživatelské úpravy nabídky
  • VBA – projekt VBA
  • Xaml – soubor XAML používaný k implementaci kontextové karty pásu karet

ModuleName

Relativní cesta ke komponentě v rámci balíčku; stejné jako ModuleName v třídě API AcadAppInfo prostředí ObjectARX.

Typ komponenty je určen podle přípony souboru:

  • .atc – paleta nástrojů
  • .arx – ObjectARX
  • .cuix – částečné uživatelské úpravy,
  • .dbx – ObjectDBX
  • .dll – spravovaná sestava .NET
  • .dvb – projekt VBA (produkty založené na aplikaci AutoCAD 2015 a novější)
    Poznámka: Soubory DVB vyžadují, aby byl nejprve nainstalován nástroj VBA Enabler. Při načtení musí uživatel před přístupem k projektu a jeho makrům kliknout na možnost Povolit makra.
    Důležité: Aktuálně lze soubory projektů VBA načíst pouze v případě, že je výkresový soubor otevřen při spuštění, což se provádí nastavením systémové proměnné STARTUP na hodnotu 0 nebo 1.
  • .js – Javascript (produkty založené na aplikaci AutoCAD 2015 a novější)
  • .lsp, .fas nebo .vlx – AutoLISP / Visual LISP
  • .xaml – XAML (Extensible Application Markup Language) (produkty založené na aplikaci AutoCAD 2015 a novější)
    Poznámka: Atribut XamlType musí být nastaven na hodnotu ContextualTabRule.

Pokud bude vaše aplikace pracovat ve více jazycích, lze určit různé verze určité komponenty kombinací položky ModuleName a kódu národního prostředí. Úplný seznam kódů podporovaných národních prostředí najdete v části Kódy podporovaných národních prostředí – referenční seznam.

Poznámka: Všechny specifikátory cesty jsou /, nikoli \, a cesty jsou relativní ke kořenové složce .bundle.

PerDocument

Pouze jazyk AutoLISP – Pokud má hodnotu Pravda, načte se soubor jazyka AutoLISP jednou pro každý dokument. Výchozí nastavení je Pravda.

LoadReasons

Lze zadat více hodnot – definuje parametry chování při načítání komponenty s atributem LoadReasons a výjimku parametru LoadOnCommandInvocation.

Ve výchozím nastavení platí, že jsou zapnuty položky LoadOnAutoCADStartup, LoadOnAppearance a LoadOnProxy (nastaveny na hodnotu Pravda), pokud není specifikována položka LoadReasons. Pokud je třeba tyto parametry vypnout (nastavit na hodnotu Nepravda), musí být současně s tímto nastavením zadán prvek LoadReasons.

Ve výchozím nastavení je parametr LoadOnCommandInvocation vypnutý a v případě jeho zapnutí dojde k vypnutí parametrů LoadOnAutoCADStartup a LoadOnAppearance, pokud nejsou explicitně zapnuty. Pokud je jako součást prvku Components definován jeden nebo více prvků Command, je implicitně zapnutý parametr LoadOnCommandInvocation.

Úplné podrobnosti o atributu LoadReasons v sekci AcadAppInfo naleznete v referenční příručce pro formát ObjectARX.

Platné hodnoty parametrů:

  • Pravda – parametr je zapnutý.
  • Nepravda – parametr je vypnutý.

Dostupné jsou následující parametry:

  • LoadOnCommandInvocation. Načíst jen tehdy, pokud je vyvolán vlastní příkaz. Při použití tohoto parametru musí být zahrnut prvek Commands. V případě, že je zapnut parametr LoadOnCommandInvocation, se předpokládá, že parametry LoadOnAutoCADStartup a LoadOnAppearance jsou vypnuty, pokud nejsou explicitně zapnuty. Platí pouze pro soubory AutoLISP, ObjectARX a .NET.
    Poznámka: Z důvodů souvisejících s výkonem při spuštění aplikace je velmi důležité použít tuto možnost, pokud dané komponenty definují příkazy.
  • LoadOnAutoCADStartup. Načíst, pokud je spuštěn produkt založený na aplikaci AutoCAD. Pokud je tento parametr zadán, má přednost před všemi ostatními parametry. Parametr LoadOnAutoCADStartup se doporučuje používat, pouze pokud není vhodné použít žádné jiné parametry. Vypněte jej (nastavte na Nepravda), kdykoli je to možné. Pokud je parametr LoadOnAutoCADStartup vynechán, je ve výchozím nastavení zapnutý (nastaven na hodnotu Pravda), ovšem za předpokladu, že není zapnut parametr LoadOnCommandInvocation, protože v tom případě má parametr LoadOnAutoCADStartup výchozí hodnotu Nepravda. Platí pouze pro soubory VBA Project, ObjectARX a .NET.
  • LoadOnProxy. Načíst při detekci proxy pro vlastní entitu. Ve výchozím nastavení je tento parametr zapnutý, pokud není explicitně vypnutý (nastaven na hodnotu Nepravda). Pokud je zapnut (nastaven na hodnotu Pravda), měl by být vypnut parametr LoadOnAutoCADStartup. Platí pouze pro soubory ObjectDBX.
  • LoadOnAppearance. Načíst, pokud produkt zjistí balíček aplikace v jedné ze složek ApplicationPlugins, aby byla zajištěna podpora okamžitého načtení při instalaci bez nutnosti restartovat produkt založený na aplikaci AutoCAD. Tento parametr se chová stejným způsobem jako parametr LoadOnAutoCADStartup s výjimkou toho, že pro instalaci aplikace při spuštěném produktu je relevantní kontext načítání, například v případě instalace z webu Autodesk App Store.

XamlType

Typ XAML; v současné době je podporována pouze hodnota ContextualTabRule, která je povinná, pokud je k atributu ModuleName přiřazen soubor XAML. Soubor aplikace, který používá soubor XAML, by měl být uveden za prvkem ComponentEntry, který obsahuje soubor XAML.

Prvek Commands (produkty založené na aplikaci AutoCAD 2013 a novější)

Prvek Commands je volitelný za předpokladu, že není zapnut parametr LoadOnCommandInvocation atributu LoadReasons. Slouží k určení, které příkazy se mají registrovat u parametru LoadOnCommandInvocation.

Podle potřeby můžete určit více než jeden prvek Command.

K prvku Command může být připojen následující atribut:

Atribut

Popis

GroupName

Název použitý k uspořádání souvisejících příkazů.

Prvek Command (produkty založené na aplikaci AutoCAD 2013 a novější)

Určuje globální a místní název pro každý příkaz.

K prvku Command mohou být připojeny kterékoli z následujících atributů:

Atribut

Popis

Global

Globální název příkazu.

Local

Lokální název příkazu.

Příkazy lze definovat pro více jazyků kombinací položky Local a kódu národního prostředí. Úplný seznam kódů podporovaných národních prostředí najdete v části Kódy podporovaných národních prostředí – referenční seznam.

HelpTopic

Téma nápovědy, které se otevře, když je aktivní příkaz a stisknete klávesu F1.

Poznámka: Aby se téma nápovědy zobrazilo, musí být k modulu plug-in přiřazen soubor nápovědy. Umístění souboru nápovědy pro modul plug-in je zadáno pomocí atributu HelpFile v prvku ApplicationPackage.

StartupCommand

Spustí příkaz při spuštění, když je nastaven na hodnotu Pravda.

Následující příklad přidá dva příkazy, které jsou definovány ve skupině s názvem ADSKCMDS:

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

Prvek AssemblyMappings (produkty založené na aplikaci AutoCAD 2013 a novější)

Prvek AssemblyMappings je volitelný a může obsahovat jeden nebo více prvků AssemblyMapping nebo AssemblyMappingFolder. Prvky AssemblyMapping a AssemblyMappingFolder se používají k přidání souborů sestav a cest ke složkám do interních seznamů, které aplikace AutoCAD používá k řešení sestav nenalezených v instalační složce produktu.

Prvek AssemblyMappings (produkty založené na aplikaci AutoCAD 2013 a novější)

Atribut

Popis

Name

Název prvku ComponentEntry, ke kterému je sestava přidružena, a která by měla být načtena.

Path

Relativní cesta k sestavě v rámci balíčku.

Prvek AssemblyMappingFolder (produkty založené na aplikaci AutoCAD 2022 a novější)

Atribut

Popis

Path

Relativní cesta k sestavám v rámci balíčku.

Následující příklad přidá dvě složky, které obsahují sestavy používané komponentou:

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

Prvek RegistryEntries (produkty založené na aplikaci AutoCAD 2015 a novější)

Prvek RegistryEntries je volitelný a může obsahovat jeden nebo více prvků RegistryEntry. Prvek RegistryEntry obsahuje definici záznamu registru, kterou by měl modul plug-in vytvořit nebo upravit. Záznamy registru jsou uloženy v registru systému Windows nebo v souboru seznamu vlastností (PLIST) v systému Mac OS.

Poznámka: V systému Windows jsou záznamy registru vytvořeny pod položkou HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\<verze>\ACAD-<produkt>:<jazyk>. V jiných umístěních není možné záznamy registru vytvářet. Ekvivalentní umístění se používá v souborech PLIST v systému Mac OS.
Prvek RegistryEntry

Atribut

Popis

Name

Název záznamu registru, který se má vytvořit nebo upravit.

Value

Hodnota, která se má přiřadit k záznamu registru.

Hodnota může obsahovat jednu z volitelných předpon operátorů: +, -, & a |.

Další informace naleznete v části Předpony operátorů pro hodnoty proměnných.

Poznámka: Při použití hodnoty v záznamu registru není předpona operátoru zachována.

Type

Typ dat, který se má přiřadit do záznamu registru. Volitelné při úpravách existujícího záznam registru.

Platné hodnoty jsou:

  • REG_SZ – řetězec; ukončený výrazem null
  • REG_EXPAND_SZ – řetězec obsahující nerozbalenou proměnnou prostředí, například %APPDATA%; ukončený výrazem null
  • REG_DWORD – 32bitové celé číslo bez znaménka
  • REG_QWORD – 64bitové celé číslo se znaménkem

Pokud je předpona operátoru používána jako součást hodnoty záznamu registru, musí být zadán odpovídající typ dat. Pokud není použit odpovídající typ dat, bude s operací zacházeno jako s řetězcovou operací.

Flags

Volitelné, příznaky vytváření a úprav. Může být zadáno více příznaků; k oddělení jednotlivých příznaků použijte znak svislé čáry.

Podporovány jsou následující příznaky:

  • Create – Záznam registru se vytvoří, pokud neexistuje. (Výchozí chování)
  • Open – Změní hodnotu záznamu registru při každém načtení modulu plug-in, a to pouze v případě, že záznam registru existuje.
  • OpenOnce – Změní hodnotu záznamu registru při prvním načtení modulu plug-in, a to pouze v případě, že záznam registru existuje. Odinstalace a nová instalace modulu plug-in způsobí, že hodnota záznamu registru bude znovu změněna.
Poznámka: Příznak Open nebo OpenOnce je nutné použít při úpravě hodnoty záznamu registru.

Následující příklad vytvoří klíč registru MYREGKEY a přidá hodnoty STRING a NUMBER:

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

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

Prvek SystemVariables (produkty založené na aplikaci AutoCAD 2015 a novější)

Prvek SystemVariables je volitelný a může obsahovat jeden nebo více prvků SystemVariables. Prvek SystemVariable obsahuje definici systémové proměnné, kterou má modul plug-in vytvořit nebo upravit.

Prvek SystemVariable

Atribut

Popis

Name

Název systémové proměnné, která se má vytvořit nebo upravit.

Value

Hodnota, která se má přiřadit k proměnné.

Hodnota může obsahovat jednu z volitelných předpon operátorů: +, -, & a |.

Další informace naleznete v části Předpony operátorů pro hodnoty proměnných.

Poznámka: Při použití hodnoty v proměnné není předpona operátoru zachována.

PrimaryType

Typ dat, který se má přiřadit k proměnné. Volitelné při úpravách existující systémové proměnné.

Platné hodnoty jsou:

  • Int16 – 16bitové celé číslo se znaménkem
  • Int32 – 32bitové celé číslo
  • Real – číselná hodnota s pohyblivou desetinnou tečkou nebo přesností na dvě desetinná místa
  • String – hodnota s jedním nebo více znaky

Pokud je předpona operátoru používána jako součást hodnoty proměnné, musí být zadán odpovídající typ dat. Pokud není použit odpovídající typ dat, bude s operací zacházeno jako s řetězcovou operací.

StorageType

Umístění úložiště pro hodnotu proměnné; pokud se uchovává. Volitelné při úpravách existující systémové proměnné.

Platné hodnoty jsou:

  • Database – uchovává se ve výkresovém souboru, ve kterém je proměnná vytvořena.
  • Profile – uchovává se jako součást aktuálního profilu aplikace AutoCAD.
  • Session – neuchovává se mezi relacemi ani ve výkresu, ve kterém je vytvořena.
  • User – uchovává se jako součást pevného profilu pro aplikaci AutoCAD.

Owner

Volitelné, název služby AcRX.

Používalo se k nastavení systémové proměnné pouze ke čtení a pouze s možností úprav pomocí aplikace, která registruje název služby pomocí acrxRegisterService().

Flags

Volitelné, příznaky vytváření a úprav. Může být zadáno více příznaků; k oddělení jednotlivých příznaků použijte znak svislé čáry.

Podporovány jsou následující příznaky:

  • Create – Proměnná se vytvoří, pokud neexistuje. (Výchozí chování)

  • Open – Změní hodnotu proměnné při každém načtení modulu plug-in, a to pouze v případě, že proměnná existuje.

  • OpenOnce – Změní hodnotu proměnné při prvním načtení modulu plug-in, a to pouze v případě, že proměnná existuje. Odinstalace a nová instalace modulu plug-in způsobí, že hodnota proměnné bude znovu změněna.

  • SpacesAllowed – Povoluje stisknutí mezerníku na příkazovém řádku. Pokud není zadáno, má stisknutí mezerníku stejný účinek jako stisknutí klávesy Enter.

    Poznámka: Používejte pouze s příznakem Create a pokud je atribut PrimaryType nastaven na hodnotu String.
  • DotIsEmpty – Povoluje vymazání hodnoty proměnné zadáním znaku tečka „.“ (tečka) místo hodnoty proměnné.

    Poznámka: Používejte pouze s příznakem Create a pokud je atribut PrimaryType nastaven na hodnotu String.
  • NoUndo – Změny proměnné se nezaznamenávají a není možné je vrátit zpět pomocí příkazu Z nebo ZPĚT.

    Poznámka: Používejte pouze s příznakem Create.
  • Chatty – Aktivuje oznámení reaktoru, a to i v případě, že hodnota proměnné je nastavena na aktuální hodnotu.

    Poznámka: Používejte pouze s příznakem Create.
Poznámka: Příznak Create nebo OpenOnce je nutné použít při úpravě hodnoty proměnné.

Následující příklad vytvoří systémovou proměnnou s názvem MYVARIABLE:

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

Následující příklad změní při prvním načtení modulu plug-in hodnotu systémové proměnné CURSORSIZE na 100:

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

Prvek EnvironmentVariables (produkty založené na aplikaci AutoCAD 2015 a novější)

Prvek EnvironmentVariables je volitelný a může obsahovat jeden nebo více prvků EnvironmentVariable. Prvek EnvironmentVariable obsahuje definici proměnné prostředí, kterou má modul plug-in vytvořit nebo upravit. Proměnné prostředí jsou uloženy v registru systému Windows nebo v souboru seznamu vlastností v systému Mac OS.

Poznámka: Hodnota proměnné prostředí je vždy uložena jako řetězec a v názvu proměnné prostředí se rozlišují malá a velká písmena.
Prvek EnvironmentVariable

Atribut

Popis

Name

Název proměnné prostředí, která se má vytvořit nebo upravit.

Value

Hodnota, která se má přiřadit k proměnné.

Hodnota může obsahovat jednu z volitelných předpon operátorů: +, -, & a |.

Další informace naleznete v části Předpony operátorů pro hodnoty proměnných.

Poznámka: Při použití hodnoty v proměnné není předpona operátoru zachována.

Type

Volitelné, typ dat, který hodnota představuje.

Platné hodnoty jsou:

  • Int16 – 16bitové celé číslo se znaménkem
  • Int32 – 32bitové celé číslo se znaménkem
  • Real – číselná hodnota s pohyblivou desetinnou tečkou nebo přesností na dvě desetinná místa
  • String – hodnota s jedním nebo více znaky

Pokud je předpona operátoru používána jako součást hodnoty proměnné, musí být zadán odpovídající typ dat. Pokud není použit odpovídající typ dat, bude s operací zacházeno jako s řetězcovou operací.

Flags

Volitelné, příznaky vytváření a úprav. Může být zadáno více příznaků; k oddělení jednotlivých příznaků použijte znak svislé čáry.

Podporovány jsou následující příznaky:

  • Create – Proměnná se vytvoří, pokud neexistuje. (Výchozí chování)
  • Open – Změní hodnotu proměnné při každém načtení modulu plug-in, a to pouze v případě, že proměnná existuje.
  • OpenOnce – Změní hodnotu proměnné při prvním načtení modulu plug-in, a to pouze v případě, že proměnná existuje. Odinstalace a nová instalace modulu plug-in způsobí, že hodnota proměnné bude znovu změněna.
Poznámka: Příznak Create nebo OpenOnce je nutné použít při úpravě hodnoty proměnné.

Následuje příklad vytvoření dvou proměnných prostředí s názvy MYNUMVAR a MYSTRVAR:

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

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

Předpony operátorů pro hodnoty proměnných

Předpony operátorů se používají k úpravám aktuální hodnoty proměnné po načtení modulu plug-in. K atributu Value v prvku RegistryEntry, SystemVariable nebo EnvironmentVariable můžete přidat některou z předpon operátorů uvedených v následující tabulce.

Předpona

Popis

+ (znaménko plus)

Přidá nebo připojí hodnotu k existující hodnotě proměnné.

Int16, Int32, Real: Přidá hodnotu k existující hodnotě proměnné.

String: Připojí hodnotu k existující hodnotě proměnné.

- (spojovník)

Odečte nebo odebere hodnotu od existující hodnoty proměnné.

Int16, Int32, Real: Odečte hodnotu od existující hodnoty proměnné.

String: Odebere hodnotu od existující hodnoty proměnné.

& (ampersand)

Bitová operace AND s existující hodnotou proměnné; podporovány jsou pouze číselné hodnoty.

| (znak svislé čáry)

Bitová operace OR s existující hodnotou proměnné; podporovány jsou pouze číselné hodnoty.

Poznámka: Pokud má hodnota proměnné začínat některou z předpon operátorů, přidejte před operátor lomítko. Pokud má hodnota proměnné být například +poloměrzadejte hodnotu jako \+radius.

Následující kód vždy povoluje aktivní uchopení objektů KON, POL, STŘ, BOD, KVA a PRŮ a ponechá nastavení uchopení všech ostatních objektů v aktuálním stavu:

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