Você está aqui: Revit C# ::: Dicas & Truques ::: Colunas e Pilares |
Como criar colunas e pilares no Revit via programação usando a Revit C# APIQuantidade de visualizações: 310 vezes |
Nesta dica eu mostrarei uma das técnicas mais importantes da criação e manipulação de elementos no Revit usando a Revit C# API. Trata-se da criação de colunas e pilares via programação. Esse conhecimento é muito importante, pois nos permite distribuir pilares e colunas de forma mais precisa e baseado em cálculos geométricos mais complexos. A criação de pilares e colunas no Revit via programação C# é feita por meio da função Create.NewFamilyInstance() do objeto Document, que é obtido com uma chamada a this.ActiveUIDocument.Document. A assinatura da função Create.NewFamilyInstance() que usei neste exemplo pede a posição XYZ na qual a coluna ou pilar será colocada, o símbolo da família, o nível e o tipo da coluna ou pilar (que informei o valor StructuralType.Column). Durante o código eu informei o id do símbolo da família de coluna ou pilar Pilar de Concreto - Retangular 80 x 50. Você pode ajustar esse id para o tipo que você achar mais adequado. Note ainda o uso de uma função personalizada MetrosParaPes() que recebe as distâncias x e y em metros e as converte para pés. Via programação o Revit só entende medidas em pés, nunca em metros. Para o posicionamento da coluna ou pilar eu defini a distância de 10 metros para a coordenada x e 5 metros para a coordenada y, saindo da origem (0, 0, 0). Não faz sentido definir um valor para a coordenada z, pois estamos informando os níveis de base e superior para a coluna ou pilar. Veja o código Revit C# API completo para o exemplo: using System; using Autodesk.Revit.UI; using Autodesk.Revit.DB; using Autodesk.Revit.DB.Structure; using Autodesk.Revit.UI.Selection; using System.Collections.Generic; using Autodesk.Revit.DB.Architecture; using System.Linq; namespace Estudos { [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes. TransactionMode.Manual)] [Autodesk.Revit.DB.Macros.AddInId("ED8EC6C4-9489-48F7-B04E-B45B5D1BEB12")] public partial class ThisApplication { private void Module_Startup(object sender, EventArgs e) { // vamos obter uma referência ao Document ativo Document doc = this.ActiveUIDocument.Document; // vamos colocar a operação em um bloco try...catch try { // precisamos do id do símbolo da família de colunas. Para este // exemplo eu peguei o id 355634. Na minha instalação do Revit este // id se refere a um Pilar de Concreto - Retangular 80 x 50 ElementId id_simbolo = new ElementId(355634); // agora que já temos o id do símbolo da família, vamos construir // um objeto FamilySymbol FamilySymbol simbolo = doc.GetElement(id_simbolo) as FamilySymbol; // e agora a posição do pilar. Como a API C# do Revit trabalha // com pés (mesmo se a configuração do documento estiver em // metros), nós precisamos converter as coordenadas em metros // para pés double distancia_x = 10; // em metros double distancia_y = 5; // em metros // retornamos um objeto da classe XYZ XYZ posicao = new XYZ(MetrosParaPes(distancia_x), MetrosParaPes(distancia_y), 0); // iniciamos a transação Transaction transacao = new Transaction(doc); transacao.Start("Criação de pilares no Revit"); // é aqui que a mágica acontece. Note que forneci o id 694 para obter // e retornar o nível da base para o pilar como um objeto da classe // Level FamilyInstance coluna = doc.Create.NewFamilyInstance(posicao, simbolo, |
![]() |
Veja mais Dicas e truques de Revit C# |
Dicas e truques de outras linguagens |
AutoCAD Civil 3D - Como criar pontos COGO no AutoCAD Civil 3D |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |