Você está aqui: Cards de Engenharia Civil - Fundações |
||
|
||
|
|
||
AutoCAD Civil 3D .NET C# ::: Dicas & Truques ::: Alinhamento - Alignment |
Como retornar a quantidade de estacas de um alinhamento do Civil 3D usando a função GetStationSet() da classe Alignment da AutoCAD Civil 3D .NET APIQuantidade de visualizações: 832 vezes |
|
Nesta dica vou mostrar como podemos obter a quantidade de estacas em um alinhamento do Civil 3D usando a função GetStationSet() da classe Alignment da AutoCAD Civil 3D .NET API. Para este exemplo eu usei um alinhamento com o nome "EIXO DA RODOVIA". O primeiro passo é obter uma referência ao documento atual do AutoCAD Civil 3D usando CivilApplication.ActiveDocument. En seguida nós pesquisamos um alinhamento usando uma função personalizada GetAlignmentByName(), que recebe o documento atual e o nome do alinhamento que queremos pesquisar. O retorno desta função é um objeto da classe Alignment. Agora que já temos o alinhamento, nós usamos a função GetStationSet() para retornar um vetor de objetos Station, que significa estaca no Civil 3D. Note que passei como parâmetro o valor StationTypes.Major e usei alinhamento.StationIndexIncrement como o intervalo entre as estacas. Uma vez que já temos o vetor de objetos Station, ou seja, um vetor contendo todas as estacas do alinhamento, só precisamos obter a quantidade de itens usando a propriedade Length. Veja o código AutoCAD Civil 3D .NET C# completo para o exemplo:
using System;
using Autodesk.AutoCAD.Runtime;
using Autodesk.Civil.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.Civil.DatabaseServices;
namespace Estudos {
public class Class1 : IExtensionApplication {
[CommandMethod("Alinhamento")]
public void Alinhamento() {
// vamos obter uma referência ao documento atual do Civil 3D
CivilDocument doc = CivilApplication.ActiveDocument;
// obtemos o editor
Editor editor = Application.DocumentManager.MdiActiveDocument.Editor;
// vamos pesquisar o alinhamento chamado "EIXO DA RODOVIA"
string nome = "EIXO DA RODOVIA";
// vamos iniciar um nova transação
using (Transaction ts = Application.DocumentManager.MdiActiveDocument.
Database.TransactionManager.StartTransaction()) {
try {
// efetuamos uma chamada ao método GetAlignmentByName() passando
// o documento atual do AutoCAD Civil 3D e o nome do alinhamento
// que queremos encontrar
Alignment alinhamento = GetAlignmentByName(doc, nome);
// ops, o alinhamento não foi encontrado
if (alinhamento == null) {
editor.WriteMessage("\nO alinhamento não foi encontrado.");
}
else {
// encontramos o alinhamento. Vamos mostrar a quantidade de estacas
// que ele possui
Station[] estacas = alinhamento.GetStationSet(StationTypes.Major,
alinhamento.StationIndexIncrement);
int quant_estacas = estacas.Length;
// e mostramos o resultado
editor.WriteMessage("\nO alinhamento possui " + quant_estacas +
" estacas.\n");
}
}
catch (System.Exception e) {
// vamos tratar o erro
editor.WriteMessage("Erro: {0}", e.Message);
}
}
}
// função C# que retorna um alinhamento por nome, ou null em
// caso de não encontrar o alinhamento desejado
public Alignment GetAlignmentByName(CivilDocument doc, string nome) {
// vamos declarar um objeto da classe Alignment
Alignment alinhamento = null;
// agora vamos obter os ids de todos os alinhamentos
ObjectIdCollection alinhamentos = doc.GetAlignmentIds();
// vamos percorrer todos os ids de alinhamentos retornados
foreach (ObjectId idAlinhamento in alinhamentos) {
alinhamento = idAlinhamento.GetObject(OpenMode.ForRead) as Alignment;
// encontramos o alinhamento
if (alinhamento.Name.Equals(nome)) {
return alinhamento;
}
}
// retorna null se o alinhamento não for encontrado
return null;
}
public void Initialize() {
// pode deixar em branco
}
public void Terminate() {
// pode deixar em branco
}
}
}
Ao executar este código AutoCAD Civil 3D C# .NET nós teremos o seguinte resultado: O alinhamento possui 152 estacas. |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Struct (Estruturas, Registros) |
Exercício Resolvido de C - Programa de cálculo de médias de alunos. Escrever um programa C que cadastre o nome, a matrícula e duas notas de vários alunosQuantidade de visualizações: 3427 vezes |
|
Pergunta/Tarefa: Programa de cálculo de médias de alunos. Escrever um programa C que cadastre o nome, a matrícula e duas notas de vários alunos. Em seguida imprima a matrícula, o nome e a média de cada um deles. Seu código deverá, obrigatoriamente, usar a estrutura abaixo para a representação de cada aluno:
// estrutura Aluno
typedef struct{
int matricula;
char nome[100];
float nota1;
float nota2;
} Aluno;
LEITURA DOS ALUNOS: Matrícula do Aluno 1: 123 Nome do Aluno 1: OSMAR J SILVA Nota 1 do Aluno 1: 8,5 Nota 2 do Aluno 1: 9,3 Matrícula do Aluno 2: 432 Nome do Aluno 2: FABIANA CASTRO Nota 1 do Aluno 2: 9 Nota 2 do Aluno 2: 8,2 DADOS DOS ALUNOS: DADOS DO ALUNO 1: Matrícula: 123 Nome: OSMAR J SILVA Nota 1: 8,50 Nota 2: 9,30 Média: 8,90 DADOS DO ALUNO 2: Matrícula: 432 Nome: FABIANA CASTRO Nota 1: 9,00 Nota 2: 8,20 Média: 8,60 Veja a resolução comentada deste exercício usando C: Código para alunos.c:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// estrutura Aluno
typedef struct{
int matricula;
char nome[100];
float nota1;
float nota2;
} Aluno;
// define a quantidade de alunos que serão lidos
#define QUANT_ALUNOS 2
int main(int argc, char *argv[]) {
int i; // controle do laço
Aluno alunos[QUANT_ALUNOS]; // vetor de alunos
setlocale(LC_ALL,""); // para acentos do português
printf("LEITURA DOS ALUNOS:\n\n");
for(i = 0; i < QUANT_ALUNOS; i++){
// vamos ler a matrícula do aluno
printf("Matrícula do Aluno %d: ", (i + 1));
scanf("%d", &alunos[i].matricula);
fflush(stdin); // para o scanf não sair pulando o gets
// agora o nome do aluno
printf("Nome do Aluno %d: ", (i + 1));
gets(alunos[i].nome);
// vamos ler a primeira nota
printf("Nota 1 do Aluno %d: ", (i + 1));
scanf("%f", &alunos[i].nota1);
// vamos ler a segunda nota
printf("Nota 2 do Aluno %d: ", (i + 1));
scanf("%f", &alunos[i].nota2);
}
// agora vamos mostrar os alunos lidos, com suas notas
// e suas médias aritméticas
printf("\nDADOS DOS ALUNOS:\n");
for(i = 0; i < QUANT_ALUNOS; i++){
printf("\nDADOS DO ALUNO %d:\n ", (i + 1));
printf("Matrícula: %d\n", alunos[i].matricula);
printf("Nome: %s\n", alunos[i].nome);
printf("Nota 1: %.2f\n", alunos[i].nota1);
printf("Nota 2: %0.2f\n", alunos[i].nota2);
printf("Média: %.2f\n", (alunos[i].nota1 + alunos[i].nota2) / 2);
}
printf("\n\n");
system("pause");
return 0;
}
|
Delphi ::: VCL - Visual Component Library ::: TListBox |
Como obter e exibir todos os itens selecionados em uma TListBox do Delphi de seleção múltiplaQuantidade de visualizações: 14804 vezes |
Este trecho de código mostra como podemos obter e exibir todos os itens selecionados em uma TListBox de seleção múltipla. Para executá-lo, coloque uma ListBox, um Memo e um Button em um formulário. Altere a propriedade MultiSelect da ListBox para True, adicione alguns itens e execute. Selecione um ou mais itens e clique no botão para visualizar o resultado. Note que usei um TStringList (classe concreta derivada de TStrings) para armazenar os itens selecionados. Veja o código:
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
selecionados: TStringList;
begin
// para que este exemplo funcione corretamente, a ListBox
// deverá permitir seleção múltipla
// ListBox1.MultiSelect := True;
selecionados := TStringList.Create;
// vamos obter os itens selecionados na ListBox
if ListBox1.SelCount > 0 then
begin
for i := 0 to ListBox1.Count - 1 do
begin
if ListBox1.Selected[i] then
selecionados.Add(ListBox1.Items[i]);
end;
// vamos exibir os itens selecionados em um TMemo
Memo1.Lines.Clear;
Memo1.Lines.Add('Os itens selecionados são:');
for i := 0 to selecionados.Count - 1 do
Memo1.Lines.Add(selecionados[i]);
end
else
ShowMessage('Nenhum item selecionado.');
// vamos liberar o TStringList
selecionados.Free;
end;
Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Física - Eletricidade - Leis de Ohm |
Exercícios Resolvidos de Física usando Java - Calcule a resistência elétrica de um resistor que apresenta 10 AQuantidade de visualizações: 1427 vezes |
|
Pergunta/Tarefa: Calcule a resistência elétrica de um resistor que apresenta 10 A de intensidade de corrente elétrica e 200 V de diferença de potencial (ddp). Sua saída deverá ser parecida com: Informe a corrente: 10 Informe a tensão: 200 A resistência elétrica é: 20.0 Segundo a Primeira Lei de Ohm, a resistência é calculada pela seguinte expressão: \[R = \frac{U}{I} \] Onde: R = Resistência elétrica (medida em ohms (Ω)). U = Tensão elétrica U, (medida em volts (V), ou joules por coulomb). I = Corrente elétrica I (medida em ampères (A), ou coulombs por segundo). Como os dados que temos já estão no SI (Sistema Internacional de Medidas), tudo que temos a fazer é jogá-los na fórmula. Veja o código Java que pede para o usuário informar a intensidade da corrente elétrica e a voltagem (ddp) e retorna a resistência elétrica no resistor:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// vamos usar a classe Scanner para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos pedir para o usuário informar os dados
System.out.print("Informe a corrente: ");
double corrente = Double.parseDouble(entrada.nextLine());
System.out.print("Informe a tensão: ");
double tensao = Double.parseDouble(entrada.nextLine());
// agora vamos calcular a resistência
double resistencia = tensao / corrente;
// e mostramos o resultado
System.out.println("A resistência elétrica é: " + resistencia);
}
}
|
JavaScript ::: Dicas & Truques ::: Data e Hora |
Como formatar datas em JavaScript de acordo com as configurações do computador do usuário usando a função toLocaleDateString()Quantidade de visualizações: 7774 vezes |
|
Nesta dica mostrarei como podemos usar a função toLocaleDateString() do objeto Date do JavaScript para formatar e exibir a data atual (ou uma data construída) usando as configurações regionais do computador do usuário. Veja a página HTML completa para o exemplo:
<!doctype html>
<html>
<head>
<title>Datas em JavaScript</title>
</head>
<body>
<script type="text/javascript">
// vamos obter a data atual
var data = new Date();
// formatamos a data
var data_formatada = data.toLocaleDateString();
// e mostramos o resultado
document.write("Hoje é: " + data_formatada);
</script>
</body>
</html>
Ao executar este código JavaScript nós teremos o seguinte resultado: Hoje é: 04/02/2022 |
Desafios, Exercícios e Algoritmos Resolvidos de JavaScript |
Veja mais Dicas e truques de JavaScript |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




