Antes de entrar no desenvolvimento, é importante compilar uma base sólida para um novo projeto. Há vários modelos de projeto na comunidade de desenvolvedores do Dynamo que são excelentes locais para começar, mas uma compreensão de como iniciar um projeto do zero é ainda mais valiosa. A compilação de um projeto desde o início proporcionará uma compreensão mais profunda do processo de desenvolvimento.
O Visual Studio é um IDE poderoso, onde podemos criar um projeto, adicionar referências, compilar .dlls
e depurar. Ao criar um novo projeto, o Visual Studio também criará uma Solução, uma estrutura para organizar projetos. Vários projetos podem existir em uma única solução e podem ser compilados juntos. Para criar um nó Sem toque, precisaremos iniciar um novo projeto do Visual Studio no qual gravaremos uma biblioteca de classe C# e compilaremos um .dll
.
Janela Novo projeto no Visual Studio
Começar abrindo o Visual Studio e criando um novo projeto:
File > New > Project
Selecionar o modelo de projeto
Class Library
Nomear o projeto (nomeamos o projeto MyCustomNode)
Definir o caminho do arquivo para o projeto. Para este exemplo, vamos deixá-lo na localização padrão
Selecionar
Ok
O Visual Studio criará e abrirá automaticamente um arquivo C#. Deve ser atribuído um nome apropriado, deve ser configurado o espaço de trabalho e substituído o código padrão por este método de multiplicação.
Abrir o Gerenciador de soluções e as janelas Saída em
View
.Renomear o arquivo
Class1.cs
SampleFunctions.cs
no Gerenciador de soluções à direita.Adicionar o código acima para a função de multiplicação. Abordaremos as especificações de como o Dynamo lerá as classes C# mais adiante.
O Gerenciador de soluções fornece acesso a tudo no projeto.
Janela Saída: precisaremos dela mais tarde para ver se a compilação foi bem-sucedida.
A próxima etapa é compilar o projeto, mas antes de fazer isso, há algumas configurações que precisamos verificar. Primeiro, assegure-se de que Any CPU
ou x64
esteja selecionado como o destino da plataforma e que Prefer 32-bit
esteja desmarcado nas Propriedades do projeto.
Abrir as propriedades do projeto selecionando
Project > "ProjectName" Properties
Selecionar a página
Build
Selecionar
Any CPU
oux64
no menu suspensoGarantir que
Prefer 32-bit
está desmarcado
Agora podemos compilar o projeto para criar um .dll
. Para isso, selecione Build Solution
no menu Build
ou use o atalho CTRL+SHIFT+B
.
Selecionar
Build > Build Solution
É possível determinar se o projeto foi compilado com êxito verificando a janela Saída
Se o projeto tiver sido compilado com êxito, haverá um .dll
nomeado MyCustomNode
na pasta do projeto bin
. Para este exemplo, deixamos o caminho de arquivo do projeto como padrão do Visual Studio em c:\users\username\documents\visual studio 2015\Projects
. Vamos dar uma olhada na estrutura de arquivos do projeto.
A pasta
bin
contém o.dll
criado no Visual Studio.O arquivo de projeto do Visual Studio.
O arquivo de classe.
Como nossa configuração de solução foi definida como
Debug
, o.dll
será criado embin\Debug
.
Agora, podemos abrir o Dynamo e importar o .dll
. Com o recurso Adicionar, navegue até a localização do projeto bin
e selecione o .dll
que deseja abrir.
Selecionar o botão Adicionar para importar um
.dll
Navegar até a localização do projeto. Nosso projeto está localizado no caminho de arquivo padrão do Visual Studio:
C:\Users\username\Documents\Visual Studio 2015\Projects\MyCustomNode
Selecionar o
MyCustomNode.dll
a ser importadoClicar em
Open
para carregar o.dll
Se uma categoria for criada na biblioteca chamada MyCustomNode
, significa que o .dll foi importado com êxito. No entanto, o Dynamo criou dois nós do que queríamos ser um nó único. Na próxima seção, explicaremos por que isso acontece e como o Dynamo lê um .dll.
MyCustomNode na biblioteca do Dynamo. A categoria da biblioteca é determinada pelo nome
.dll
.SampleFunctions.MultiplyByTwo na tela.
Quando o Dynamo carrega um .dll, ele expõe todos os métodos estáticos públicos como nós. Construtores, métodos e propriedades serão transformados em nós Criar, Ação e Consulta, respectivamente. No nosso exemplo de multiplicação, o método MultiplyByTwo()
se torna num nó Ação no Dynamo. Isso ocorre porque o nó foi nomeado com base em seu método e classe.
A entrada é nomeada
inputNumber
com base no nome do parâmetro do método.A saída é nomeada
double
por padrão porque esse é o tipo de dados que está sendo retornado.O nó é nomeado
SampleFunctions.MultiplyByTwo
porque esses são os nomes de classe e método.
No exemplo acima, o nó adicional Criar SampleFunctions
foi criado porque não fornecemos explicitamente um construtor e, portanto, um foi criado automaticamente. Podemos evitar isso criando um construtor privado vazio em nossa classe SampleFunctions
.
O Dynamo importou nosso método como um nó Criar
O nó de multiplicação é muito simples e não é necessário fazer referências ao Dynamo. Se quisermos acessar qualquer funcionalidade do Dynamo para criar geometria, por exemplo, precisaremos fazer referência aos pacotes NuGet do Dynamo.
ZeroTouchLibrary – Pacote para a compilação de bibliotecas de nós sem toque para o Dynamo que contém as seguintes bibliotecas: DynamoUnits.dll, ProtoGeometry.dll
WpfUILibrary – Pacote para bibliotecas de nós de compilação do Dynamo com interface de usuário personalizada no WPF que contém as seguintes bibliotecas: DynamoCoreWpf.dll, CoreNodeModels.dll, CoreNodeModelWpf.dll
DynamoServices – Biblioteca do DynamoServices para o Dynamo
Core – Infraestrutura de teste da unidade e do sistema para o Dynamo que contém as seguintes bibliotecas: DSIronPython.dll, DynamoApplications.dll, DynamoCore.dll, DynamoInstallDetetive.dll, DynamoShapeManager.dll, DynamoUtilities.dll, ProtoCore.dll, VMDataBridge.dll
Tests – Infraestrutura de teste da unidade e do sistema para o Dynamo que contém as seguintes bibliotecas: DynamoCoreTests.dll, SystemTestServices.dll, TestServices.dll
DynamoCoreNodes – Pacote para a compilação de nós principais do Dynamo que contém as seguintes bibliotecas: Analysis.dll, GeometryColor.dll, DSCoreNodes.dll
Para fazer referência a esses pacotes em um projeto do Visual Studio, faça o download do pacote NuGet nos links acima e faça referência manualmente aos .dlls ou use o Gerenciador de pacotes NuGet no Visual Studio. Primeiro, podemos analisar como instalá-los com o NuGet no Visual Studio.
Abra o Gerenciador de pacotes NuGet selecionando
Tools > NuGet Package Manager > Manage NuGet Packages for Solution...
Esse é o Gerenciador de pacotes NuGet. Essa janela mostra quais pacotes foram instalados para o projeto e permite que o usuário procure outros. Se uma nova versão do pacote DynamoServices for liberada, os pacotes poderão ser atualizados daqui ou revertidos para uma versão anterior.
Selecionar Procurar e pesquisar DynamoVisualProgramming para ativar os pacotes do Dynamo.
Pacotes do Dynamo. Selecionar um mostrará a versão atual e a descrição do que está dentro.
Selecionar a versão do pacote necessária e clicar em instalar. Isso instala um pacote para o projeto específico no qual você está trabalhando. Como estamos usando a versão estável mais recente do Dynamo, a versão 1.3, escolha a versão do pacote correspondente.
Para adicionar manualmente um pacote transferido por download do navegador, abra o Gerenciador de referências no Gerenciador de soluções e procure o pacote.
Clicar com o botão direito do mouse em
References
e selecionarAdd Reference
.Selecionar
Browse
para navegar para a localização do pacote.
Agora que o Visual Studio está configurado corretamente e adicionamos com êxito um .dll
ao Dynamo, temos uma base sólida para os conceitos daqui para frente. Este é apenas o início, portanto, siga em frente para saber mais sobre como criar um nó personalizado.