Você está aqui: Revit C# ::: Dicas & Truques ::: Paredes - Walls |
Como retornar a quantidade de paredes em um documento do Revit usando o objeto FilteredElementCollector da Revit C# APIQuantidade de visualizações: 257 vezes |
Em várias situações nós precisamos saber a quantidade de paredes em um documento do Revit. Para isso nós podemos usar o objeto FilteredElementCollector para retornar uma ICollection<Element> do tipo Wall. O primeiro passo é obter uma referência ao documento atual usando this.ActiveUIDocument.Document. De posse do documento nós podemos criar um FilteredElementCollector e usá-lo para obter uma ICollection<Element>, fornecendo o tipo Wall para a função OfClass(). O passo final é acessar e retornar o valor da propriedade Count da ICollection. 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 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 Wall ICollection<Element> paredes = collector.OfClass(typeof(Wall)).ToElements(); // e mostramos a quantidade de paredes encontrados no documento TaskDialog.Show("Aviso", "Quantidade de paredes no documento Revit: " + paredes.Count); } 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: Quantidade de paredes no documento Revit: 8 |
![]() |
Veja mais Dicas e truques de Revit C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |