Mensagens

Python - Funções em Módulos

Imagem
Python - Funções em Módulos Uma forma de organizar o código e reaproveitar, é usar módulos. Dividir o código em vários ficheiros, pode ser uma estratégia de organização de um projecto. Os ficheiros, podem ser carregados no programa principal como módulos. Existe muita informação, com maior ou menor grau de complexidade na net. O uso de módulos; as várias formas de importação, e até o uso de __init__ mas indo pelo simples... Por exemplo, posso organizar as funções que gravam ficheiros no disco, num módulo ou ficheiro. O código deste módulo pode entre outras, conter a seguinte função: No início do programa principal, chamamos o ficheiro/módulo da seguinte forma: E o seu uso ao longo do programa principal pode ser por exemplo: E apenas como exemplo, a função de gravar, grava para o disco como ficheiro simples de txt o seguinte:

ISPOL - Ajuda Visual pks de eventos

Imagem
ISPOL - Ajuda Visual pks de eventos Novidade, ajuda visual, gráfica, de eventos. Num programa muito "parametrizado" todas as ajudas gráficas são bem-vindas. Neste caso pode-se ver as transições das sobrelevações: Ou das larguras: Muito útil certamente.

Upgrade CAD e estado dos Plugins

Imagem
Upgrade CAD e estado dos Plugins Fazer uma alteração no software, upgrade, pode levar a resultados indesejados caso haja outros softwares que trabalhem em cima deste. Já aconteceu em versões antigas de Autocad, que após um upgrade de versão os plugins deixaram de funcionar. No caso presente subir a versão de 2021 para 2025 pode originar o mesmo problema. Por acaso isso não aconteceu pelo menos nos DLL e JS que testei. Não sei se o "motor" do CAD se manteve ou os plugins são simples o suficiente para não ir buscar alguma definição mais complexa. No 2025 com um plugin em Javascript o texto ficou com os caracteres acentuados com problemas, tenho depois de ver como se corrige. O desenho em si não apresenta problemas. Com o .NET Chsarp (DLL) não vejo nenhum problema nos caracteres embora os plugins que testei não tenham acentos visíveis.

Browser Based App em alternativa a Python TKinter

Imagem
Browser Based App em alternativa a Python TKinter O uso de tecnologias web para criar uma aplicação gráfica simples é uma alternativa ao uso de Python Tkinter ou outras tecnologias. Para uma aplicação que não necessite de Base de Dados ou interacção directa com outros programas como o Autocad, o uso de tecnologias web (sem a conversão posterior para EXE) é uma alternativa válida. Inclusivamente estão disponíveis API para usar o Excel, Ficheiros, Gráficos e até Machine Learning. Não é difícil aprender, e não necessita nenhum hardware ou software específico. Um editor de texto, ligação à net e um navegador. Na internet são poucos os exemplos de JS ou tecnologias Web aplicadas à solução de problemas de engenharia. Alguns exemplos já trouxe em vários posts, podem ser consultados. Ao longo do tempo tenho usado bastante esta solução para programar aplicações que resolvam os meus problemas de automatização ou de repetição de tarefas. Abrir e manipular ficheiros ASCII é essencial e um processo...

Gabaritos - Problemas de engenharia e de código

Imagem
Gabaritos - Problemas de engenharia e de código Desenvolver um programa para cálculo de engenharia, leva ao aparecimento de problemas de cálculo e de código. O desenvolvimento de um software / programa de um qualquer cálculo para a área de engenharia, pressupõe a resolução de dois tipos de problemas: Cálculo e código. A par da evolução de um programa vão-se fazendo verificações dos cálculos. A correcção destes cálculos ao longo do desenvolvimento é essencial. Em paralelo vão surgindo problemas da modelação do código à solução. Um dos casos, foi no extracto abaixo que estava a chamar a mesma função para o cálculo dos salientes pelo interior e exterior da curva. Pequenos detalhes que por vezes demoram tempo a serem despistados. Um outro assunto fora da resolução de problemas, é gerar um output para CAD. Pode-se recorrer a uma solução antiga e comprovada que é a criação de ficheiros script *.scr que no fundo são descrição de comandos para o CAD. Como no exemplo abaixo, onde se criam layer...

Python - Automatização em ISPOL

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

JS - Gabaritos e ambiente gráfico

Imagem
JS - Gabaritos e ambiente gráfico O "pacote" web permite realizar vários cálculos, como escrito em posts anteriores. Desta vez a versão "web" do programa de cálculo anteriormente feita em Python. As tecnologias que permitem programar uma página web, permitem programar outras coisas, como são os casos que por vezes apresento, e como é o caso presente. A construção de uma interface gráfica pode ser mais fácil, e com resultados semelhantes ao Tkinter. Na prática apenas realmente é diferente a questão de gravação dos ficheiros. Com JS temos de ir gravando cada ficheiro individualmente (mais ou menos...) enquanto com o Python podemos gravar em segundo plano. Se passar a aplicação para o Electron ou Neutralino, após algumas adaptações fica semelhante a uma aplicação nativa. A ideia de seguir em paralelo com o um desenvolvimento em "Web" será a de reaproveitar de forma mais fácil algumas partes, e aplicar na continuação do cálculo/processo que vai ser necessário....