Avançar para o conteúdo principal

Mensagens

A mostrar mensagens de outubro, 2024

Implantação plataformas - HTML CSS Javascript

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

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

Python - App Cálculo de Entreeixos avanço

Python - App Cálculo de Entreeixos avanço  Dei um avanço na programação da aplicação para o cálculo do entreeixos. A programação de um ambiente gráfico para qualquer aplicação seja em que linguagem for exige sempre algum tempo. No caso do HTML CSS temos de ser peritos para obter o resultado desejado. No caso do Visual Studio (WPF ou outras) o programa é pesado e com milhentas opções. No caso do TKinter, tudo é bastante leve, com o contra de ser muito programático e talvez pouco flexível. Agora tenho a programação da interface em modo funcional, talvez um dia passe para classes... No que toca à engenharia ferroviária o cálculo, mas sendo pelo meio mais fácil permitido pela EN acaba sempre por ser complexo. Por isso mesmo também a programação (ou Excel) acabam por ser complexas. Algo que parece ser simples, implica muitas variáveis e combinações de cálculo. Neste momento a interface está como na imagem acima. A ideia é que se possa gravar e ler a configuração prévia ao cálculo, e dep...

Python - Exemplos de Apps de Engenharia

Python - Exemplos de Apps de Engenharia Partilho alguns trabalhos relacionados com a Engenharia. https://www.researchgate.net/publication/316437423_Domain-Specific_Modelling_for_Human-Computer_Interaction https://www.youtube.com/watch?v=KMlfJ-KdCgE https://sourceforge.net/projects/fillworks/ https://pythonprogramming.net/plotting-live-bitcoin-price-data-tkinter-matplotlib/ https://blog.digitaloctave.com/posts/python/cad/10-cad-extending-the-interface.html

Python - Prototipo app Cálculo de Entreeixos

Python - Protótipo app Cálculo de Entreeixos Aproveitando um projecto antigo que serve de base a este, posso ir montando aos poucos a interface. Com a biblioteca TKinter, há prós e contras, como em tudo. Um dos contras é a interface gráfica menos rica e menos responsiva (com os widgets básicos). Por outro lado eliminamos o peso de coisas como o Visual Studio. A codificação não tem nada de transcendente, cada linguagem tem as suas particularidades Em breve mais desenvolvimentos.

Python - Exemplos antigos

Python - Exemplos antigos Desta vez um par de exemplos antigos com TKinter. O Python tem como o Javascript alguma facilidade de escrita do código. A interface gráfica "associada" ao JS será o HTML CSS enquanto que para o Python será por defeito o TKinter. Nestes dois exemplos, já com um par de anos, realizei alguns cálculos com o apoio de uma interface gráfica. Neste primeiro exemplo calculava o entreeixos, com uma janela de ajuda e gravação de ficheiro de dados da janela. Neste segundo exemplo, o cálculo de parâmetros ferroviários. Tenho outros em que por exemplo se podia ler informação de ficheiros Excel. Aqui um extracto do código no VS Code. Quem programa numa linguagem facilmente se adapta a outra. Para correr um dos exemplos tive de instalar a biblioteca Pillow para manipular as imagens. A montagem de janelas, e com vários separadores é uma tarefa fastidiosa. E alguns controlos de layout, texto, não estão bem dominados.

HTML - Protótipo app Cálculo EntreEixos

HTML - Protótipo app Cálculo EntreEixos Desta vez o esboço de uma ideia para o cálculo do valor de entreeixos para vias paralelas. O processo de cálculo do valor mínimo de entreeixos, pode ser perfeitamente realizado com uma folha Excel. No entanto a criação de uma aplicação nesse sentido dá maior potência e flexibilidade, de cálculo de de inputs / outputs. A opção da "linguagem" web é por facilidade de desenho da interface gráfica e de em princípio não ser necessária muita interacção de gravação e leitura de ficheiros, nem de uso directo de CAD. Uma primeira interface pode ser a da figura acima. A ideia de usar uma app, é como dito antes, dotar o utilizador de um automatismo e potência mais além do Excel. Podia desenhar uma secção para que seja lida no CAD, ou copiada para um documento escrito, com as vias na real posição de cálculo. os dados de partida e resultados também podem ser formatados de forma muito final para um documento escrito. A inserção de uma página de ajuda ...

Possível projecto - Indecisão HTML CSharp Excel

Possível projecto - Indecisão HTML CSharp Excel Antes de avançar para algo mais denso, uma etapa importante é parar e pensar o que se pode automatizar. Tendo o conhecimento de uma ferramenta poderosa como é a programação, uma das etapas antes de trabalhar em algo, é pensar o que se pode optimizar na futura tarefa, usando a programação. Ponderar se o "custo" benefício é efectivo. Esta é uma folha de Excel. Se ficar como folha isolada de uma iteração como por exemplo necessitar de ler um eixo ou escrever um ficheiro ou algo complexo, podemos pensar noutro nível. Pode-se usar uma macro, e no caso abaixo a macro apenas remete para a execução de um programa em CSharp. As macros têm sempre a questão dos ficheiros com macros, a segurança, e num futuro poderá haver problemas quando for tudo para a nuvem. Em paralelo tenho já um projecto avançado em paralelo ao Excel. Com as tecnologias Web. Tem as limitações de não interagir directamente com o CAD, se for necessário. De outro project...

Diferenças entre curvas verticais parabólicas ou circulares - Valores em ISPOL

Diferenças entre curvas verticais parabólicas ou circulares - Valores em ISPOL A norma de estradas recomenda as curvas de concordância verticais parabólicas, a norma de via férrea as circulares. Qual é a verdadeira diferença num caso prático? O pequeno exemplo, foi feito no software ISPOL, que permite comutar facilmente o tipo de curvas, além de criar curvas com outros parâmetros ou pontos de passagem, como na figura acima. O caso aplicado a uma inclinação de trainel de 25 milésimas, unidades típicas de projectos ferroviários como valor máximo em alguns casos, se bem que para uns 8% de estradas o resultado ou melhor a magnitude das diferenças poderiam ser maiores. No entanto aplicado ao caso de ferrovias, e supondo uma curva vertical de valor 30000 e 2000 o resultado é o seguinte. Curva parabólica, KV 30000: Curva circular, RV 30000: Curva parabólica, KV 2000: Curva circular, KV 2000: Para os valores de 30000 a diferença no desenvolvimento da curva vertical é de 47 cm, e a diferença de...

Excel - Executar programas externos

Excel - Executar programas externos O Excel tem a linguagem de programação VBA, qual seria o propósito de executar um programa externo ao Excel desde o próprio Excel? Uma resposta interessante poderia ser proteger o código, e usufruir de todas as potencialidades por exemplo de uma linguagem e ecossistema como o CSharp. Com um uso prático em vista, posso desde o Excel criar um botão que se associa a uma macro. Esta macro não faz mais que executar o programa externo que num exemplo poderia ler o próprio ficheiro de Excel e montar ficheiros para o ISPOL ou CAD. Ficheiros como o seguinte, podem ser assim obtidos directamente desde o ambiente Excel. Com o VBA (Visual Basic for Applications) não podemos usufruir de todas as potencialidades de uma linguagem como o CSharp. Muita coisa pode ser feita em VBA, mas é mais uma linguagem variante, BASIC, dispersando o conhecimento e saber fazer.  Exemplo de macro a implementar no Excel Sub cmd_test() Dim cmd As String Dim ret As Double  cmd...

CSharp - Viadutos Excel -> ISPOL (2)

CSharp - Viadutos Excel -> ISPOL (2) Algumas novidades na ferramenta de passar a informação de Viadutos de Excel para ISPOL. Na continuidade da melhoria da ferramenta que passa a informação contida num Excel para ficheiros de ISPOL, no caso a informação para o menu de estruturas de ISPOL. Post anterior: https://jcoimbras.blogspot.com/2024/03/c-viadutos-excel-ispol.html Este é o quadro geral da informação dos Viadutos. Adicionei mais uns valores de configuração ao Excel. Distância ao Estribo / Encontro e espessura de superestrutura. Exemplo de código usado, CSharp. Exemplo da janela de execução do programa. Depois de executado o programa o resultado é um ficheiro de texto para ser lido no menu de estruturas do ISPOL. A altura de superestrutura, dá uma folga entre a linha da rasante e a sombra que representa a estrutura. Este seria o aspecto da janela de definição de estruturas em ISPOL depois de carregado o ficheiro produzido pelo programa. Nas seguintes imagens observa-se a distânci...