| Você está aqui: Revit C# ::: Dicas & Truques ::: Níveis - Levels | 
| Como retornar uma lista dos ids de todos os níveis em um documento do Revit usando a Revit C# APIQuantidade de visualizações: 375 vezes | 
| Em várias situações nós precisamos dos ids dos níveis do documento Revit para posicionar pisos, colunas, pilares, e outros elementos de forma precisa via programação. Nesta dica mostrarei como podemos retornar uma lista com todos os níveis do documento atual do Revit usando um objeto FilteredElementCollector. Uma vez construída uma instância desse filtro, nós a usamos para retornar uma ICollection<Element> com todos os elementos do tipo Level. O passo seguinte é percorrer essa lista e acessar a propriedade Id de cada um dos níveis retornados. Lembre-se de que a propriedade Id retorna um elemento do tipo ElementId. Veja o código Revit C# completo para o exemplo: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
using System;
using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI.Selection;
using System.Collections.Generic;
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;
       
      // criamos um novo objeto FilteredElementCollector
      FilteredElementCollector collector = new FilteredElementCollector(doc);
      
      // obtemos uma coleção com todos os elementos Level
      ICollection<Element> niveis = collector.OfClass(typeof(Level)).ToElements();
     
      // monta a lista de ids dos níveis
      String lista_ids = "Foram encontrados " + niveis.Count +
        " níveis com os seguintes ids:\n\n";
      
      foreach (Element nivel in niveis) {
        lista_ids = lista_ids + nivel.Id + "\n";
      }
      
      // e mostramos o resultado
      TaskDialog.Show("Aviso", lista_ids);
    }
 
    private void Module_Shutdown(object sender, EventArgs e) {
      // para fazer alguma limpeza de memória ou algo assim
    }
 
    #region Revit Macros generated code
    private void InternalStartup() {
      this.Startup += new System.EventHandler(Module_Startup);
      this.Shutdown += new System.EventHandler(Module_Shutdown);
    }
    #endregion
  }
}
Ao executar este código Revit C# nós teremos o seguinte resultado: Foram encontrados 3 níveis com os seguintes ids: 43282 52338 87127 | 
|  Link para compartilhar na Internet ou com seus amigos: | 
| Veja mais Dicas e truques de Revit C# | 
| Dicas e truques de outras linguagens | 
| E-Books em PDF | ||||
| 
 | ||||
| 
 | ||||
| Linguagens Mais Populares | ||||
| 
			   1º lugar: Java | 


 
 




