![]() |
|
|
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. |
||
Java ::: Pacote java.io ::: Console |
Java para iniciantes - Como usar a classe Console da linguagem JavaQuantidade de visualizações: 127 vezes |
A classe Console, que é definida no pacote java.io como public e final, fornece métodos para acessar o dispositivo de console baseado em caracteres associado com a máquina virtual Java (JVM) sendo executada no momento. Um objeto desta classe é obtido por meio de uma chamada ao método console() da classe System. Veja:
import java.io.Console;
public class Estudos {
public static void main(String[] args) {
// vamos obter o console para a JVM atual
Console console = System.console();
// vamos testar se o console foi obtido com sucesso
if(console != null){
System.out.println("Console obtido com sucesso");
}
else{
System.out.println("Não foi possível obter o console");
}
}
}
É importante observar que, durante a autoria desta dica (Maio/2012), não é possível obter um objeto da classe Console executando a aplicação dentro do Netbeans e/ou Eclipse, somente executando a aplicação a partir da linha de comando ou outros editores, tais como o JCreator. A razão disso é que, tanto o Netbeans quanto o Eclipse executam a janela de console como um processo de fundo, afim de obter sua saída e exibir em suas próprias janelas. Veja a posição desta classe na hierarquia de classes da plataforma Java: java.lang.Object java.io.Console O fato de a máquina virtual ter um console ou não depende da plataforma na qual ela está sendo executada, e também na forma que a JVM foi invocada. Se a máquina virtual é iniciada a partir de uma janela de linha de comando interativa sem redirecionar os fluxos de entrada e saída padrão, então o console existirá e estará conectado ao teclado e tela a partir da qual a JVM foi lançada. Se a máquina virtual é iniciada automaticamente, por exemplo, como um gerenciador de agendamento de tarefas em segundo plano, então ela, em geral, não terá um console. Se a JVM atual tiver um console, então este é representado por uma instância única da classe Console, que pode ser obtida por meio de uma chamada ao método console() da classe System. Se nenhum dispositivo de console estiver disponível, uma chamada a este método retornará o valor null. Operações de leitura e escrita são sincronizadas para garantir a atomicidade das operações críticas. Assim, as chamadas aos métodos readLine(), readPassword(), format() e printf(), assim como operações de leitura, formatação e escrita nos objetos retornados pelos métodos reader() e writer() poderão causar bloqueios em cenários de múltiplas threads. Chamar close() nos objetos retornados pelos métodos reader() e writer() não fechará os fluxos destes objetos. Os métodos de leitura da classe Console retornam null quando o fim do fluxo de entrada de console é alcançado, por exemplo, ao digitar control-D no Linux/Unix ou control-Z no Windows. Operações de leitura subsequentes terão sucesso se caracteres adicionais forem inseridos mais tarde no dispositivo de entrada do console. |
Delphi ::: Dicas & Truques ::: Arquivos e Diretórios |
Como retornar o diretório atual em Delphi usando a função GetDir()Quantidade de visualizações: 13312 vezes |
Em algumas situações precisamos obter o diretório atual, ou seja, aquele a partir do qual nosso programa está sendo executado. Em Delphi isso pode ser feito com o auxílio da procedure GetDir(). Esta procedure requer um valor inteiro na faixa de 0 a 3 e uma string passada por referência. Em geral usamos o valor 0 no primeiro argumento para representar o drive padrão. Veja o exemplo:
procedure TForm1.Button1Click(Sender: TObject);
var
diretorio_atual: string;
begin
// vamos obter o diretório atual e atribuí-lo
// na variável diretorio_atual
GetDir(0, diretorio_atual);
// vamos exibir o resultado
ShowMessage('O drive e diretório atual são: ' +
diretorio_atual);
end;
Ao executar este código nós teremos o seguinte resultado: O drive e diretório atual são: C:\Users\Osmar\Documents\RAD Studio\Projects Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
JavaScript ::: DOM (Document Object Model) ::: window Object (Objeto window) |
Como usar o objeto window em suas aplicações HTML + JavaScriptQuantidade de visualizações: 9636 vezes |
|
O objeto window representa a janela do browser, uma janela em um frame ou janela de diálogo contendo um documento HTML. Este objeto fornece várias informações a respeito da janela (name, navigator, location, history, etc.), permite acesso ao documento contido na janela e suporta vários métodos úteis (alert(), confirm(), addEventListener(), attachEvent(), etc). Veja uma página HTML na qual temos um código JavaScript que acessa a janela atual e usa seu método alert() para exibir uma mensagem ao usuário:
<html>
<head>
<title>Estudos JavaScript</title>
</head>
<body>
<script type="text/javascript">
// vamos exibir uma mensagem ao usuário
window.alert("JavaScript é muito bacana!");
</script>
</body>
</html>
O objeto window pode também representar uma janela contida em um frame ou em um elemento iframe, ou ainda em uma janela secundária (criada com os métodos open(), showModalDialog() ou showModelessDialog()). Eis algumas observações que devem ser bem memorizadas: a) Se a janela estiver contida em um frame ou elemento iframe, ela é uma janela filha da janela que contém o elemento frame. Para obter a janela mãe só precisamos usar a propriedade parent da janela filha. Veja: <script type="text/javascript"> // vamos obter a janela mãe var janela_mae = window.parent; </script> b) Se a janela for aberta por meio dos métodos open(), showModalDialog() ou showModelessDialog(), então a janela que a criou pode ser acessada por meio da propriedade opener. Os membros da janela atual podem ser acessados diretamente, sem a necessidade de passarmos pelo objeto window, ou seja, podemos usar alert() em vez de window.alert(), ainda que a última forma é a preferida. O objeto window está disponível para acesso a partir de qualquer ponto de nossos códigos JavaScript. Assim, devemos nos esforçar ao máximo para não termos variáveis com o mesmo nome das propriedades e métodos deste objeto. Dica escrita e testada no Internet Explorer (IE 8) e no Firefox 3.6. |
Revit C# ::: Dicas & Truques ::: Colunas e Pilares |
Como rotacionar colunas e pilares no Revit via programação usando a função RotateElement() da classe ElementTransformUtils da Revit C# APIQuantidade de visualizações: 682 vezes |
|
Nesta dica mostrarei como podemos usar a função RotateElement() da classe ElementTransformUtils da Revit C# API para rotacionar uma coluna ou pilar no Revit, tudo isso via programação. Essa dica é muito útil para programadores Revit C#, pois traz as técnicas necessárias para selecionar um único elemento na área de desenho do Revit, assim como obter sua caixa delimitadora (BoundingBox), seu ponto geométrico central e, o mais importante, fazer a rotação do elemento em seus eixos. O primeiro passo é pedir para o usuário selecionar o pilar ou a coluna usando a função PickObject() da classe Selection, que retorna uma Reference. Após a seleção do elemento nós usamos a função GetElement() da classe Document para retornar o elemento como uma variável FamilyInstance, ou seja, uma instância de família do Revit. De posse da instância de família nós usamos a função get_BoundingBox() para obter e retornar um objeto da classe BoundingBoxXYZ. É esse objeto que usamos para obter o ponto máximo, o ponto mínimo e o ponto geométrico central da coluna ou pilar. O passo final é usar a função RotateElement() da classe ElementTransformUtils para rotacionar a coluna ou pilar de acordo com o ângulo de rotação desejado. Note que fiz a conversão de ângulos em graus para ângulos em radianos antes de efetuar a rotação. Veja o código Revit C# API completo para o exemplo:
using System;
using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using Autodesk.Revit.DB.Structure;
using Autodesk.Revit.UI.Selection;
using System.Collections.Generic;
using Autodesk.Revit.DB.Architecture;
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 Document ativo
Document doc = this.ActiveUIDocument.Document;
UIDocument uidoc = this.ActiveUIDocument;
// agora mostramos uma mensagem para o usuário selecionar uma
// coluna ou pilar
TaskDialog.Show("Aviso", "Selecione uma coluna ou pilar");
// 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,
"Selecione uma coluna ou pilar");
// agora testamos se o usuário realmente selecionou um
// elemento
if (selecionado != null) {
// vamos obter o elemento selecionado a partir da
// referência
FamilyInstance coluna = uidoc.Document.GetElement(selecionado)
as FamilyInstance;
// vamos obter o elemento BoundingBoxXYZ
BoundingBoxXYZ bounding = coluna.get_BoundingBox(null);
// vamos obter as informações da BoundingBoxXYZ
// primeiro o ponto mínimo (canto esquerdo inferior e
// a parte de trás da caixa delimitadora)
XYZ pontoMinimo = bounding.Min;
// agora o ponto máximo (canto direito superior e
// a parte da frente da caixa delimitadora)
XYZ pontoMaximo = bounding.Max;
// agora obtemos o ponto central da coluna
XYZ centro = (pontoMaximo + pontoMinimo) * 0.5;
// construímos a linha que servirá de eixo de rotação
Line eixos = Line.CreateBound(centro, centro + XYZ.BasisZ);
// definimos o ângulo de rotação em graus
double angulo_rotacao_graus = 45;
// convertemos para radianos
double angulo_rotacao_radianos = angulo_rotacao_graus * (Math.PI / 180);
// iniciamos a transação
Transaction transacao = new Transaction(doc);
transacao.Start("Como rotacionar colunas e pilares no Revit");
// rotacionamos a coluna ou pilar
ElementTransformUtils.RotateElement(doc, coluna.Id, eixos,
angulo_rotacao_radianos);
// fazemos o commit da transação
transacao.Commit();
// e mostramos o resultado
TaskDialog.Show("Aviso", "A coluna foi rotacionada com sucesso.");
}
}
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
}
}
|
Nossas 20 dicas & truques de programação mais populares |
|
Java - Java Swing - Como colorir as células de uma JTable individualmente ao passar o mouse sobre elas |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Laravel - Como criar um CRUD completo em Laravel 8 - CRUD em Laravel usando PHP e MySQL (MariaDB) - Parte 1 Python - Como inserir uma determinada quantidade de espaços à esquerda de um valor numérico usando Python JavaScript - Como arredondar um valor numérico de ponto-flutuante para cima usando a função ceil() do objeto Math do JavaScript |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





