Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: Revit C# ::: Dicas & Truques ::: Parameter - Parâmetros

Como listar todos os parâmetros de um elemento do Revit usando a classe ParameterSet da Revit C# API

Quantidade de visualizações: 240 vezes
Em várias situações nós precisamos listar todos os parâmetros de uma parede, viga, janela, coluna, etc, juntamente com seus valores. Para isso nós podemos usar um objeto da classe ParameterSet da Revit C# API. Este objeto é retornado a partir da propriedade Parameters do elemento desejado.

No exemplo abaixo eu usei a função PickObject() do objeto Selection para pedir para o usuário selecionar um objeto na área de desenho do Revit. A função PickObject() retorna uma Reference, que passamos para a função GetElement() da classe Document para retornar o elemento selecionado como um Element.

O passo final é acessar a propriedade Parameter do Element e retornar todos seus parâmetros e valores como um ParameterSet. Note que usei Definition.Name para retornar o nome do parâmetro e AsValueString() para retornar o valor do parâmetro como uma string.

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;
      UIDocument uidoc = this.ActiveUIDocument; 
      
      // agora mostramos uma mensagem para o usuário selecionar um elemento
      TaskDialog.Show("Aviso", "Selecione um elemento");
        
      // obtemos uma referência ao objeto Selection do
      // UIDocument ativo
      Selection selecao = uidoc.Selection;
      
      // e finalmente esperamos que o usuário selecione o elemento
      Reference selecionado = selecao.PickObject(ObjectType.Element,
        "Selecione um elemento");
      
      // agora testamos se o usuário realmente selecionou um
      // elemento
      if (selecionado != null) {
        // vamos obter o elemento selecionado a partir da
        // referência
        Element elemento = uidoc.Document.GetElement(selecionado);
            
        // vamos criar um objeto ParameterSet a partir da propriedade
        // Parameters do elemento selecionado pelo usuário
        ParameterSet parametros = elemento.Parameters;

        string lista = "";
        // vamos percorrer todos os parâmetros encontrados
        foreach (Parameter p in parametros) {
          lista = lista + p.Definition.Name + ": " + p.AsValueString() + "\n";
        }
     
        // e mostramos o resultado
        TaskDialog.Show("Aviso", lista);
      }
    }
      
    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:

Imagem: <Nenhum>
Estilo de coluna: Vertical
Categoria: Pilares estruturais
Categoria: Pilares estruturais
Tipo IFC predefinido:
Exportar para IFC como:
Exportar para IFC: Por tipo
IfcGUID: 14jRc_bYjC_R2vTTtKf5Vi
Existe associação: Não
Recobrimento de vergalhão - Fase inferior: Rebar Cover 1 <25 mm>
Recobrimento de vergalhão - Face superior: Rebar Cover 1 <25 mm>
Recobrimento de vergalhão - Outras Faces: Rebar Cover 1 <25 mm>
Opção de desenho: -1
Volume: 1.44 m³
Fase demolida: Nenhum
Fase criada: New Construction
Comentários:
Marca da localização da coluna: 5-7
ID de hospedeiro: -1
Deslocamento superior: 0.000 m
Deslocamento da base: 0.000 m
Nível superior: 02 Segundo
Nível base: 01 Primeiro
Nível: 01 Primeiro
Família e tipo: Pilar de Concreto - Retangular: 80 x 50
Família: Pilar de Concreto - Retangular
Tipo: 80 x 50
Nome da família:
Nome do tipo:
ID de tipo: 355634
Comprimento: 3.600 m
Move com eixos: Sim
Deslocamento superior: 0.000 m
Deslocamento da base: 0.000 m
Nível superior: 02 Segundo
Nível base: 01 Primeiro
Marca:
Delimitação de ambientes: Sim
Single Rebar W: 0.49 kN
Rebar Grids W: 0.98 kN
Tie Rod W: 0.29 kN
Single Rebar Weight: 50
Rebar Grids Weight: 100
Tie Rod Weight: 30

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

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 35 usuários muito felizes estudando em nosso site.