Mensagens

A mostrar mensagens com a etiqueta ferrovias

Python - Excel para Escala / Sobrelevação / Peralte

Imagem
Python - Excel para Escala / Sobrelevação / Peralte Transformar dados numa folha de Excel para o formato de texto do ISPOL para Escalas Diagrama Escalas No exemplo que trago a este post, demonstra-se a passagem de dados que constam numa folha de Excel para o menu de Peraltes (Escalas ou Sobrelevação ) do ISPOL. O ponto de partida é uma folha Excel, com aplicação da Escala e verificação dos parâmetros. Folha de comprovação Com o script Python, lê-se a folha Excel e realizam-se as transformações necessárias aos dados. Uma das iterações é verificar o nome dos elementos do traçado: Outra é compor o ficheiro txt que será gravado no disco com a extenão *.prl para ser lido depois: Resulta na gravação em disco de um ficheiro deste tipo. Ficheiro de texto Há ali umas linhas "repetidas" que têm de ser eliminadas no algoritmo... Abrir e procurar o ficheiro de texto. Abrir ficheiro E os dados lidos em forma de tabela e em gráfico de escalas. Tabela e gráfico Escalas Uma importante ajuda ...

Python - Cálculo de parâmetros e gráficos, ferrovias

Imagem
Python - Cálculo de parâmetros e gráficos, ferrovias Nesta versão de um post anterior, realiza-se a mesma ideia com Python, Tkinter. Tudo inicia com a leitura de um ficheiro Excel, operação permitida com o uso da biblioteca openpyxl . Directriz - Folha de Cálculo A informação lida e depois calculada é mostrada numa simples Listbox do Tkinter. E como visto na versão web, a zona de gráficos permite ter uma ideia visual dos vários parâmetros sobre o eixo. Tal como na versão Web, poderia ter recorrido a uma biblioteca para desenhar os gráficos.

Javascript - Cálculo de parâmetros e gráficos, ferrovias.

Imagem
Javascript - Cálculo de parâmetros e gráficos, ferrovias Com o recurso às "tecnologias web" estou a montar uma aplicação para ler os elementos de uma directriz e desenhar uns gráficos. Gráficos O trio de tecnologias web, JS CSS HTML permite como já referi noutros posts realizar operações sobre dados. Tal como ia permitir o Python se fosse a tecnologia escolhida. Com recurso a um serviço CDN posso ler o ficheiro Excel que contém a informação da directriz: CDN Directriz Esta formatação de directriz é típica do ISPOL. Neste PC nem sequer tenho o Excel, tenho o LibreOffice, e tudo funciona sem problemas. A opção por "web" deve-se à facilidade de por no ecrã uma tabela de dados, com uma actualização depois de algum cálculo. Abaixo ilustra-se essa actualização: Tabela (Não se tomem como certos os valores, falta rever.) A par do cálculo em tabela, interessa-me ter uns gráficos ilustrativos das variações dos valores. Gráficos Ainda faltam adicionar elementos etc, é um traba...

CSharp - Desenho de Aparelhos de Mudança de Via simples (parte 2)

Imagem
CSharp - Desenho de Aparelhos de Mudança de Via simples (parte 2) A criação de um plugin para desenhar AMVs em Autocad. Nesta segunda parte, a evolução de um plugin que desenha o AMV com formas simples, linhas e círculos para um que desenha por blocos. O prompt aceita o aparelho esquerdo: O desenho dos AMV fica orientado com os dois pontos inciais dados pelo utilizador, o primeiro insere o bloco e o segundo orienta. Abaixo observa-se um AMV esquerdo e um direito, o nome do bloco e a colocação num layer. Um extrato do código C# que faz a montagem do bloco. Com este plugin é fácil encadenar sucessivos AMVs num feixe de vias. É uma das aplicações práticas. O plugin é criado na linha de comandos com o compilador de C# CSC. No processo anexam-se os ficheiros essenciais à manipulação do CAD. Portanto não é necessária uma solução complexa com o Visual Studio. Por outro lado inibe-se a criação de plugins com interface de janelas, o que pode ser alcançado por exemplo por Javascript, que pode se...

CSharp - Desenho de Aparelhos de Mudança de Via simples (parte 1)

Imagem
CSharp - Desenho de Aparelhos de Mudança de Via simples (parte 1) A criação de um plugin para desenhar AMVs em Autocad. Uma das criações em curso é um plugin para Autocad que permita desenhar os AMVs. Isto pode ser feito em AutoLisp em alternativa ao CSharp. Alternativas como o Pyautocad não permitem uma interação com o desenho, são mais para automatismos com coordenadas fixas. O Javascript seria uma opção válida, penso eu. Para a criação desde plugin, usei o Csharp e o compilador na linha de comandos CSC, que gera um ficheiro DLL. Ao executar no CAD "netload" abrimos a localização do plugin: Ao escrever depois o comando "AMV" temos as várias opções (ainda não estão todas desenvolvidas): O desenho que se obtém é o seguinte: Como se pode ver coloca os elementos num layer adequado ao tipo de AMV. Neste momento gera entidades por separado, o próximo passo é gerar um bloco para cada AMV. O desenho seguinte é apenas uma comprovação. Há que testar o desenho em vários quad...

Chat GPT e o cálculo de gabaritos

Imagem
Chat GPT e o cálculo de gabaritos O modelo LLM não é adequado a cálculos muito específicos. Os modelos LLM ou de inteligência artificial, são importantes ferramentas em alguns domínios. No caso apresentado para o cálculo de Gabarito Livre de Obstáculos, é dificil que o consigam realizar. Um dos pontos é que os modelos de IA vão procurar múltiplas fontes quando se aplicam entre milhares de fontes, regras específicas. Outro factor é a complexidade dos cálculos envolvidos e a saída gráfica. E também as traduções técnicas de outras linguagens. No presente exercício, houve sucessivos "prompts" para responder a dúvidas do modelo, mas fica a sensação de ciclo de operações que não leva a lado nenhum. Prompt Inicial: calcule o gabarito livre de obstaculos, segundo a EN15273-3, para um contorno PTb+. A curva tem um raio de 350m, uma escala de 150 mm e uma insuficiencia de 120 mm. Uma das respostas intermédias: Síntese / conclusão imediata Cálculos inequívocos que já obtive (valores ...

Neutralino - Ferrovias App

Imagem
Neutralino - Ferrovias App Revisito o framework Neutralino que permite criar aplicações desde tecnologias "Web" Tendo uma aplicação local com tecnologias Web é fácil, transformar a mesma para executáveis que podem correr em qualquer sistema operativo desktop, windows, MacOS ou Linux. A configuração é relativamente simples e a instalação do Framework com base no NodeJS não apresenta problemas de maior. O teste de hoje incidiu sobre um outro projecto de cálculos, mas coloco aqui a ilustração de um outro mais genérico. Praticamente tudo o que funciona localmente vai funcionar depois como executável. Por exemplo os botões de leitura e escrita de ficheiros (apesar do Neutralino ter os seus próprios métodos que podemos usar se necessário) e o desenho num Canvas. Portanto para o tipo de programação e projetos que realizo, este Neutralino dá conta do recado, podendo ser uma alternativa ao Python e o seu método de criar executáveis. O Neutralino usa um WebView, mantendo "internam...

OpenRailWayMap - Muito interessante

Imagem
OpenRailWayMap - Muito interessante Um mapa interactivo com base no OpenStreetMap, de caminhos de ferro. No exemplo da primeira imagem temos as diferentes bitolas na Europa. Com as opções de visualização mostradas podemos por exemplo verificar se vemos uma linha de alta velocidade ou convencional. Colocando o zoom a outro nível aparecem mais detalhes. Até com os corredores previstos para a LAV... E em Lisboa os eléctricos e metro. Com mais zoom é possível observar as vias e kms. Tem uma API mas não vi uma opção de guardar como na vesão de estradas.

Python - Excel ISPOL, complicação desnecessária.

Imagem
Python - Excel ISPOL, complicação desnecessária Por vezes tendemos a complicar muito as soluções, quando com apoio das ferramentas existentes e com mais um pouco, se pode solucionar o problema real.  Num dos posts anteriores descrevi um pouco o processo de criação de um programa em Python para automatizar um processo, que não estava muito explícito mas apontava para Gabaritos e Plataformas. A ideia é gerar dados para a implantação das bordaduras de plataformas. No entanto o grau de complexidade está a aumentar, e ao parar um pouco e reflectir... será que não se está a complicar muito o assunto? No fundo pode-se apenas criar uma ponte entre o cálculo de alguma coisa e o ISPOL. Ou seja mecanizar cálculos que o próprio ISPOL não faz, lendo um input de ISPOL e criando um output para ISPOL. A ferramenta de traçado é bastante poderosa e adaptável, por isso fornece os dados para o cálculo e lê os dados para a implantação. Abaixo uma vista do menu de larguras, que pode ser usado para desen...

Kodular - App Ferrovias (1)

Imagem
Kodular - App Ferrovias (1) Na plataforma kodular é relativamente fácil desenvolver uma app. Semelhante ao Scratch e MIT App Inventor (são da mesma casa), o Kodular é uma plataforma na qual se programa em blocos. Nas escolas ensina-se um pouco de Scratch. O Kodular muito usado em países como a Índia, permite fazer praticamente tudo. E tem a vantagem de ser online, uma plataforma online, sem a necessidade de instalações. Está num processo de mudança ainda não terminado. Para o assunto deste post, misturamos o Kodular com a criação de uma app para cálculos ferroviários. Ainda em desenvolvimento, aos poucos vamos adicionando novas funcionalidades e testando a usabilidade. Vista Principal Agora estamos a adicionar um "screen" para a ajuda. Abaixo um exemplo de blocos. Blocos O objectivo é apenas ter uma calculadora funcional e sempre disponível para a engenharia ferroviária. Aceitam-se sugestões.