![]() |
|
|
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 Hidrostática |
||
|
||
|
|
||
Java ::: Dicas & Truques ::: Data e Hora |
Como obter a data completa formatada em português usando vetores e um objeto da classe Calendar do JavaQuantidade de visualizações: 1 vezes |
|
Nesta dica mostrarei como é possível combinar dois vetores de string contendo os nomes do dias e os nomes dos meses e um objeto da classe Calendar da linguagem Java para exibir a data completo em português. Este é um bom exercício para entender o uso de vetores em Java e as partes individuais que compoem uma data retornada pelo método getInstance() da classe Calendar. Veja o código completo para o exemplo:
package arquivodecodigos;
import java.util.Calendar;
public class Estudos{
public static void main(String args[]){
String dias[] = {"Domingo", "Segunda-feira", "Terça-feira",
"Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"};
String meses[] ={"Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho",
"Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"};
Calendar agora = Calendar.getInstance();
System.out.println("A date é: " + dias[agora.get(Calendar.DAY_OF_WEEK) - 1] +
", " + agora.get(Calendar.DAY_OF_MONTH) + " de " +
meses[agora.get(Calendar.MONTH)] +
" de " + agora.get(Calendar.YEAR));
}
}
Ao executar este código Java nós teremos o seguinte resultado: A date é: Sábado, 20 de Março de 2020 |
C ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o seno de um número ou ângulo em C usando a função sin()Quantidade de visualizações: 12306 vezes |
|
Em geral, quando falamos de seno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função seno disponível nas linguagens de programação para calcular o seno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria. No entanto, é sempre importante entender o que é a função seno. Veja a seguinte imagem: ![]() Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles. Assim, o seno é a razão entre o cateto oposto (oposto ao ângulo theta) e a hipotenusa, ou seja, o cateto oposto dividido pela hipotenusa. Veja a fórmula: \[\text{Seno} = \frac{\text{Cateto oposto}}{\text{Hipotenusa}} \] Então, se dividirmos 20 por 36.056 (na figura eu arredondei) nós teremos 0.5547, que é a razão entre o cateto oposto e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.5547. O resultado será 0.9828 (em radianos). Convertendo 0.9828 radianos para graus, nós obtemos 56.31º, que é exatamente o ângulo em graus entre o cateto oposto e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é seno na trigonometria, vamos entender mais sobre a função sin() da linguagem C. Esta função, disponível no header math.h, recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[]){
printf("Seno de 0 = %f", sin(0));
printf("\nSeno de 1 = %f", sin(1));
printf("\nSeno de 2 = %f", sin(2));
printf("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: Seno de 0 = 0.000000 Seno de 1 = 0.841471 Seno de 2 = 0.909297 Note que calculamos os senos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função seno mostrada abaixo: ![]() |
Java ::: Pacote java.lang ::: String |
Como retornar os caracteres de uma string como um vetor de char usando o método getChars() da classe String do JavaQuantidade de visualizações: 8644 vezes |
O método getChars() da classe String pode ser usado quando queremos retornar todos ou parte dos caracteres de uma string como uma matriz de char. Veja sua assinatura:public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) O parâmetro srcBegin indica o índice do primeiro caractere a ser copiado. O parâmetro srcEnd indica o índice APÓS o último caractere a ser copiado. O parâmetro dst é uma matriz de char para a qual os caracteres serão copiados e dstBegin indica o offset (ponto inicial) da matriz a ser preenchida. Veja um trecho de código no qual copiamos os 5 primeiros caracteres de uma string para uma matriz de char chamada letras:
public class Main {
public static void main(String[] args) {
// vamos declarar e inicializar uma string
String frase = "Cuiabá é muito quente";
// declara uma matriz de 5 chars
char letras[] = new char[5];
// vamos copiar os 5 primeiros caracteres da frase anterior
// e guardá-los nas primeiras posições da matriz
frase.getChars(0, 5, letras, 0);
// vamos percorrer a matriz letras
for (int i = 0; i < letras.length; i++) {
System.out.print(letras[i] + " ");
}
}
}
Ao executarmos este código teremos o seguinte resultado: C u i a b O método getChars() pode atirar uma exceção do tipo IndexOutOfBoundsException se valores inválidos forem fornecidos aos seus parâmetros. |
Python ::: Fundamentos da Linguagem ::: Passos Iniciais |
Como criar módulos de código reutilizável em PythonQuantidade de visualizações: 9078 vezes |
|
Uma das características da boa programação é reutilizar ao máximo códigos bem testados e independentes. A criação de módulos de funções e definições de classes em Python pode ser feita de forma bem simples. 1) Comece criando um arquivo chamado funcoes.py com o seguinte conteúdo: """ Sou um módulo Python. A única funcionalidade que ofereço é uma função que soma dois números """ def somar(num1, num2): return (num1 + num2) 2) Salve este arquivo no diretório atual de sua aplicação e vamos importá-lo. Para isso escreva um novo programa. Uma sugestão é:
"""
Sou o programa principal e vou importar
o módulo que contém a função somar
"""
import funcoes
def main():
print(funcoes.somar(3, 5))
if __name__== "__main__":
main()
3) Execute o programa e veja o resultado. Para que este programa funcione corretamente, é preciso que o módulo a ser importado esteja no diretório atual ou em qualquer um dos diretórios pesquisados pelo interpretador Python, geralmente representados pelo variável de ambiente PYTHONPATH. Porém, há situações que queremos agrupar nossos módulos em um diretório dentro do diretório principal da aplicação. O exemplo abaixo mostra como importar um módulo localizado no diretório "lib" da aplicação atual: """ Sou o programa principal e vou importar o módulo que contém a função somar() """ # importa o módulo sys import sys # acrescenta o diretório lib na variável # de ambiente PYTHONPATH sys.path.append(sys.path[0] + '\\lib') # pode importar funcoes no diretório lib import funcoes # pode chamar o método somar agora def main(): print(funcoes.somar(3, 5)) if __name__== "__main__": main() |
Revit C# ::: Dicas & Truques ::: Eixos - Grids |
Como criar eixos no Revit via programação usando a função Create() da classe Grid da Revit C# APIQuantidade de visualizações: 581 vezes |
|
Os eixos, ou grids, são linhas que auxiliam na construção de um projeto, ou seja, uma espécie de malha de linhas. Eles são mais utilizados quando se trabalha com elementos estruturais, para a locação de colunas e pilares. No Revit, os eixos podem ser verticais, horizontais, inclinados e até em forma de arcos. Para criá-los, vá na aba Arquitetura, seção Dados e localize o item Eixo (ou digite GR). Via programação nós podemos criar um eixo no Revit usando a função Create() da classe Grid da Revit C# API. Neste exemplo mostrarei, em detalhes, como isso pode ser feito. O primeiro passo é obter uma referência ao documento UI atual usando this.ActiveUIDocument. Após isso acessar o documento usando uidoc.Document. As coordenadas geométricas de início e fim do eixo são criadas como objetos da classe XYZ. Então, de posse das coordenadas, nós criamos um objeto Line usando a função Line.CreateBound(). Para finalizar nós usamos a função Grid.Create() para desenhar o eixo na área de desenho do Revit. Note como passamos o objeto Line e uma referência ao documento atual para esta função. Veja ainda o uso de uma Transaction para abrir uma transação do Revit, criar o elemento e fechá-la em seguida. Este exemplo criará um eixo com o LevelId -1, ou seja, no primeiro nível do documento. Em outras dicas dessa seção eu mostro como definir o nível para o grid recém-criado. Veja o código Revit C# API completo para o exemplo:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Autodesk.Revit.DB;
using Autodesk.Revit.DB.Architecture;
using Autodesk.Revit.DB.Structure;
using Autodesk.Revit.UI;
using Autodesk.Revit.UI.Selection;
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) {
// primeiro obtemos uma referência ao documento atual
UIDocument uidoc = this.ActiveUIDocument;
Document doc = uidoc.Document;
// criamos a linha geométrica para posicionar o eixo
// não se esqueça de converter metros para pés
XYZ inicio = new XYZ(0, -100, 0);
XYZ final = new XYZ(0, 100, 0);
// construímos a linha
Line linhaGeometrica = Line.CreateBound(inicio, final);
// iniciamos uma nova transação
using(Transaction t= new Transaction(doc)) {
t.Start("Criar um novo Grid");
// e criamos o novo eixo
Grid eixo = Grid.Create(doc, linhaGeometrica);
t.Commit();
// e mostramos o resultado
TaskDialog.Show("Aviso", "O novo eixo foi criado com o ID: " +
eixo.Id);
}
}
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# API teremos o seguinte resultado: O novo eixo foi criado com o ID: 49827 |
Veja mais Dicas e truques de Revit C# |
Dicas e truques de outras linguagens |
|
VB.NET - Como retornar o tamanho de uma string em VB.NET usando a propriedade Length da classe String JavaScript - JavaScript Avançado - Como remover todas as ocorrências de uma substring em uma string usando uma função recursiva |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






