![]() |
|
|
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 - Estruturas de Aço e Madeira |
||
|
||
|
|
||
JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como retornar o índice da primeira ocorrência de um elemento em um array do JavaScript usando a função indexOf()Quantidade de visualizações: 3117 vezes |
|
Em algumas ocasiões nós precisamos obter e retornar o índice da primeira ocorrência de um determinado elemento em um array JavaScript. Para isso podemos usar a funções indexOf(). Se o elemento não puder ser encontrado, o valor -1 é retornado. Veja um exemplo de seu uso:
<script type="text/javascript">
var valores = new Array(1, 2, 3, 2, 2, 4, 5);
// vamos obter o índice da primeira ocorrência
// do elemento com o valor 2
var indice = valores.indexOf(2);
window.alert("Elemento encontrado no índice: "
+ indice);
</script>
Execute o código e veja que o elemento foi encontrado no índice 1, ou seja, na segunda posição do array, já que os índices de vetor e matriz em JavaScript começam a partir de 0. Experimente pesquisar o valor 50 e verá que o valor retornado é -1, indicando que o elemento não foi encontrado. |
Revit C# ::: Dicas & Truques ::: Selection, Seleção |
Como pedir para o usuário selecionar somente um elemento no Revit usando a função PickObject() do objeto Selection da Revit C# APIQuantidade de visualizações: 994 vezes |
|
Durante o desenvolvimento de plug-ins e macros para o Revit usando C# e a API do Revit, nós precisamos pedir para o usuário selecionar um elemento e efetuar alguma operação com ele. Para isso nós podemos usar a função PickObject() do objeto Selection. O objeto Selection é obtido a partir de um UIDocument, que, por sua vez, é obtido usando this.ActiveUIDocument. Após a aquisição do objeto Selection, nós chamamos a função PickObject() e retornamos um objeto Reference, para representar o elemento selecionado pelo usuário na área de desenho do Revit. Se o objeto Reference retornado for diferente de null, então sabemos que o usuário selecionou o elemento e podemos proseguir com a execução do código do Plug-in ou macro. Veja o código Revit C# completo para o exemplo:
using System;
using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
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 UIDocument ativo
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);
// agora testamos se o usuário realmente selecionou um
// elemento
if (selecionado != null) {
TaskDialog.Show("Aviso", "Você selecionou um elemento.");
}
}
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
}
}
|
PHP ::: Dicas & Truques ::: Data e Hora |
Como adicionar ou somar dias a uma data usando a função mktime() do PHPQuantidade de visualizações: 3 vezes |
|
Nesta dica que mostrarei como é possível usar a função mktime() do PHP para adicionar dias a uma data. O truque aqui é construir uma nova data a partir da data atual e somar a quantidade de dias que queremos ao quinto argumento fornecido para a função mktime(). Quando fazemos isso, a própria função de encarrega de montar todo o resto e nos fornecer a nova data. Veja o código completo para o exemplo:
<html>
<head>
<title>Estudos PHP</title>
</head>
<body>
<?php
echo "Hoje é: " . date("d/m/Y") . "<br>";
$proxima_data = mktime(0, 0, 0, date("m"),
date("d") + 20, date("Y"));
echo "Daqui 20 dias será: " . date("d/m/Y",
$proxima_data);
?>
</body>
</html>
Ao executar este código nós teremos o seguinte resultado: Hoje é: 10/03/2021 Daqui 20 dias será: 30/03/2021 |
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Apostila Java - Como usar o tipo de dados double da linguagem JavaQuantidade de visualizações: 22581 vezes |
O tipo de dados double é usado quando precisamos armazenar números de ponto-flutuante (com parte fracionária) na faixa 4.94065645841246544e-324 até 1.79769313486231570e+308. Este tipo ocupa 64 bits na memória (o mesmo que um long) e possui precisão de 14 ou 15 dígitos significativos. Veja um exemplo de seu uso:
public class Estudos{
public static void main(String args[]){
double valor = 54.5;
System.out.println("O valor da variável é: " +
valor);
System.exit(0);
}
}
É importante observar que a maioria dos métodos numéricos das classes Java (principalmente Math) possuem parâmetros do tipo double. Isso é feito de modo que possamos fornecer argumentos do tipo byte, short, int, long, float, etc. Como todos os tipos primitivos (exceto boolean) podem ser convertidos para double sem a necessidade de cast, esta é sem dúvida uma escolha bem acertada dos arquitetos da linguagem. Observe ainda que o tipo double não pode ser convertido implicitamente para nenhum outro tipo de dados primitivo. Se precisarmos convertê-lo para os tipos char, byte, short, int, long ou float, teremos que lançar mão de uma coerção (cast). Veja: double valor = 54.5; int valor2 = (int)(valor); É preciso ficar atento ao fato de que uma coerção de um tipo de ponto-flutuante para um tipo integral (inteiro) resulta na perda da parte fracionária do valor que está sofrendo o cast. Não é recomendável usar o tipo double (ou float) para aplicações financeiras nas quais a precisão dos valores numéricos é de muita importância. Para estes casos recomenda-se usar a classe BigDecimal. |
Python ::: Python para Engenharia ::: Geometria Analítica e Álgebra Linear |
Python para Engenharia - Como multiplicar um vetor por um escalar usando Python e NumPyQuantidade de visualizações: 3916 vezes |
|
Esta dica de Python e NumPy é direcionada, principalmente, aos estudantes de Engenharia, que se deparam, logo no início do curso, com o estudo da Geometria Analítica e gostariam de entender melhor a multiplicação de vetores por um escalar. Lembre-se de que um escalar é um valor único, enquanto vetores e matrizes são estruturas que guardam vários valores ao mesmo tempo. Nosso primeiro exemplo será feito em cima de um vetor no R3, ou seja, no espaço, com os seguintes valores: [3, -5, 4]. O escalar usado será o valor 2, ou seja, temos que multiplicar cada valor no vetor pelo valor 2 e, dessa forma, obtermos um novo vetor, também no R3. Vetores no R3 possuem valores para x, y e z (três dimensões), enquanto vetores no R2 possuem apenas o x e y. Veja como a linguagem Python facilita a operação da multiplicação de um vetor R3 por um escalar:
# importamos a bibliteca NumPy
import numpy as np
def main():
# declara e cria o vetor
vetor = np.array([3, -5, 4])
# agora vamos multiplicar este vetor pelo escalar 2
escalar = 2
novoVetor = vetor * escalar
# vamos exibir o resultado
print("Vetor inicial: ", vetor)
print("Valor do escalar: ", escalar)
print("Novo vetor: ", novoVetor)
if __name__== "__main__":
main()
Este código Python vai gerar o seguinte resultado: Vetor inicial: [3 -5 4] Valor do escalar: 2 Novo vetor: [6 -10 8] Agora, saindo da Geometria Analítica e indo para a Álgebra Linear, veja como podemos efetuar a mesma operação em uma matriz de 2 linhas e 3 colunas (recorde que, em Python, uma matriz nada mais é do que um vetor de vetores, ou seja, cada elemento do vetor contém outro vetor):
# importamos a bibliteca NumPy
import numpy as np
def main():
# declara e cria a matriz
matriz = np.array([(4, 12, 50), (5, 3, 1), (11, 9, 7)])
# agora vamos multiplicar esta matriz pelo escalar 2
escalar = 2
novaMatriz = matriz * escalar
# vamos exibir o resultado
print("Matriz inicial: ", matriz)
print("Valor do escalar: ", escalar)
print("Nova matriz: ", novaMatriz)
if __name__== "__main__":
main()
Ao executarmos este código Python nós teremos o seguinte resultado: Matriz inicial: [[4 12 50] [5 3 1] [11 9 7]] Valor do escalar: 2 Nova matriz: [[8 24 100] [10 6 2] [22 18 14]] |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




