twitter youtube facebook linkedin email
Connect with:

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.

'