![]() |
|
|
Planilha de Dimensionamento de Tubulações
Hidráulicas Água Fria e Água Quente CompletaNossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes. |
||
Você está aqui: Cards de Engenharia Civil - Construção Civil |
||
|
||
|
|
||
C# ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como ordenar um array de strings em ordem alfabética em C# usando a classe StringComparerQuantidade de visualizações: 18268 vezes |
|
Nesta dica mostrarei como classificar um vetor de strings C# em ordem alfabética. Para isso nós vamos usar um objeto da classe StringComparer. Veja o código completo para o exemplo:
using System;
namespace Estudos {
class Program {
static void Main(string[] args) {
// cria e inicializa um array de strings
string[] cidades = {"Goiânia", "São Paulo",
"Rio de Janeiro", "Curitiba"};
Console.WriteLine("Ordem original:");
for (int i = 0; i < cidades.Length; i++) {
Console.WriteLine(cidades[i]);
}
// vamos criar um objeto da classe StringComparer
StringComparer ordenar = StringComparer.CurrentCultureIgnoreCase;
// agora classificamos o vetor em ordem alfabética
Array.Sort(cidades, ordenar);
Console.WriteLine();
Console.WriteLine("Ordem alfabética:");
for (int i = 0; i < cidades.Length; i++) {
Console.WriteLine(cidades[i]);
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: Ordem original: Goiânia São Paulo Rio de Janeiro Curitiba Ordem alfabética: Curitiba Goiânia Rio de Janeiro São Paulo |
JavaScript ::: DOM (Document Object Model) ::: document Object |
JavaScript DOM - Como usar o objeto document em seus códigos JavaScriptQuantidade de visualizações: 8320 vezes |
O objeto document representa a página HTML e fornece possibilidades para acessar, criar e manipular todos os elementos HTML no documento. Este objeto está logo abaixo do objeto window na hierarquia do DOM (Document Object Model), ou seja, podemos dizer que este elemento é filho do objeto window. Assim, para acessá-lo a partir de nossos códigos JavaScript podemos usar window.document ou simplesmente document. Veja:
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
// vamos obter o título desta página
var titulo = window.document.title;
// vamos exibir o resultado em uma mensagem alert
window.alert("O título da página é: " + titulo);
</script>
</body>
</html>
Neste exemplo nós usamos o objeto window para obter o objeto document. O passo seguinte foi obter o valor de sua propriedade title, que é usada para definir ou obter o título da página HTML. Para obter um elemento em um documento HTML nós podemos usar as coleções (all, anchors, applets, etc), os métodos getElementById(), getElementsByName() e getElementsByTagName() e algumas outras propriedades e métodos. Se precisarmos acessar o elemento body ou html, podemos usar as propriedades document.documentElement e document.body. Veja um trecho de código no qual acessamos o corpo do documento HTML e definimos sua cor de fundo: <script type="text/javascript"> // vamos definir a cor de fundo da página HTML window.document.body.bgColor = "Beige"; </script> Uma vez que o objeto document é um objeto contâiner para um documento HTML, ele fornece métodos para a crição de novos elementos (por meio do método createElement()), nós textos (createTextNode()) e nós de comentários (createComment()). Depois que um nó (node) é criado, ele pode ser inserido no documento por meio de chamadas aos métodos appendChild() e insertBefore(). Veja um trecho de código no qual usamos o método createElement() para criar um novo elemento div e logo em seguida usamos o método appendChild() para adicionar o elemento recém-criado no final do documento HTML:
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
// vamos criar um novo elemento div
var elem = document.createElement("div");
elem.innerHTML = "Sou uma div criada dinâmicamente";
elem.style.backgroundColor = "beige";
// vamos adicionar este novo elemento no final do documento
document.body.appendChild(elem);
</script>
</body>
</html>
Os documentos HTML contidos em elementos frames e iframes possuem seus próprios objetos document. Para obter tais objetos, devemos usar a propriedade contentDocument. |
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como inverter uma string em Ruby usando as funções reverse e reverse!Quantidade de visualizações: 10507 vezes |
Esta dica mostra como podemos inverter uma string em Ruby, ou seja, reverter a ordem de seus caracteres. Para isso nós temos dois métodos: reverse e reverse!. O método reverse retorna uma nova string enquanto reverse! reverte o conteúdo da string original. Veja o trecho de código:# declara e inicializa uma variável string frase = "Osmar J. Silva" # inverte a string sem afetar o original invertida = frase.reverse # exibe o resultado puts "Original: " + frase puts "Invertida: " + invertida # inverte afetando o original frase.reverse! # exibe o resultado puts "Original: " + frase Ao executar este código Ruby nós teremos o seguinte resultado: Original: Osmar J. Silva Invertida: avliS .J ramsO Original: avliS .J ramsO |
C# ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar if e if..else em C# - A estrutura condicional if do C#Quantidade de visualizações: 22548 vezes |
A instrução condicional if (se) é usada quando queremos testar uma condição e, baseado nesta, executar alguma ação. Veja:
static void Main(string[] args){
int valor = 20;
// testa se o valor é maior que 10
if(valor > 10){
Console.WriteLine("O valor é maior que 10");
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
Execute o código e veja que o texto "O valor é maior que 10" é exibido somente se o valor da variável valor for maior que 10. Note que neste teste temos somente uma instrução. Neste caso as chaves { e } podem ser omitidas:
if(valor > 10)
Console.WriteLine("O valor é maior que 10");
No entanto, quando duas ou mais instrução forem executadas, as chaves { e } são obrigatórias. Note também que o resultado do teste de uma instrução condicional if deve ser sempre true ou false. A instrução if..else (se..ou então) é útil quando queremos executar uma ação se uma condição for satisfeita e outra ação caso contrário. Veja:
static void Main(string[] args){
int valor = 5;
// testa se o valor é maior que 10
if(valor > 10){
Console.WriteLine("O valor é maior que 10");
}
else{
Console.WriteLine("O valor é menor ou igual a 10");
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
Há ainda os casos em que temos que testar várias condições. Observe: static void Main(string[] args){
int valor = 8;
// testa se o valor é maior que 10
if(valor > 10){
Console.WriteLine("O valor é maior que 10");
}
// testa se o valor é menor que 10
else if(valor < 10){
Console.WriteLine("O valor é menor que 10");
}
// o valor é igual a 10
else{
Console.WriteLine("O valor é igual a 10");
}
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
|
Revit C# ::: Dicas & Truques ::: Colunas e Pilares |
Como listar os tipos de colunas e pilares disponíveis no Revit usando a Revit C# APIQuantidade de visualizações: 652 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 |
Veja mais Dicas e truques de Revit C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




