twitter youtube facebook linkedin email

Mundo AEC - Blog Oficial sobre soluções da Autodesk Brasil

Finalizando o plugin para Autodesk Exchange Store

Pedro Soethe
19/07/2013

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.

adsk_exchange_store

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.

new_app_loaded

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.

folder_structure

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!

Featured Links

Pedro Soethe

Pedro Luis Soethe Cursino é formado em Engenharia Civil pela Universidade de Taubaté, tem pós-graduação em Georreferenciamento pela Faculdade de Pirassununga e em Estradas e Vias Urbanas pela FESP. Trabalha a mais de 15 anos na área de infraestrutura e é responsável por vários projetos executados no Brasil em diversas disciplinas como estradas, projetos urbanos, loteamentos, infraestrutura hidro-sanitária, drenagem, terraplanagem entre outras.

'