![]() |
|
|
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 Concreto Armado |
||
|
||
|
|
||
MySQL ::: Dicas & Truques ::: Data e Hora |
Como formatar campos DATE, TIME, DATETIME e TIMESTAMP usando a função DATE_FORMAT() do MySQLQuantidade de visualizações: 26281 vezes |
A função DATE_FORMAT() é usada quando precisamos formatar os valores obtidos de campos do tipo DATE, TIME, DATETIME e TIMESTAMP. Veja um exemplo no qual obtemos o valor de um campo DATE chamado vencimento e o formatamos para o formato 30/10/2007:SELECT DATE_FORMAT(vencimento, '%d/%m/%Y') FROM tabela_estudos A relação de caracteres que podem ser usados na definição do formato para esta função pode ser encontrada em: http://www.arquivodecodigos.com.br/ referencias/mysql/ caracteres_formatacao_data_hora.php |
Java ::: Classes e Componentes ::: JTable |
Java Swing Avançado - Como exibir imagens nas células de uma JTable em suas aplicações Java SwingQuantidade de visualizações: 15792 vezes |
|
Nesta dica mostrarei como criar uma classe personalizada que estende a classe JLabel e implementa a interface TableCellRenderer. O objetivo é fornecer esta JLabel ao método setCellRenderer() de uma das colunas da JTable e exibir uma imagem ou foto ao lado do conteúdo da célula. Veja o resultado da figura abaixo: ![]() E aqui está o código Java Swing 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 simples");
// colunas da tabela
String[] colunas = {"Nome", "Idade", "Sexo"};
// conteúdo da tabela
Object[][] conteudo = {
{"Osmar J. Silva", "32", "Masculino"},
{"Maria Clara Gomes", "19", "Feminino"},
{"Fernando Gomes", "15", "Masculino"},
{"Carlos Vieira", "40", "Masculino"}
};
// constrói a tabela
JTable tabela = new JTable(conteudo, colunas);
// quero exibir imagens ao lado do texto da primeira coluna
TableCellRenderer tcr = new Imagem();
TableColumn column = tabela.getColumnModel().getColumn(0);
column.setCellRenderer(tcr);
tabela.setPreferredScrollableViewportSize(new Dimension(350, 50));
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);
}
}
class Imagem extends JLabel implements TableCellRenderer{
public Imagem(){
setOpaque(true);
}
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus, int row,
int column){
Icon imagem = new ImageIcon("C:\\estudos_java\\icon.gif");
// certifique-se da existencia da imagem "icon.gif" antes de executar
if(isSelected)
setBackground(table.getSelectionBackground());
else
setBackground(table.getBackground());
setIcon(imagem);
setText(value.toString());
return this;
}
public void validate() {}
public void revalidate() {}
protected void firePropertyChange(String propertyName,
Object oldValue, Object newValue) {}
public void firePropertyChange(String propertyName,
boolean oldValue, boolean newValue) {}
}
|
GNU Octave ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o seno de um número ou ângulo em GNU Octave usando a função sin()Quantidade de visualizações: 3155 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 GNU Octave. Esta função, que já vem embutido na ferramenta, recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja: >> sin(0) [ENTER] ans = 0 >> sin(1) [ENTER] ans = 0.8415 >> sin(2) [ENTER] ans = 0.9093 >> 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: ![]() |
Python ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço while do Python - Python para iniciantesQuantidade de visualizações: 16101 vezes |
O laço while da linguagem Python permite executar um bloco de códigos repetidamente até que uma condição seja verdadeira. Opcionalmente, uma cláusula else pode ser usado com o while em Python (a parte else será executada mesmo que o corpo principal do laço não seja executado). Veja um exemplo:
# função principal do programa
def main():
numero = 0
while numero <= 10:
print(numero)
numero = numero + 1
else:
print("Terminei")
if __name__== "__main__":
main()
Ao executarmos este código Python nós teremos o seguinte resultado: 0 1 2 3 4 5 6 7 8 9 10 Terminei Veja um exemplo de um laço while que nunca será executado:
# função principal do programa
def main():
numero = 0
while numero > 10:
print(numero)
numero = numero + 1
if __name__== "__main__":
main()
E agora um exemplo de laço usando um valor booleano:
# função principal do programa
def main():
continuar = True
valor = 0
while continuar:
print(valor)
if valor > 5:
continuar = False
else:
valor = valor + 1
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: 0 1 2 3 4 5 6 |
AutoCAD .NET API C# ::: Dicas & Truques ::: Linha, Linhas, Comando LINE |
Como selecionar uma linha no AutoCAD e mostrar a equação da reta correspondente usando AutoCAD .NET C# APIQuantidade de visualizações: 924 vezes |
|
Em algumas situações nós queremos posicionar pontos ou outros desenhos em cima de uma linha, ou seja, em cima de uma reta. Uma das melhores formas de fazer isso é obtendo a equação reduzida da reta e usar as coordenadas x e y correspondentes. Nesta dica eu mostro como isso pode ser feito usando a AutoCAD .NET C# API. O primeiro passo é pedir para o usuário selecionar a linha na área de desenho do AutoCAD usando doc.Editor.GetEntity(). Em seguida nós obtemos as coordenadas iniciais e finais da linha usando as propriedades StartPoint e EndPoint do objeto AcadLine. Para finalizar nós calculamos a equação reduzida da reta e exibimos o resultado. Fique atento ao código que calcula o coeficiente angular e linear da reta. Considere o caso em que o coeficiente angular ou linear é igual a 0. Veja o código AutoCAD .NET API C# completo para o exemplo:
using System;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.EditorInput;
[assembly: CommandClass(typeof(PluginEstudos.Class1))]
namespace PluginEstudos {
public class Class1 {
[CommandMethod("estudos")]
public void Estudos() {
// vamos obter o documento atual
Document doc = Application.DocumentManager.MdiActiveDocument;
// vamos obter a base de dados
Database db = doc.Database;
// opções da seleção
PromptEntityOptions opcoes = new
PromptEntityOptions("\nSelecione uma linha: ");
// obtemos o resultado da seleção
PromptEntityResult resultado = doc.Editor.GetEntity(opcoes);
// a seleção foi feita com sucesso
if (resultado.Status != PromptStatus.OK) {
Application.ShowAlertDialog("Nenhum elemento selecionado.");
return;
}
// obtemos o id do objeto selecionado
ObjectId id_objeto = resultado.ObjectId;
// iniciamos uma transação
using (Transaction trans = db.TransactionManager.StartTransaction()) {
BlockTable tabela_blocos;
BlockTableRecord reg_tabela_blocos;
// obtemos a entidade selecionada
Entity ent = trans.GetObject(id_objeto, OpenMode.ForWrite) as Entity;
// a entidade selecionada é uma linha
if (ent is Line) {
Line linha = ent as Line;
// vamos obter o ponto inicial da linha
Point3d ponto_inicial = linha.StartPoint;
// vamos obter o ponto final da linha
Point3d ponto_final = linha.EndPoint;
string sinal = "+";
// vamos calcular o coeficiente angular da reta
Double m = (ponto_final.Y - ponto_inicial.Y) / (ponto_final.X - ponto_inicial.X);
// vamos calcular o coeficiente linear
double n = ponto_inicial.Y - (m * ponto_inicial.X);
// coeficiente linear menor que zero? O sinal será negativo
if (n < 0) {
sinal = "-";
n = n * -1;
}
// abre o model space para escrita
tabela_blocos = trans.GetObject(db.BlockTableId,
OpenMode.ForRead) as BlockTable;
reg_tabela_blocos = trans.GetObject(tabela_blocos[BlockTableRecord.ModelSpace],
OpenMode.ForWrite) as BlockTableRecord;
// vamos calcular as coordenadas x e y do ponto médio que
// será usado para posicionar o texto
double x = (ponto_inicial.X + ponto_final.X) / 2;
double y = (ponto_inicial.Y + ponto_final.Y) / 2;
// criamos um novo texto
DBText texto = new DBText();
texto.TextString = "y = " + m.ToString("0.00") + "x"
+ " " + sinal + " " + n.ToString("0.00");
texto.SetDatabaseDefaults();
texto.Height = 5;
texto.Position = new Point3d(x, y - texto.Height, 0);
// adicionamos o texto no desenho
reg_tabela_blocos.AppendEntity(texto);
trans.AddNewlyCreatedDBObject(texto, true);
}
else {
Application.ShowAlertDialog("Você não selecionou uma linha.");
}
// salvamos a transação
trans.Commit();
}
}
}
}
Ao executar este código AutoCAD .NET C# API e selecionar uma linha nós teremos um resultado parecido com: Selecione uma linha [Usuário seleciona a linha] [Mostra a equação reduzida da reta como um texto posicionado no ponto médio da linha] Como forma de testar ainda mais o código, defina um valor para o x e experimente plotar um ponto na área de desenho do AutoCAD. Você verá que o ponto cai exatamente em cima da linha, ou seja, da reta que a representa. |
Veja mais Dicas e truques de AutoCAD .NET API C# |
Dicas e truques de outras linguagens |
|
Python - Como converter Centímetros Cúbicos em Metros Cúbicos em Python - Python para Física e Engenharia Delphi - Como calcular MDC em Delphi |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






