O Revit SDK contém duas pastas de amostras:
\Revit SDK <versão>\Software Development Kit\Samples\...
\Revit SDK <versão>\Software Development Kit\Macro Samples\...
Os programas na pasta \Samples\ do SDK usam o Revit API padrão. Nos referimos a estas amostras como a codificação de amostra SDK, distintas das amostras de macros do Revit.
Se desejar usar a codificação de amostra SDK para macros, serão necessárias modificações. Siga as etapas nesta seção. Para uma linguagem de programação, iremos mostra exemplos C#. No entanto, estas instruções também se aplicam para versões VB.Net das amostras SDK.
Etapas iniciais
As etapas iniciais para migrar amostras API padrão do SDK para seu IDE de macros de projeto do Revit são similares às da seção Integrar macros no IDE do Revit. No entanto, em vez de copiar arquivos das pastas \Macro Samples\<nome da amostra>\... do SDK, você irá copiar os arquivos nas pastas \Samples\<nome da amostra>\... do SDK.
Para rever, as etapas são:
- No IDE, adicione as referências requeridas.
- No IDE, crie pastas para as amostras SDK que deseja migrar
- No Windows Explorer, copie os arquivos de amostras API do SDK para as pastas do sistema de arquivos correspondentes
- No IDE, adicione arquivos existentes na macro do projeto
Atualize a codificação de amostra SDK
No IDE de macros do Revit, a interface IExternalCommand não está disponível e não é usada. Na codificação de mostra API do SDK, é preciso atualizar a classe que herda a mesma desta interface:
- Remova os parâmetros do método e o retorno do método Execute
- Atualize outras codificações relacionadas ao ExternalCommandData
Exemplo de codificação antes da edição
A amostra de codificação a seguir é de um programa que usa o Revit API padrão:
Exemplo de codificação após a edição
No IDE de macros do Revit, é preciso atualizar a codificação como segue. Este exemplo mostra uma macro a nível de aplicativo. O método RunSampleRooms() é a entrada para esta amostra de macro. Observe que usamos o apontador this para substituir o commandData.Application.
Notas adicionais sobre a migração para amostras API padrão SDK
- Por padrão, o espaço de nome da amostra SDK é: Revit.SDK.Samples.<SampleName>. CS. Quando você edita a codificação de amostra que veio com as amostras API padrão SDK, assegure-se em alterar o espaço do nome para o IDE do Revit. Por exemplo, no ThisApplication.cs:
namespace AppCSharp.csproj
- As referências padrão do projeto nos projetos IDE do Revit somente consistem em referências básicas como Revit. Proxy. Lembre-se de adicionar outras referências requeridas. Por exemplo, é necessário adicionar as referências Sistema.Janelas.Formas e Sistema.Desenho ao executar amostras que apresentam uma interface de usuário.
- Algumas amostras têm recursos que precisam ser definidos no arquivo resources. resx. GridCreation é uma destas amostras. Se você migrar a amostra API padrão SDK para o GridCreation para o IDE do Revit, assegure-se em definir a propriedade resx.
- A dependência de desenvolvimento do projeto não é suportada dentro do IDE do Revit. Se você desejar usar outras DLLs, é preciso compilar aquele projeto de amostra dependente fora do IDE do Revit. Por exemplo, nas amostras API padrão SDK, há diversas amostras relacionadas aos Viewers, como um AnalyticalViewer e RoomViewer, que dependem de referências ao RevitViewer.
No entanto, não podemos definir a dependência do projeto devido à uma limitação no IDE do Revit e não é possível migrar a amostra RevitViewer. Portanto, é necessário compilar o RevitViewer como uma amostra SDK independente e, em seguida, adicionar suas DLLS como uma referência no projeto IDE do Revit.
- Quando amostras API padrão SDK são migradas para o IDE do Revit, não copie quaisquer arquivos de Soluções (*.sln*) ou arquivos de projetos existentes (*.csproj ou *.vbproj).
- Amostras relativas às barras de ferramentas estão indisponíveis no IDE do Revit.