Mensagens

Kinematic Envelope - Vários exemplos

Imagem
Kinematic Envelope - Vários exemplos Adiciono uma pequena lista de desenvolvimentos sobre o assunto de Gabaritos ferroviários. Para mais informação veja outros posts. AECOM Desenvolvimento no Civil 3D ao que parece, com dynamo. Não se percebe com que norma. https://youtu.be/BdRDICErJJ8?si=0MD8xGx_W1PCG5dP Mehdi Taheri Plataforma independente, não se conhece sobre que normativa. https://www.youtube.com/watch?v=LXUusfK25bs 12D Provavelmente é algo similar à AREMA, 12D é uma empresa da Austrália, creio https://www.youtube.com/watch?v=OQnaDt7IOXw

Ler ficheiros de Eixo ou integrar a programação numa plataforma nativa

Imagem
Ler ficheiros de Eixo ou integrar a programação numa plataforma nativa Muitas vezes no início de um projecto de programação, a dúvida instala-se entre programar dentro de uma plataforma como o Civil3D ou Bentley, ou fazer tudo externamente. Ambas as opções têm vantagens, há que no contexto particular optar pela melhor opção. No meu caso em que lido com o ISPOL ISTRAM a programação dentro do software de traçado não é uma opção. No caso de Civil / Autodesk ou Bentley é uma opção. Os softwares Autodesk, falo com mais conhecimento do Autocad, mas tudo se aplica ao produto Civil3D e em certa parte aos produtos da Bentley... mudam por vezes bastante entre actualizações, e é provável que uma programação mais específica como em .NET tenha de ser refactorada. As programações fora das plataformas nativas de traçado trazem a vantagem de não estar dependentes do programa de traçado. Há a desvantagem da comunicação ser indirecta. Por exemplo na imagem acima, representa-se uma directriz lida desde u...

Python - Gabaritos e ambiente gráfico

Imagem
Python - Gabaritos e ambiente gráfico A linguagem Python proporciona uma interface gráfica TKinter que na maior parte das vezes satisfaz a necessidade de uma interface com o utilizador. No caso que se apresenta, criei um programa para cálculo dos gabaritos. Embora o núcleo do programa e a parte "interessante" de todo o cálculo se faça "por debaixo dos panos" ou seja na parte da programação, tem de haver uma comunicação com o utilizador. Esta comunicação pode ser feita perfeitamente num ambiente de linha de comandos onde é possível comunicar (ler e mostrar informação). Em alguns casos a informação gráfica é importante. A complexidade de um programa deste tipo já implica a separação por módulos. A parte gráfica também deveria ser separada do código principal, mas ainda não adquiri essa competência. Exemplo da definição de um contorno de referência: Toda a interface gráfica é programada por código, não se usa (existem opções...) a programação como um arrastar de blocos...

Gabaritos - Alguns exemplos de softwares

Imagem
Gabaritos - Alguns exemplos de softwares O cálculo dos gabaritos ferroviários, é uma ciência dentro da ciência ferroviária. https://bathtrams.uk/structure-gauge-and-dynamic-kinematic-envelope/ O gabaritos / Gabari / Gabaris (já se viu escrito de todas as formas), são um capítulo importante no projecto ferroviário. Têm especial relevancia nos projectos onde o alvo de intervenção é uma via existente. Há que determinar os gabaritos em relação às plataformas, paredes de túneis e outros possíveis obstáculos. O cálculo evoluiu muito, desde formas mais ou menos simplificadas com ou sem ábacos nos anos 80, à obrigatoriedade de respeitar as ETI e EN. Muita coisa pode ser feita com recurso a uma folha Excel (ou várias). No entanto alguns softwares permitem uma integração com as características do traçado. Aqui deixo alguns exemplos de softwares nesta área. https://www.dgauge.co.uk/software https://www.ensco.com/rail/clearance-measurement-system-cms https://www.software-dima.de/scr/03-vertical_se...

ISPOL - Representação de Gabaris

Imagem
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...

Implantação plataformas - HTML CSS Javascript

Imagem
Implantação plataformas - HTML CSS Javascript Desenvolvimento de uma aplicação estilo Web para o cálculo da implantação de plataformas para ferrovias. Após montar uma folha Excel com os cálculos, decidi fazer uma app ao estilo Web, ou seja que funciona no navegador web (Chrome Edge Opera Firefox ...). A construção da interface gráfica requer menos recursos, e se não é necessária grande potência ou rapidez, e não é necessário interagir muito com o disco e o CAD, o Javascript é o suficiente. A folha principal (e única do programa, fora a ajuda) apresenta o aspecto seguinte, onde se observam as variáveis iniciais de cálculo. Também se pode escrever a configuração. Em breve implemento a leitura de configuração, permitindo assim guardar trabalhos. Existe depois um bloco em que o programa mostra os resultados. A ideia é que os resultados fiquem também formatados para poderem ser copiados para um documento, ou que se gere pelo menos parcialmente esse documento. Uma pequena amostra do código e...

Python - Organização do código por módulos

Imagem
Python - Organização do código por módulos Para códigos com alguma dimensão e complexidade há que pensar em organizar o código. Quer seja para legibilidade ou organização, manter todo o código apenas num ficheiro é considerada uma má prática. Existem diversas formas de organizar o código. Uma é repartir o código por ficheiros que se chamam módulos e podem ser importados para o código principal. Mesmo para a repartição por ficheiros, há várias soluções, trago aqui a mais básica. Tendo numa pasta o ficheiro principal.py posso repartir na mesma pasta o código num outro ficheiro a que chamei funcoes.py . Tenho também na imagem uma pasta Source que será outra solução a explorar. Dentro do ficheiro funcoes.py tenho um conjunto de funções, ou métodos, que serão chamados desde o ficheiro principal.py   Neste ficheiro tenho duas funções que podem ser chamadas desde o ficheiro principal, adiciona e subtrai. Note-se que coloquei ao inicio um texto que nunca será apresentado pois nenhuma fun...