Por Augusto Gonçalves, Autodesk Developer Network
Neste último passo iremos preparar o plugin criado no post anterior para ser carregado automaticamente no Civil 3D. Desta maneira, não será necessário executar o NETLOAD sempre que iniciarmos. Outra vantagem é que com isso o plugin poderá ser publicado na Autodesk Exchange Store. Para mais detalhes de como publicar na loja, entre no nosso Developer Center.
Este plugin irá carregar na aba ‘Add-ins’ do Civil 3D, e irá ser apresentado em um painel e com um botão conforme apresentado na imagem abaixo. É possível criar qualquer arquivo .cuix através do comando CUI.
Para o AutoCAD Civil 3D reconhecer plugins, estes devem estar em uma pasta específica e ter o sufixo .bundle. A Autodesk Exchange Store usa, por padrão, a pasta C:\ProgramData\Autodesk\ApplicationPlugins. Portanto crie uma pasta CurvaBordo.bundle com subpastas conforme imagem abaixo.
Passo 1: Arquivos no locais corretos
Copie a DLL ProjetoCivil3DBR.dll gerada pelo código do post anterior na pasta C:\ProgramData\Autodesk\ApplicationPlugins\CurvaBordo.bundle\Contents\Win
Copie o .cuix criado para \CurvaBordo.bundle\Contents\Resources
Para publicar na Autodesk Exchange Store é necessário fornecer um arquivo de ajuda, mas é opcional para este exemplo. Caso deseje fornecer este arquivo, criar um .html em CurvaBordo.bundle\Contents\Resources\CurvaBordoHelp.htm
Passo 2: Configuração do .bundle
Agora devemos dizer ao AutoCAD Civil 3D como e em quais condições carregar os arquivos. Estas especificações devem estar no arquivo PackageContents.XML e deve ser criado na raiz da pasta do plugin, neste exemplo o XML deve estar em \CurvaBordo.bundle\PackageContents.xml
Abaixo esta o conteúdo para o XML. Observe que SeriesMin=”R19.1″ indica que a versão mínima requerida é 2014, e SeriesMax=”R19.1″ indica a mesma versão, ou seja, este plugin carrega apenas na versão 2014. Os valores de Name, Email, Description, Url, etc., devem ser configuradores conforme cada caso. Note que o plugin somente irá carregar quando o comando NUMERARCURVABORDO for executado, o que evita sobrecarga.
<?xml version=“1.0“ encoding=“utf-8“?>
<ApplicationPackage SchemaVersion=“1.0“
AutodeskProduct=“AutoCAD“
Name=“CurvaBordo“
Description=“Rotinas de curvas de bordo“
AppVersion=“1.0.0“
FriendlyVersion=“1.0.0“
ProductType=“Application“
SupportedLocales=“Enu|Ptb“
AppNameSpace=“appstore.exchange.autodesk.com“
Author=“Augusto Goncalves 🙂“
OnlineDocumentation=“http://civil3dbr.typepad.com/“
HelpFile=“./Contents/Resources/CurvaBordoHelp.htm“>
<CompanyDetails Name=“Civil 3D BR Blog Sample“
Email=“email@servidor.com“
Url=“http://civil3dbr.typepad.com/“/>
<RuntimeRequirements OS=“Win32|Win64“ Platform=“Civil3D“ />
<Components Description=“DLLs da aplicacao“>
<RuntimeRequirements OS=“Win32|Win64“
Platform=“Civil3D“
SeriesMin=“R19.1“
SeriesMax=“R19.1“ />
<ComponentEntry AppName=“CurvaBordo“
Version=“1.0.0“
ModuleName=“./Contents/Win/ProjetoCivil3DBR.dll“
AppDescription=“Modulo Principal“
LoadOnCommandInvocation=“True“>
<Commands>
<Command Global=“numerarCurvaBordo“ />
</Commands>
</ComponentEntry>
</Components>
<Components Description=“Ribbon CUIx“>
<RuntimeRequirements OS=“Win32|Win64“
Platform=“Civil3D“
SeriesMin=“R19.1“
SeriesMax=“R19.1“ />
<ComponentEntry AppName=“CUIx“
Version=“1“
ModuleName=“./Contents/Resources/CurvaBordo.cuix“
AppDescription=“Ribbon da aplicacao“
LoadOnAppearance=“True“
LoadOnAutoCADStartup=“True“ />
</Components>
</ApplicationPackage>
Para mais detalhes, visite nosso blog de APIs.
Tudo pronto! Agora o plugin irá carregar automaticamente sempre que o Civil 3D iniciar. Além disto, está pronto para ser publicado na loja de aplicativos Autodesk Exchange Store!