Avançar para o conteúdo principal

C# - Intersecções PIV México

C# - Intersecções PIV México

Normalmente para projectos no México exige-se que o ponto de intersecção das tangentes verticais PIV seja num valor de pk e cota inteiro ou definido.

O ISPOL já proporciona este ajuste sobre uma rasante existente, mas no caso ter um trecho em que se necessita de alteração, o ISPOL ajusta toda a rasante.

A solução é ir iterativamente ajustando as tangentes até se encontrar um valor para o PK e para a COTA satisfatório.


Ou usar um auxiliar. Eu já tinha programado noutras linguagens este tipo de programas. Agora em CSharp o algoritmo é semelhante.

Por agora sem uma interface gráfica, e sem grandes verificações de erros, e ainda pouco "flexível".


Atendendo ao esquema acima, temos um ponto inicial e um ponto final (Pk Cota) e umas inclinações mínimas e máximas bem como um incremento para essas inclinações.


Podemos calcular as várias intersecções, pontos amarelos, entre cada segmento de recta, e armazenar ou listar. Mas interessa escolher os pontos de intersecção que caiam dentro da tolerância definida para o PK, por exemplo 20m ou 1 m, e dentro da tolerância definida para a Cota, por exemplo 1 milimetro.

No esquema acima seria o ponto negro.


No output para o utilizador são listadas todas a intersecções:


Mas no ficheiro gravado em disco, apenas as intersecções que satisfazem o problema:

O último ponto da lista a branco é o segundo listado a azul, tem o pk de valor inteiro e Cota ao milímetro.

E uma pequena amostra do código:




Comentários

Mensagens populares deste blogue

C# - Viadutos Excel - ISPOL

C# - Viadutos Excel - ISPOL Ler dados do Excel e passar a informação para o ISPOL é um ganho de produtividade e organização. Desta vez, apresento uma utilidade que lê um ficheiro Excel, e transforma os dados para o menu de estruturas do ISPOL. Partindo de um Excel organizado, por pks eixos e espessuras da estrutura etc... como o seguinte: Elaborei um programita em CSharp: Este programa funciona em modo "DOS" não tem uma interface gráfica de janelas: O programa cria os ficheiros necessários, o Excel pode estar organizado por eixos, e o programa guarda um ficheiro para cada eixo: O resultado depois de abrir o ficheiro em ISPOL é o seguinte: Com as alterações ao projecto pode-se manter um ficheiro de apresentação e controlo em Excel.

ISPOL - Representação de Gabaris

ISPOL - Representação de Gabaris No ISPOL podemos representar ao longo do traçado um contorno e até realizar variações. A representação de um contorno ou gabari pode ser realizada no ISPOL de um modo simples, usando por exemplo um Símbolo (bloco) da biblioteca, ou um ou vários criados à medida para atender aos casos necessários. Na imagem abaixo um exemplo da biblioteca do ISPOL, representado no perfil transversal. Estas secções são constituídas por símbolos/blocos: Podem-se desenhar ao longo do eixo proporcionando a vista típica destas situações, uma espécie de sólido que enche o traçado. Além desta representação "simples" o ISPOL permite realizar transições entre símbolos diferentes, por exemplo para representar os diferentes gabaris em recta e curva. Ou outras situações que se achem necessárias. Permite ainda condicionar a representação destes símbolos por valores de raio. Isto é para um determinado raio. Pode ser usado para indicar de forma automática ao programa que em r...

Python - Automatização em ISPOL

Python - Automatização em ISPOL Com o uso de PyAutoGui podemos automatizar tarefas repetitivas no ISPOL ISTRAM. No trabalho actual, é necessário converter mais de 300 ficheiros. Já houve um trabalho prévio de ler e transformar dados de directrizes em Excel para ficheiros compatíveis com a conversão presente. Este trabalho prévio foi também feito com programação. Tendo os muitos ficheiros com formato TXT que o ISPOL pode ler e converter para CEJ, é necessário ir ao menu de Conversores do ISTRAM e digitar os dados para ler a localização dos ficheiros, número de eixo etc... um trabalho repetitivo. Sendo repetitivo uma hipótese que deve surgir é se existe forma de automatizar / programar. O ISTRAM ISPOL não permite o uso de plugins (como o CAD), por tanto a via seria pela automatização dos movimentos. O pacote PyAutoGUI para Python permite esta simulação de movimentos. https://pyautogui.readthedocs.io/en/latest/ Basicamente "guiamos" o cursor para onde deve clicar e o que introdu...