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: 330 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: ----------------------------------------------------------------------
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.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 |







