Você está aqui: Cards de Cards de Hidrologia |
||
|
||
|
|
||
Revit C# ::: Dicas & Truques ::: Selection, Seleção |
Como pedir para o usuário selecionar vários elementos no Revit usando a função PickObjects() do objeto Selection da Revit C# APIQuantidade de visualizações: 583 vezes |
|
Nesta dica mostrarei como podemos usar a função PickObjects() do objeto Selection da Revit C# API para pedir ao usuário que selecione vários elementos na área de desenho do Revit e então efetuar alguma operação envolvendo todos eles, de uma só vez. Veja que o objeto Selection é retornado a partir de um UIDocument, que é obtido a partir de uma chamada this.ActiveUIDocument. Então nós chamamos a função PickObjects(), fornecendo o parâmetro ObjectType.Element e guardamos as referências retornadas como um objeto IList. O passo seguinte é acessar a propriedade Count da IList para mostrar a quantidade de objetos selecionados. Note que é preciso clicar o botão Concluir (fica entre o botão Cancelar e a caixa de seleção Múltiplo) para indicar que o usuário concluiu a seleção e nosso código poder prosseguir. 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 ou mais elementos");
// obtemos uma referência ao objeto Selection do
// UIDocument ativo
Selection selecao = uidoc.Selection;
// e finalmente esperamos que o usuário selecione um ou
// mais elementos e os guardamos em uma lista
IList<Reference> selecionados = selecao.PickObjects(ObjectType.Element);
// agora mostramos a quantidade de elementos selecionados
TaskDialog.Show("Aviso", "Você selecionou " + selecionados.Count +
" elementos.");
}
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
}
}
Execute a macro, selecione um ou mais elementos, clique o botão Concluir e você verá uma janela TaskDialog com a seguinte mensagem: Você selecionou 5 elementos. |
Python ::: Python para Engenharia ::: Engenharia Civil - Concreto, Concreto Armado e Concretos Especiais |
Como calcular a Resistência à Tração do Concreto usando Python - Python para Engenharia Civil e Cálculo EstruturalQuantidade de visualizações: 588 vezes |
|
A resistência à tração do concreto é a capacidade máxima de tensão de tração que o material pode suportar antes de se romper. Ela é menor que a resistência à compressão do concreto, podendo representar cerca de 10% dela. O concreto pode falhar rapidamente quando submetido a força de tração, como dobramento ou alongamento. Isso acontece porque o concreto é composto por agregados e pasta de cimento, e sua estrutura nunca é completamente homogênea. A resistência à tração direta do concreto é muito útil na determinação da armadura de tração mínima em uma viga de concreto armado, e usada também nos cálculos estruturais em geral (ABNT NBR 6118). Assim, a resistência à tração média do concreto pode ser calculada pela seguinte fórmula: \[f_\text{ctk,m} = 0,3 \cdot \sqrt[3]{{f_\text{ck}}^2}\] Onde: fctk,m é a resistência à tração média do concreto em Mpa; fck é a resistência à compressão do concreto em Mpa. Note que, uma vez obtida a resistência à tração média do concreto (que é um método estatístico), podemos obter seus limites inferior e superior usando as seguintes fórmulas: \[f_\text{ctk,inf} = 0,7 \cdot f_\text{ctk,m}\]\[f_\text{ctk,sup} = 1,3 \cdot f_\text{ctk,m}\] Veja agora o código Python que pede para o usuário informar o FCK do concreto e calcula o fctk,m, fctk,inf e fctk,sup:
# vamos importar o módulo Math
import math
# função principal do programa
def main():
# vamos pedir para o usuário informar o FCK do concreto
fck = float(input("Informe o FCK do concreto em Mpa: "))
# agora vamos calcular a resistência à tração média
# do concreto
fctk_m = 0.3 * math.pow(fck, 2.0 / 3.0)
# vamos calcular o limite inferior
fctk_inf = 0.7 * fctk_m
# vamos calcular o limite superior
fctk_sup = 1.3 * fctk_m
# e mostramos os resultados
print("\nO fctk,m é: {0} Mpa ({1} kN/cm2)".format(round(fctk_m, 5),
round(fctk_m / 10.0, 5)))
print("O fctk,inf é: {0} Mpa ({1} kN/cm2)".format(round(fctk_inf, 5),
round(fctk_inf / 10.0, 5)))
print("O fctk,sup é: {0} Mpa ({1} kN/cm2)".format(round(fctk_sup, 5),
round(fctk_sup / 10.0, 5)))
if __name__ == "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Informe o FCK do concreto em Mpa: 30 O fctk,m é: 2.89647 Mpa (0.28965 kN/cm2) O fctk,inf é: 2.02753 Mpa (0.20275 kN/cm2) O fctk,sup é: 3.76541 Mpa (0.37654 kN/cm2) |
Python ::: Fundamentos da Linguagem ::: Passos Iniciais |
Como obter a entrada do usuário usando o método raw_input() - Atualizado para Python 3.0Quantidade de visualizações: 8935 vezes |
Até pouco tempo era possível usar o método raw_input(), nativo do Python, para ler a entrada do usuário. O código abaixo, por exemplo, funcionava corretamente no Python 2.5:
# obtém o nome do usuário
nome = raw_input("Por favor, informe seu nome: ")
print "Ola, " + nome + "! Voce tambem gosta de Python?"
No Python 3.0 em diante, a execução deste código exibe o seguinte erro de tempo de execução:
Exception has occurred: NameError
name 'raw_input' is not defined
File "C:\estudos_python\estudos.py", line 4, in main
nome = raw_input("Por favor, informe seu nome: ")
File "C:\estudos_python\estudos.py", line 7, in <module>
main()
A correção para esta exceção, é usar somente a função input(). Veja:
def main():
nome = input("Por favor, informe seu nome: ")
print("Olá, " + nome + "! Voce tambem gosta de Python?")
if __name__== "__main__":
main()
A saída deste código será parecida com: Por favor, informe seu nome: Osmar Olá, Osmar! Voce tambem gosta de Python? |
C ::: Dicas & Truques ::: Strings e Caracteres |
Como verificar se uma string é igual, maior ou menor que outra em C usando a função strcmp()Quantidade de visualizações: 23003 vezes |
|
A função strcmp() da linguagem C pode ser usada para verificar se uma string é igual, maior ou menor que outra. Esta função, presente no header string.h aceita duas strings e retorna um valor inteiro: 0 se as strings forem iguais; maior que 0 se a primeira string for maior que a segunda e menor que 0 se a primeira string for menor que a segunda. Veja um exemplo de seu uso:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]){
char palavra1[] = "Java";
char palavra2[] = "JavaScript";
if(strcmp(palavra1, palavra2) == 0){
printf("As palavras sao iguais");
}
else if(strcmp(palavra1, palavra2) > 0){
printf("A primeira string e maior que a segunda");
}
else if(strcmp(palavra1, palavra2) < 0){
printf("A segunda string e maior que a primeira");
}
puts("\n\n");
system("PAUSE");
return 0;
}
Ao executar este código C nós teremos o seguinte resultado: A segunda string é maior que a primeira. |
C# ::: Dicas & Truques ::: Matemática e Estatística |
Como resolver uma equação do segundo grau em C# - Como calcular Bhaskara em C#Quantidade de visualizações: 1799 vezes |
|
Como resolver uma equação do 2º grau usando C# Nesta dica mostrarei como encontrar as raízes de uma equação quadrática, ou seja, uma equação do 2º usando a linguagem C#. Definimos como equação do 2º grau ou equações quadráticas qualquer equação do tipo ax² + bx + c = 0 em que a, b e c são números reais e a ≠ 0. Ela recebe esse nome porque, no primeiro membro da igualdade, há um polinômio de grau dois com uma única incógnita. Note que, dos coeficientes a, b e c, somente o a é diferente de zero, pois, caso ele fosse igual a zero, o termo ax² seria igual a zero, logo a equação se tornaria uma equação do primeiro grau: bx + c = 0. Independentemente da ordem da equação, o coeficiente a sempre acompanha o termo x², o coeficiente b sempre acompanha o termo x, e o coeficiente c é sempre o termo independente. Como resolver uma equação do 2º grau Conhecemos como soluções ou raízes da equação ax² + bx + c = 0 os valores de x que fazem com que essa equação seja verdadeira. Uma equação do 2º grau pode ter no máximo dois números reais que sejam raízes dela. Para resolver equações do 2º grau completas, existem dois métodos mais comuns: a) Fórmula de Bhaskara; b) Soma e produto. O primeiro método é bastante mecânico, o que faz com que muitos o prefiram. Já para utilizar o segundo, é necessário o conhecimento de múltiplos e divisores. Além disso, quando as soluções da equação são números quebrados, soma e produto não é uma alternativa boa. Como resolver uma equação do 2º grau usando Bhaskara Como nosso código C# vai resolver a equação quadrática usando a Fórmula de Bhaskara, o primeiro passo é encontrar o determinante. Veja: \[\Delta =b^2-4ac\] Nem sempre a equação possui solução real. O valor do determinante é que nos indica isso, existindo três possibilidades: a) Se determinante > 0, então a equação possui duas soluções reais. b) Se determinante = 0, então a equação possui uma única solução real. c) Se determinante < 0, então a equação não possui solução real. Encontrado o determinante, só precisamos substituir os valores, incluindo o determinante, na Fórmula de Bhaskara: \[x = \dfrac{- b\pm\sqrt{b^2- 4ac}}{2a}\] Vamos agora ao código C#. Nossa aplicação vai pedir para o usuário informar os valores dos três coeficientes a, b e c e, em seguida, vai apresentar as raizes da equação:
using System;
namespace Estudos {
class Principal {
static void Main(string[] args) {
// os coeficientes
double a, b, c;
// as duas raizes, a imaginaria e o discriminante
double raiz1, raiz2, imaginaria, discriminante;
// vamos pedir para o usuário informar os valores dos coeficientes
Console.Write("Valor do coeficiente a: ");
a = Double.Parse(Console.ReadLine());
Console.Write("Valor do coeficiente b: ");
b = Double.Parse(Console.ReadLine());
Console.Write("Valor do coeficiente c: ");
c = Double.Parse(Console.ReadLine());
// vamos calcular o discriminante
discriminante = (b * b) - (4 * a * c);
// a equação possui duas soluções reais?
if (discriminante > 0) {
raiz1 = (-b + Math.Sqrt(discriminante)) / (2 * a);
raiz2 = (-b - Math.Sqrt(discriminante)) / (2 * a);
Console.Write("Existem duas raizes: x1 = " + raiz1
+ " e x2 = " + raiz2);
}
// a equação possui uma única solução real?
else if (discriminante == 0) {
raiz1 = raiz2 = -b / (2 * a);
Console.Write("Existem duas raizes iguais: x1 = "
+ raiz1 + " e x2 = " + raiz2);
}
// a equação não possui solução real?
else if (discriminante < 0) {
raiz1 = raiz2 = -b / (2 * a);
imaginaria = Math.Sqrt(-discriminante) / (2 * a);
Console.Write("Existem duas raízes complexas: x1 = " +
raiz1 + " + " + imaginaria + " e x2 = " + raiz2
+ " - " + imaginaria);
}
Console.WriteLine("\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: Valor do coeficiente a: 1 Valor do coeficiente b: 2 Valor do coeficiente c: -3 Existem duas raizes: x1 = 1 e x2 = -3 |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





