Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD e VBA
PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO

Revit C# ::: Dicas & Truques ::: Colunas e Pilares

Como listar os tipos de colunas e pilares disponíveis no Revit usando a Revit C# API

Quantidade de visualizações: 718 vezes
Nesta dica mostrarei como podemos obter e retorna uma lista com as colunas e pilares disponíveis na sua instalação do Revit. Esse passo é muito importante quando precisamos informar o id do símbolo de família, ou seja, o tipo de coluna ou pilar que queremos criar, em um determinado momento, via programação Revit C# API.

O primeiro passo é acessar o documento atual do Revit usando uma chamada à this.ActiveUIDocument.Document. Em seguida nós obtemos um objeto FilteredElementCollector para filtrar e retornar os símbolos de família que se enquadrem na categoria OST_StructuralColumns. Para finalizar, nós convertemos os elementos Element em FamilySymbol.

Veja o código 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 obter um FilteredElementCollector contendo apenas
      // elementos que sejam ElementType e pertençam à categoria
      // OST_StructuralColumns
      try {
      FilteredElementCollector elementos = new FilteredElementCollector(doc)
        .WhereElementIsElementType().OfCategory(BuiltInCategory.OST_StructuralColumns);
  
      String lista = "";
      // vamos percorrer os elementos retornados
      foreach(Element elemento in elementos) {
        // vamos converter o Element em FamilySymbol
        FamilySymbol coluna = elemento as FamilySymbol;
        // agora montamos a lista de colunas (ou pilares)
        lista = lista + "Id: " + elemento.Id.IntegerValue + "; Nome: "
            + elemento.Name + "; Tipo: " + elemento.Category.Name +
            "; Família: " + coluna.Family.Name + "\n";
      }
   
      // mostramos o resultado
      TaskDialog.Show("Aviso", lista);
      }
      catch (Exception ex) {
        TaskDialog.Show("Aviso", "Erro: " + ex.Message);
      }
    }
      
    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:

Id: 12190; Nome: UC305x305x97; Tipo: Pilares estruturais; Família: UC-Universal Columns-Column
Id: 355634; Nome: 80 x 50; Tipo: Pilares estruturais; Família: Pila de Concreto - Retangular
Id: 355636; Nome: 50 x 50; Tipo: Pilares estruturais; Família: Pila de Concreto - Retangular


Delphi ::: Dicas & Truques ::: Arquivos e Diretórios

Como escrever em um arquivo texto usando as funções Write() e WriteLn() do Delphi

Quantidade de visualizações: 29447 vezes
Não há como fugir. Cedo ou tarde precisaremos escrever em um arquivo texto usando Delphi. E esta dica foi escrita com o propósito de facilitar esta tarefa.

O primeiro passo para se escrever em um arquivo texto usando Delphi é declarar uma variável do tipo TextFile. Em seguida usamos a procedure AssignFile() para associar a variável TextFile ao arquivo em disco.

Como queremos escrever conteúdo novo no arquivo, a função Rewrite() pode ser usada. Esta função cria o arquivo em disco se este ainda não existir. Se o mesmo existir, ele é excluído e a função cria outro com o mesmo nome. E, para escrever conteúdo no arquivo texto, usamos as funções Write() e WriteLn(). A primeira escreve no arquivo enquanto a segunda escreve no arquivo e adiciona o marcador de quebra de linha.

Veja o exemplo para um melhor entendimento:

procedure TForm1.Button1Click(Sender: TObject);
var
  arquivo: TextFile;
begin
  // vamos fazer uma ligação entre a variável arquivo e o
  // arquivo que queremos manipular
  AssignFile(arquivo, 'C:\arquivo de codigos\dados.txt');

  // vamos abrir o arquivo ou criar um novo
  Rewrite(arquivo);

  // vamos escrever no arquivo agora
  WriteLn(arquivo, 'Sou a primeira linha.');
  Write(arquivo, 'Sou a segunda linha.');
  WriteLn(arquivo, ' E lá vem...');
  WriteLn(arquivo, 'A terceira linha');

  // hora de fechar o arquivo
  CloseFile(arquivo);

  // fim
  ShowMessage('Operação realizada com sucesso.');
end;


Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


PHP ::: Dicas & Truques ::: Data e Hora

Datas e horas em PHP - Como obter o timestamp do primeiro dia do mês e ano informados

Quantidade de visualizações: 1 vezes
Nesta dica eu mostrarei como é possível obter o timestamp do primeiro dia de um determinado mês e ano.

O "Unix timestamp" contém o número de segundos entre a "Unix Epoch" (1 de janeiro de 1970, às 00:00:00 GMT) e o tempo decorrido desde então.

Veja o código PHP completo para o exemplo:

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>
 
<?php
  $mes = 1; // 1 = janeiro;
  $ano = 2021;
  $primeiro_dia = mktime(0, 0, 0, $mes, 1, $ano);
  echo "O timestamp do primeiro dia do mês e ano 
    informado é: " . $primeiro_dia;
?>
 
</body>
</html>

Ao executar este código nós teremos o seguinte resultado

O timestamp do primeiro dia do mês e ano informado é: 1609455600


C++ ::: Fundamentos da Linguagem ::: Tipos de Dados

Como usar o tipo de dados size_t da linguagem C++

Quantidade de visualizações: 16590 vezes
O tipo size_t é definido no arquivo stddef.h e em outros headers, e sua definição pode ser encontrada da seguinte forma:

typedef unsigned long size_t; 

Este tipo é usado para definir tamanhos de strings e blocos de memória. Foi proposto pelo ANSI C.

É comum encontrar size_t substituindo unsigned int ou unsigned long. Muito frequente também é ver este tipo recebendo o resultado de uma chamada ao operator sizeof. Veja:

#include <iostream>

using namespace std;

int main(){
  // vamos obter a quantidade de bytes em um int
  size_t tam = sizeof(int);
  
  cout << "Um inteiro nesta arquitetura contém: " <<
    tam << " bytes" << endl;
}

Ao executarmos este código nós teremos o seguinte resultado:

Um inteiro nesta arquitetura contém: 4 bytes


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

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
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

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


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 Apenas R$ 19,90


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