Anda di halaman 1dari 10

Meu primeiro plug-in para Revit

Vitor Paulo Silva ofcdesk


Assistente: Patrcia Mara Silva
Crie seu primeiro plugin para Revit, e descubra, mesmo sem ser um desenvolvedor profcional, como
possvel exponencializar as funcionalidades do Revit atrevs da programao.
Objetivo de aprendizado
Ao final desta palestra voc ter condies de:
Oque preciso ter e saber para desenvolver um plug-in para Revit
Desenvolver o primeiro plug-in para Revit
Onde obter ajuda














Sobre o Palestrante
Vitor iniciou sua carreira no AutoCAD R14 na rea da engenharia rodoviria, se apaixonou
pela programao e se especializou nas APIs de programao para AutoCAD e Revit.
membro ADN ds de 2009, e atualmente supervisor da equipe de desenvolvimento de plug-
ins para Revit na ofcdesk.llc.
vitorpaulo1@yahoo.com.br

Meu primeiro plug-in para Revit
2





Oque preciso ter e saber para desenvolver um plug-in para Revit
Oque priciso ter?
Revit 2010 ou superior
A partir da verso 2010 a Autodesk disponibilizou a API .NET para desenvolvimento de plug-ins
que rodam dentro do Revit. A partir da, a cada verso do Revit, ela tem aprimorado e tornado essa
biblioteca de desenvolvimento cada vez mais rica e poderosa.
Visual Studio Express ou Proficional
O Visual Studio a IDE .Net que usaremos para desenvolver nossos plug-ins. Para entender oque o
Visual Studio faz, podemos dizer em termos simples, que ele um programa utilizado para
construir outros programas, e em nosso caso, utilizaremos ele para contruir nossos plug-ins para
Revit. O bom do Visual Studio que alm de ser uma IDE muito poderosa e conhecida ele ainda
tem uma verso gratuita (Express) que pode perfeitamente ser usada para criar nossos plug-ins.
Revit SDK (Software Development Kits)
O Revit SDK um kit de desenvolvimento que pode ser baixado gratuitamente no site da Autodesk.
Cada verso do Revit tem o seu prprio SDK.

Oque priciso saber?
Conhecimento bsico em Revit
No necessrio que voc seja um expert em Revit para comear a desenvolver seus plugi-ins, mas
visto que os plug-ins rodaro dentro do Revit, necessrio que voc tenha pelo menos um
conhacimento basico de Revit para o auxiliar no entendimento da estrutura interna do Revit.
Conhecimento no Framework .Net
O Framework .NET uma plataforma de programao. Ele basicamente um conversor que
transforma o cdigo do programa que estamos desenvolvendo num outro cdigo que pode ser
lido, processado e executado pelo computador. Quando escervemos nosso cdigo, ele deve ser
escrito numa ligua que o Framework .NET conhea, dentre elas podemos citar C#, VB.NET, F # e
muitas outras. No nosso guia usaremos a liguagem de programao C#, por ser a mais utilizada e
pela sua facilidade de aprendizado. A medida que comear a desenvolver seus plug-ins comesar a
obter tambm mais fluencia nessa liguagem.
Conhecimento da API do Revit
API significa Application Programming Interface, uma biblioteca que d acesso via
programao as funcionalidades do Revit. Assim como conseguimos dar ordens para o Revit, como
criar paredes e importar famlias, atrves dos botes e atlhos disponibilizados na interface do
Revit, tambm podemos dar ordens ao Revit atravz da sua API usando um cdigo de programa
escrito em C#.
Meu primeiro plug-in para Revit
3





Desenvolvendo um plug-in passo-a-passo
Nesta lio voc criar seu primeiro plug-in para Revit que basicamente tem a funo de copiar
grupos selecionados pelo usurio em um local especificado.
Etapas para criar seu primeiro plug-in

1. Inicie o ambiente de desenvolvimento Visual C# Express:
Abra o Visual C# 2010 Express usando o menu Start do Windows, selecionar All
programs e, em seguida, Microsoft Visual Studio 2010 Express e, em seguida, o
Microsoft Visual c# 2010 Express (item de submenu).
2. Crie um projeto de biblioteca de classe:
Dentro Visual C# Express, no menu File, clique em New Project. Na aba Installed
Templates na janela esquerda, clique em Visual C#. Em seguida, na janela do meio,
clique em Class Library. Digite Lab1PlaceGroup na caixa Name. Clique em OK.

O
Visual
C#
Expres
s ir
criar
um
projeto
de
cdigo
padro
para
voc e
exibir o
cdigo
na
janela
de
cdigo.
3. Salve o projeto:
No menu File, clique em Save All. Na janela de exibio digite C:\test na caixa Location e,
em seguida, clique em Save.
4. Adicione referncias:
Na janela Solution Explorer do lado direito da janela do Visual C# Express, clique com
boto direito em References e clique em Add Reference
Meu primeiro plug-in para Revit
4





5. Clique na guia Browse na caixa de dilogo Add Reference e navegue at a subpasta de
instalao do produto Revit. (O caminho da subpasta depende onde voc instalou o Revit
Architecture 201X. O caminho padro C:\Program Files\Autodesk\Revit Architecture
201x\Program).

Voc ir adicionar dois arquivos de referncia desta pasta. Selecione RevitAPI.dll, mantenha
pressionada a tecla Ctrl e selecione RevitAPIUI.dll e, em seguida, clique em OK. Agora os dois
arquivos DLL so referenciados em seu projeto. Todas as APIs do Revit so expostas por esses
arquivos de interface e seu projeto pode usar todas essas APIs disponveis neles.



Meu primeiro plug-in para Revit
5






6. Defina o valor da propriedade Copy Local dos arquivos de referncia:

Na
janela
Solutio
n
Explore
r que
voc viu
na etapa
5, clique
em
RevitAP
I no n
Referen
ces. Na
janela
Propriedades, clique em propriedade Copy Local e clique na lista suspensa, selecione False. Repita
os mesmos passos para alterar o valor da propriedade Copy Local da RevitAPIUI como False.
7. Configura a verso Framework .NET:
Ateno: O Autodesk Revit 2011 oferece suporte ao uso do Framework .NET 3.5 e o
Autodesk Revit 2012 oferece suporte ao uso do Framework .NET 4.0, que Visual C# 2010
Express usa por padro
8. Adicione o cdigo:
Clique duas vezes em Class1.cs na janela Solution Explorer para mostrar a janela de
edio de cdigo. Exclua tudo nesta janela e, em seguida, digite o seguinte cdigo C#. Para
obter a experincia completa de desenvolvimento com o Visual C# Express-incluindo o uso
de recursos, como o IntelliSense, recomendamos que voc escreva o cdigo deste guia, em
vez de copiar e colar.

using System;
using System.Collections.Generic;
using System.Linq;

using Autodesk.Revit.DB;
using Autodesk.Revit.DB.Architecture;
using Autodesk.Revit.UI;
using Autodesk.Revit.UI.Selection;
using Autodesk.Revit.ApplicationServices;
using Autodesk.Revit.Attributes;

[TransactionAttribute(TransactionMode.Manual)]
Meu primeiro plug-in para Revit
6





[RegenerationAttribute(RegenerationOption.Manual)]
public class Lab1PlaceGroup : IExternalCommand
{
public Result Execute(
ExternalCommandData commandData,
ref string message,
ElementSet elements)
{
//Get application and document objects
UIApplication uiApp = commandData.Application;
Document doc = uiApp.ActiveUIDocument.Document;

//Define a Reference object to accept the pick result.
Reference pickedRef = null;

//Pick a group
Selection sel = uiApp.ActiveUIDocument.Selection;
pickedRef = sel.PickObject(ObjectType.Element,"Please select a
group");
Element elem = pickedRef.Element;
Group group = elem as Group;

//Pick a point
XYZ point = sel.PickPoint("Please pick a point to place group");

//Place the group
Transaction trans = new Transaction(doc);
trans.Start("Lab");
doc.Create.PlaceGroup(point, group.GroupType);
trans.Commit();

return Result.Succeeded;
}
}

9. Construa o projeto:
O cdigo que voc escreveu em forma humana legvel. Para tornar o cdigo legvel por
um computador, voc precisar traduzi-lo ou "construir" (Build).
Meu primeiro plug-in para Revit
7





Dentro Visual C# Express, no menu Debug, clique em Build Solution para compilar e construir seu
plug-in. A mensagem Build Succeeded mostrada na barra de status da janela do Visual C#
Express se a DLL foi criado com xito

Escrever um manifesto Addin

Um manifesto de AddIn um arquivo localizado em um local especfico, verificado pelo Revit
quandoinicia. O manifesto inclui informaes usadas pelo Revit para carregar e executar o plug-in.
1. Adicione o cdigo do manifesto:
Inicie Notepad.exe a partir do menu Iniciar do Windows. Copie e cole as seguintes
configuraes de carregamento de plug-in para o editor do bloco de notas.
<?xml version="1.0" encoding="utf-8"?>
<RevitAddIns>
<AddIn Type="Command">
<Assembly>
C:\test\Lab1PlaceGroup\Lab1PlaceGroup\bin\Release\Lab1PlaceGroup.dll
</Assembly>
<ClientId>502fe383-2648-4e98-adf8-5e6047f9dc34</ClientId>
Meu primeiro plug-in para Revit
8





<FullClassName>Lab1PlaceGroup</FullClassName>
<Text>Lab1PlaceGroup</Text>
<VendorId>ADSK</VendorId>
<VisibilityMode>AlwaysVisible</VisibilityMode>
</AddIn>
</RevitAddIns>
Dependendo de qual verso voc est usando talvez voc precise alterar o caminho aqui para
combinar com seu local de Lab1PlaceGroup.dll em seu computador:
C:\test\Lab1PlaceGroup\Lab1PlaceGroup\bin\Release\Lab1PlaceGroup.dll
2. Salve o arquivo:
No menu de arquivo do bloco de notas, clique em Salvar. Digite MyFirstPlugin.addin na
caixa nome do arquivo. Mude na janela Salvar como a opo tipo para todos os arquivos
(o nome do arquivo com voc; no entanto a extenso de arquivo deve ser "AddIn").
Navegue at a subpasta seguinte e, em seguida, clique no boto Salvar.
Para o Windows XP - C:\Documents and Settings\All Users\Application
Data\Autodesk\Revit\Addins\2011\
Para o Windows Vista/Windows 7 C:\ProgramData\Autodesk\Revit\Addins\2011\
Por exemplo, aqui est a configurao no dilogo Salvar como no Windows 7 para Revit
Architecture
2011.












Meu primeiro plug-in para Revit
9





Escrever um manifesto Addin

1. Abra o dataset http://images.autodesk.com/adsk/files/hotel.rvt

2. Carregar seu plug-in no Revit e permitir que o plug-in se
comunique com o Revit:
No interior do Revit na guia Add-Ins da faixa de opes, clique na lista
suspensa External Tools e, em seguida, clique em Lab1PlaceGroup.
Isto ir iniciar seu plug-in.
3. Trabalhar com o plug-in:
Mova o cursor sobre Room1 o modelo Revit. Quando o cursor est focalizando o grupo de
mobilirio, sua caixa delimitadora deve ser destacada como pela abaixo imagem, com uma
dica de ferramenta mostrando: Model Groups : Model Group : Group 1. Clique para
selecionar este grupo de mobilirio. (Nota: O quarto parece muito semelhante ao grupo.
Por favor, selecione cuidadosamente o grupo de acordo com a mensagem na dica de
ferramenta. Se a sala estiver selecionada, voc no ver o resultado esperado aps o passo
seguinte).







4. Escolha um ponto em outra sala, por exemplo, na Room2. Voc dever ver o grupo
copiado para este local. O centro do novo grupo o ponto selecionado.
Meu primeiro plug-in para Revit
10











Onde obter ajuda

My First Plugin
Srie de tutoriais disponvel na ADN Open desenvolvido de modo a proporcionar uma introduo
suave ao mundo da programao. Um guia passo-a-passo direcionado ao aprendizado de usurios
que conhecem produtos da Autodesk, mas so absolutamente novos para programao e esto
pretendendo mergulhar no mundo de programao. Neste guia, voc trabalhar com o API .NET do
Autodesk Revit e a linguagem de programao C#.
Autodesk Developer Network
Comunidade criada pela Autodesk para treinar, auxiliar e intercambiar profissionais que desejam
customizar as plataformas da AutoDesk atravs da programao. H tambm opses de filiao a
comunidade, como a ADN Open que gratuita e te d acesso a fruns, matriais e vdeos alm de te
colocar em contato com uma rede mundial de desenvolvedores nas APIs da AutoDesk. H tambm
opses pagas em que voc recebe suporte exclusivo dos especialias da AutoDesk para que vocs
entenda e extraia o melhor resultado posvel do uso da API ao desenvolver seus softwares.
The Building Coder Jeremy Tammik
Blog escrito por Jeremy Tammik, referencia mundial em desenvolvimento de plugins utilizando a
API do Revit. Nele voc encontra ds de dicas e truques tecnicas complexas de desenvolvimento
voltado para Revit. Se voc quiser se manter atualizados com as ultimas novidades e oque h de
mais avanado no mundo dos plug-ins para Revit, a leitura deste blog indispenavel.

Anda mungkin juga menyukai