![]() |
|
|
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 |
||
|
||
|
|
||
Python ::: Python para Engenharia ::: Engenharia Civil - Cálculo Estrutural |
Como calcular o peso que um pilar aguenta usando Python - Python para Engenharia CivilQuantidade de visualizações: 594 vezes |
![]() O sonho de todo estudante de Engenharia Civil é poder responder, com segurança, a uma das perguntas mais recorrentes no nosso dia-a-dia: Quanto de peso um pilar aguenta? Para responder, basta nos lembrarmos de que o concreto é muito resistente à compressão, e, no caso dos pilares, a armadura é usada, em sua maior parte, para combater a flambagem, que é quando o pilar tende a fletir para os lados, parecendo-se com um arco ou com uma barriga de chope. Então, uma vez que o pilar recebe sua carga em seu eixo (carga axial) e o concreto é muito resistente à compressão, só precisamos nos concentrar na resistência característica do concreto à compressão e na área da seção transversal do pilar. Sempre que falamos de resistência do concreto, nós estamos falando de FCK C15, C20, C25, C30, etc, que são os termos usados para designar sua resistência. Assim, um concreto C25 é o mesmo que 25 MPa, ou seja, esse concreto resiste a 250Kg/cm2. Os concretos usinados, em geral, vêm com resistência de 25 MPa para cima, enquanto aquele concreto que fazemos na obra, na betoneira, usando a combinação de 3x1, chega no máximo a 15 MPa. Além disso, é importante nos lembrarmos de que a norma NBR 6118/2014 exige que o concreto seja igual ou superior a 25 MPa. Há também o fator de segurança de 40%, também exigido pela norma NBR 6118/2014. Dessa forma, se o concreto for de 25 MPa, aplicado o fator de segurança, só podemos contar com 15 MPa mais ou menos, o que daria 150Kg/cm2. Vamos ver código agora? Veja o código Python completo que pede os lados b (base) e h (altura) do pilar e o FCK do concreto usado e retorna o peso que o pilar suporta (já aplicado o fator de segurança):
# Algoritmo Python que calcula o peso suportado por um pilar
# dados os seus lados e o FCK do concreto
# função principal do programa
def main():
# vamos ler o lado b do pilar
base = float(input("Informe a base (b) do pilar em cm: "))
# vamos ler a altura h do pilar
altura = float(input("Informe a altura (h) do pilar em cm: "))
# vamos calcular a área da seção transversal do pilar
area = base * altura
# agora vamos ler o FCK do concreto em MPa
fck = float(input("Informe o FCK do concreto em MPa: "))
# vamos calcular o peso suportado pelo pilar
peso_suportado = area * (fck * 10)
# vamos aplicar o fator de segurança de 40%
peso_suportado = peso_suportado / 1.4
# e mostramos o resultado
print("A área da seção transversal é: {0} cm2".format(area))
print("Esse pilar suporta {0} kg".format(peso_suportado))
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Informe a base (b) do pilar em cm: 14 Informe a altura (h) do pilar em cm: 26 Informe o FCK do concreto em MPa: 20 A área da seção transversal é: 364.0 cm2 Esse pilar suporta 52000.0 kg Lembre-se de que a área mínima da seção de um pilar, de acordo com a NBR 6118/2014 é de 360 cm2. |
Python ::: Python para Engenharia ::: Engenharia Civil - Concreto, Concreto Armado e Concretos Especiais |
Cálculo de estribos em vigas de concreto armado usando Python - Verificação da compressão diagonal do concretoQuantidade de visualizações: 1122 vezes |
|
No dimensionamento de vigas de concreto armado à força cortante, ou seja, aos esforços de cisalhamento, nós adotamos, de acordo com recomendações da ABNT NBR 6118 (Projeto de estruturas de concreto armado), o modelo de treliça clássica de Ritter-Mörsh, na qual é suposto que uma carga aplicada num ponto qualquer de uma viga de concreto armado, chegue até os apoios percorrendo o caminho de uma treliça. Recordemos ainda que na treliça clássica de Ritter-Mörsh o ângulo de inclinação das bielas comprimidas é igual à 45°. Neste modelo de treliça, a compressão do banzo superior é resistida pelo concreto, enquanto a tração do banzo inferior é resistida pelo aço. As diagonais comprimidas também são resistidas pelo concreto, cabendo ao aço (estribos) o papel de reforçar as diagonais tracionadas. Notem que usei "reforçar", pois o concreto oferece também uma parcela de resistência à tração nestas diagonais. Sendo assim, um dos primeiros passos no cálculo e detalhamento das armaduras transversais, ou seja, a armadura de cisalhamento de uma viga de concreto armado, é a verificação da compressão diagonal do concreto. Neste passo nós verificamos se as bielas comprimidas resistem ao esforço cortante solicitante de projeto VSd. A verificação da compressão diagonal do concreto no Modelo I (no qual o ângulo α, que é o ângulo entre os estribos e o eixo longitudinal da viga, pode ser considerado entre 45º e 90º) pode ser realizada por meio da seguinte fórmula: \[V_\text{Rd2} = 0,27 \cdot \alpha_\text{v2} \cdot f_\text{cd} \cdot b_w \cdot d \] Onde: fcd é a resistência de cálculo do concreto, em kN/cm2; bw é a largura da viga, em centímetros; d é a altura útil da viga em centímetros; Já o αv2 pode ser calculado pela seguinte fórmula: \[\alpha_\text{v2} = 1 - \frac{f_\text{ck}}{250}\] Onde: fck é a resistência característica do concreto, em Mpa. Veja agora o código Python :
# método principal
def main():
# vamos pedir para o usuário informar a altura da viga
altura = float(input("Informe a altura h da viga em cm: "))
# vamos pedir para o usuário informar a largura da viga
largura = float(input("Informe a largura bw da viga em cm: "))
# vamos calcular a altura útil da viga
# aqui eu usei 0.9 mas alguns engenheiros usam 0.95
altura_util = 0.9 * altura
# vamos pedir para o usuário informar o FCK do concreto
fck = float(input("Informe o FCK do concreto em Mpa: "))
# vamos ler o coeficiente de minoração do concreto
yc = float(input("Informe o coeficiente de minoração yc: "))
# vamos solicitar o esforço cortante solicitante VSk
VSk = float(input("Informe o esforço cortante solicitante em kN: "))
# vamos ler o coeficiente de majoração das cargas
yf = float(input("Informe o coeficiente de majoração yf: "))
# vamos calcular o esforço cortante solicitante de cálculo VSd
VSd = yf * VSk
# agora vamos calcular o fcd do concreto
fcd = fck / yc
# vamos calcular o alfa v2
av2 = 1 - (fck / 250)
# finalmente vamos calcular o VRd2 no Modelo de Cálculo I
VRd2 = 0.27 * av2 * (fcd / 10) * largura * altura_util
# vamos mostrar os resultados
print("\n------ RESULTADOS -----------------------------")
print("O fcd do concreto é: {0} Mpa".format(round(fcd, 4)))
print("O valor de av2 é: {0}".format(round(av2, 4)))
print("O valor de VRd2 é: {0} kN".format(round(VRd2, 4)))
print("O valor de VSd é: {0} kN".format(round(VSd, 4)))
# vamos testar se as bielas de compressão não serão esmagadas
if (VSd <= VRd2):
print("VSd <= VRd2: As bielas de compressão RESISTEM")
else:
print("VSd > VRd2: As bielas de compressão NÃO RESISTEM")
if __name__ == "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Informe a altura h da viga em cm: 40 Informe a largura bw da viga em cm: 20 Informe o FCK do concreto em Mpa: 25 Informe o coeficiente de minoração yc: 1.4 Informe o esforço cortante solicitante em kN: 75 Informe o coeficiente de majoração yf: 1.4 ------ RESULTADOS ----------------------------- O fcd do concreto é: 17.8571 Mpa O valor de av2 é: 0.9 O valor de VRd2 é: 312.4286 kN O valor de VSd é: 105.0 kN VSd <= VRd2: As bielas de compressão RESISTEM |
Java ::: Java Swing - JTable e classes relacionadas ::: JTable |
Como aplicar cores alternadas às linhas de uma JTable do Java SwingQuantidade de visualizações: 3 vezes |
|
Nesta dica eu mostrarei como aplicar o tão falado "efeito zebrinha" nas linhas de uma tabela JTable do Java Swing. A técnica é muito simples é, uma vez aprendida, possibilita a criação de códigos cada vez mais interessantes. Veja como efetuo uma chamada ao método prepareRenderer() para obter um Component representando a célula que está sendo renderizada. Se o índice da linha da célula for par e não estiver selecionada, nós efetuamos uma chamada à setBackground() da classe Component para definir a sua cor de fundo. Veja o código completo para o exemplo:
package arquivodecodigos;
import javax.swing.*;
import java.awt.*;
import javax.swing.table.*;
public class Estudos extends JFrame {
public Estudos() {
super("Exemplo de uma tabela com efeito zebrinha");
// colunas da tabela
String[] colunas = {"Cidade", "Estado", "Habitantes"};
// conteúdo da tabela
Object[][] conteudo = {
{"Goiânia", "GO", "43.023.432"},
{"São Paulo", "SP", "5.343.234"},
{"Rio de Janeiro", "RJ", "6.434.212"},
{"Jussara", "GO", "87.454"},
{"Barra do Garças", "MT", "64.344"}
};
// constrói a tabela
final JTable tabela = new JTable(conteudo, colunas) {
@Override
public Component prepareRenderer(TableCellRenderer renderer,
int rowIndex, int vColIndex) {
Component c = super.prepareRenderer(renderer, rowIndex, vColIndex);
if (rowIndex % 2 == 0 && !isCellSelected(rowIndex, vColIndex)) {
c.setBackground(Color.YELLOW);
}
else {
c.setBackground(getBackground());
}
return c;
}
};
tabela.setPreferredScrollableViewportSize(new Dimension(350, 150));
Container c = getContentPane();
c.setLayout(new FlowLayout());
JScrollPane scrollPane = new JScrollPane(tabela);
c.add(scrollPane);
setSize(400, 300);
setVisible(true);
}
public static void main(String args[]) {
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Ao executar este código Java Swing nós teremos o seguinte resultado: ![]() |
JavaScript ::: DOM (Document Object Model) ::: window Object (Objeto window) |
Como obter confirmação do usuário para determinadas ações em seus códigos JavaScript usando a função confirm() do objeto windowQuantidade de visualizações: 7791 vezes |
|
O método confirm() do objeto window pode ser usado quando queremos perguntar ao usuário sobre alguma tarefa a ser realizada por nossos códigos JavaScript. Este método exibe uma mensagem contendo dois botões: OK e Cancelar. Se o usuário pressionar o botão OK, o retorno do método será o valor true. Se o usuário pressionar o botão Cancelar, o retorno será false. Veja uma página HTML na qual usamos o método confirm() para perguntar ao usuário se ele gostaria de recarregar a página atual:
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
// vamos perguntar ao usuário se ele deseja recarregar
// a página atual
var res = window.confirm("Deseja recarregar esta página?");
if(res == true){
window.alert("Você optou por recarregar a página atual");
// recarrega a página
window.location.reload();
}
else{
window.alert("Você optou por não recarregar a página");
}
</script>
</body>
</html>
Veja que aqui nós criamos uma variável res que receberá o retorno do método confirm(). Na prática, podemos verificar este retorno diretamente no teste condicional. Veja:
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
// vamos perguntar ao usuário se ele deseja recarregar
// a página atual
if(window.confirm("Deseja recarregar esta página?")){
window.alert("Você optou por recarregar a página atual");
// recarrega a página
window.location.reload();
}
else{
window.alert("Você optou por não recarregar a página");
}
</script>
</body>
</html>
|
Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como testar se um ponto está dentro de um círculo em Java - Desenvolvimento de Games com JavaQuantidade de visualizações: 1475 vezes |
|
Quando estamos trabalhando com computação gráfica, geometria e trigonometria ou desenvolvimento de jogos em Java, é comum precisarmos verificar se um determinado ponto (uma coordenada x, y) está contido dentro de um círculo. Para melhor entendimento, veja a imagem a seguir: ![]() Veja que temos um círculo com raio igual a 115 e com centro nas coordenadas (x = 205; y = 166). Temos também dois pontos. O ponto vermelho está nas coordenadas (x = 140; y = 90) e o ponto azul está nas coordenadas (x = 330; y = 500. Como podemos ver na imagem, o ponto vermelho está dentro do círculo, enquanto o ponto azul está fora. E nosso intenção nesta dica é escrever o código Java que permite fazer essa verificação. Tenha em mente que está técnica é muito útil para o teste de colisões no desenvolvimento de games. Veja o código completo para o exemplo:
package estudos;
// vamos declarar a classe Circulo
class Circulo{
double xc;
double yc;
double raio;
public Circulo(double xc, double yc, double raio){
this.xc = xc; // x do centro
this.yc = yc; // y do centro
this.raio = raio; // raio do círculo
}
}
// agora vamos declarar a classe Ponto
class Ponto{
double x;
double y;
public Ponto(double x, double y){
this.x = x; // coordenada x
this.y = y; // coordenada y
}
}
// classe principal da aplicação
public class Estudos{
public static void main(String[] args){
// vamos criar um objeto Circulo
Circulo c = new Circulo(205, 166, 115);
// vamos criar um objeto Ponto
Ponto p = new Ponto(140, 90);
// vamos verificar se o ponto está dentro do
// círculo
double dx = p.x - c.xc;
double dy = p.y - c.yc;
if((Math.pow(dx, 2) + Math.pow(dy, 2)) < Math.pow(c.raio, 2)){
System.out.println("O ponto está dentro do círculo");
}
else{
System.out.println("O ponto NÃO está dentro do círculo");
}
}
}
Ao executar este código Java nós teremos o seguinte resultado: O ponto está dentro do círculo. Experimente com círculos de raios e coordenadas centrais diferentes e também com pontos em várias coordenadas e veja como os resultados são interessantes. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
|
C++ Builder - Como habilitar ou desabilitar um TEdit usando a função EnableWindow() da API do Windows usando C++ Builder |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







