![]() |
|
|
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 |
||
|
||
|
|
||
HTML5 ::: HTML5 + JavaScript ::: Geolocation API |
Como retornar a localização do usuário usando o método getCurrentPosition() da API Geolocation do HTML5Quantidade de visualizações: 3211 vezes |
O método getCurrentPosition() da API Geolocation do HTML5 nos permite obter tanto a latitude quanto a longitude do usuário que está acessando nossas páginas web. A forma mais simples deste método requer apenas uma função JavaScript que receberá o objeto de coordenadas. Veja o trecho de código a seguir:
<html>
<head>
<title>Obtendo a latitude e longitude usando a API
Geolocation</title>
</head>
<body>
<script type="text/javascript">
function mostrarPosicao(posicao) {
document.writeln("<h1>Latitude: " + posicao.coords.latitude +
"; Longitude: " + posicao.coords.longitude + "</h1>");
}
// não se esqueça de testar se o navegador web suporta a API
// Geolocation do HTML5
if(window.navigator.geolocation) {
// chamamos o método getCurrentPosition() fornecendo a função
// JavaScript que receberá o objeto de coordenadas
navigator.geolocation.getCurrentPosition(mostrarPosicao);
}
else{
document.writeln("A API Geolocation foi encontrada.");
}
</script>
</body>
</html>
Ao executar este trecho de código, a primeira coisa que você verá é uma mensagem do navegador avisando que o site a partir do qual o código está sendo executado quer saber sua localização. A mensagem exibirá os botões Permitir ou Bloquear. Se você clicar no botão Permitir, a latitude e longitude serão escritas no navegador: Latitude: -16.7143838; Longitude: -49.2327622 É claro que, se você estiver executando o código em um laptop ou desktop, o resultado será muito diferente daquele mostrado no seu celular. O motivo é que, em geral, um GPS não está disponível nos laptops e desktops. Por essa razão, o navegador vai obter sua localização usando posicionamento de WI-FI e também por meio do seu endereço IP (Internet Protocol). |
Java ::: Classes e Componentes ::: JComboBox |
Como classificar os itens de um JComboBox do Java Swing em ordem alfabéticaQuantidade de visualizações: 11318 vezes |
|
Este exemplo mostra como ordenar os itens de um JComboBox do Java Swing. A melhor forma de fazer isso é ordenando o array de strings antes de passá-lo para o construtor da classe JComboBox. Se novos itens forem inseridos em tempo de execução, a melhor saída é extender a classe DefaultComboBoxModel e fornecer tal funcionalidade. Veja o código Java completo para o exemplo:
package estudos;
import java.awt.*;
import javax.swing.*;
import java.util.*;
public class Estudos extends JFrame{
public Estudos(){
super("A classe JComboBox");
Container c = getContentPane();
c.setLayout(new FlowLayout(FlowLayout.LEFT));
// Cria o array que armazenará os itens do
// combo box
String[] nomes = {"Osmar", "Cristina", "Antônio",
"Marcela", "Joaquim"};
// ordena os itens
Arrays.sort(nomes);
// Cria o JComboBox
JComboBox combo = new JComboBox(nomes);
// Adiciona o JComboBox à janela
c.add(combo);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
|
Java ::: Pacote java.lang ::: Integer |
Java Básico - Como usar a constante SIZE da classe Integer para obter a quantidade de bits necessária para armazenar um intQuantidade de visualizações: 7141 vezes |
Em algumas situações gostaríamos de obter a quantidade de bits necessária para armazenar um valor do tipo int (inteiro). Para isso podemos usar a constante SIZE da classe Integer (uma classe wrapper que encapsula o valor primitivo int). Veja como isso pode ser feito:
public class Estudos {
public static void main(String[] args) {
// vamos obter a quantidade de bits necessária para representar um int
int quantBits = Integer.SIZE;
// o resultado
System.out.println("Um int ocupa " + quantBits + " bits, ou seja, " +
(quantBits / 8) + " bytes");
}
}
Ao executarmos este código o resultado será: Um int ocupa 32 bits, ou seja, 4 bytes. |
C# ::: LINQ ::: LINQ to Objects |
Como retornar o primeiro elemento de um array de strings em C# usando a função First() do LINQQuantidade de visualizações: 1402 vezes |
|
Nesta dica mostrarei um exemplo bem simples do uso do método First() do LINQ (Language-Integrated Query) do C# para retornar o primeiro elemento de um vetor de strings. É claro que este método funciona com qualquer coleção, mas um exemplo simples nos ajudará a entender melhor o seu funcionamento. Em outras dicas eu aprofundo o uso deste método. Vamos ao código então. Veja:
using System;
using System.Linq;
namespace Estudos {
class Principal {
static void Main(string[] args) {
// vamos construir um vetor de strings
string[] linguagens = {"Java", "Python", "PHP", "Ruby"};
// vamos obter o primeiro elemento do vetor
string primeira = linguagens.First();
// vamos mostrar o resultado
Console.WriteLine("A primeira linguagem é: {0}", primeira);
Console.WriteLine("Pressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: A primeira linguagem é: Java Fique atento ao fato de que o método First() pode atirar uma exceção do tipo InvalidOperation se o array ou coleção estiver vazia ou não incluir nenhum elemento que se encaixe nas condições testadas. Veja o resultado ao chamarmos este método em um vetor vazio: System.InvalidOperationException HResult=0x80131509 Message=Sequence contains no elements Source=System.Linq StackTrace: at System.Linq.ThrowHelper.ThrowNoElementsException() at System.Linq.Enumerable.First[TSource](IEnumerable`1 source) at Estudos.Principal.Main(String[] args) in C:\estudos_c#\Estudos\Principal.cs:line 11 |
Revit Python Shell ::: Dicas & Truques ::: Grupos - Groups |
Como copiar grupos no Revit usando a função Create.PlaceGroup() e o Revit Python ShellQuantidade de visualizações: 555 vezes |
|
O código que apresento nesta dica mostra como podemos pedir para o usuário selecionar um grupo na área de desenho do Revit e, em seguida, usando a API do Revit e o Revit Python Shell, criar uma cópia do grupo escolhido e posicioná-la em um ponto escolhido pelo usuário. Em realidade, este código é o mesmo apresentado no tutorial "Como criar seu primeiro plug-in no Revit usando a Revit C# API" da documentação oficial fornecida pela Autodesk. O que fiz foi modificar o código para usar Revit Python Shell em vez de C#, como mostrado no tutorial. O primeiro passo é importar o objeto ObjectType a partir do módulo Autodesk.Revit.UI.Selection. Em seguida nós usamos __window__.Hide() para que o foco vá para a janela do Revit. Isso é necessário para que o usuário possa selecionar um grupo usando uidoc.Selection.PickObject. Note que coloquei uma mensagem TaskDialog.Show() chamando a atenção do usuário para esta tarefa. Como a função PickObject() retorna um objeto Reference, nós precisamos fornecer essa referência para a função doc.GetElement() e assim obter o elemento real que queremos manipular. Então, o passo seguinte é pedir para o usuário indicar um ponto na tela de desenho do Revit usando a função uidoc.Selection.PickPoint(). Esta função vai nos retornar um objeto da classe XYZ da API do Revit. Depois que o usuário selecionar o grupo e o ponto, nós criamos uma nova transação usando Transaction(doc, "Copiar grupo") e a iniciamos com uma chamada à sua função Start(). Então, para concluir, basta uma chamada à doc.Create.PlaceGroup(ponto, grupo.GroupType) e verificar o resultado na tela de desenho do Revit. Veja o código Revit Python Shell completo para o exemplo:
# faz o import necessário
from Autodesk.Revit.UI.Selection import ObjectType
# precisamos ocultar a janela do Revit Python Shell
__window__.Hide()
# agora fazemos uma chamada à função PickObject() do objeto Selection e retornamos
# uma Reference
TaskDialog.Show("Aviso", "Selecione um grupo")
selecionado = uidoc.Selection.PickObject(ObjectType.Element, "Selecione um grupo")
# obtemos o grupo a partir de sua referência usando a função
# GetElement() do objeto Document
grupo = doc.GetElement(selecionado)
# vamos pedir para o usuário selecionar um ponto na área de
# desenho do Revit
TaskDialog.Show("Aviso", "Selecione um ponto")
ponto = uidoc.Selection.PickPoint("Selecione um ponto para posicionar o grupo")
# criamos uma nova transação e posicionamos a cópia do
# grupo nas coordenadas indicadas pelo usuário
transacao = Transaction(doc, "Copiar grupo")
# iniciamos a transação
transacao.Start()
# copiamos o grupo selecionado pelo usuário e o colocamos no
# ponto indicado
doc.Create.PlaceGroup(ponto, grupo.GroupType)
# fechamos a transação
transacao.Commit()
# e mostramos o resultado
TaskDialog.Show("Aviso", "O grupo foi copiado com sucesso")
# depois que o usuário fizer a seleção nós mostramos a janela do
# Revit Python Shell novamente
__window__.Show()
__window__.Topmost = True
|
Veja mais Dicas e truques de Revit Python Shell |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |



