Mensagens

A mostrar mensagens com a etiqueta Python

Python - Exemplos de uso na engenharia, estruturas

Imagem
Python - Exemplos de uso na engenharia, estruturas São muitos os casos de aplicação da programação em Python à engenharia de estruturas. Apenas 3 exemplos, que ilustram programações à medida da necessidade. Sendo o Python uma ferramenta que potencia a produtividade. Neste exemplo usa-se o Python para criar uma interface de manipulação do modelo em ALLPLAN : https://www.youtube.com/watch?v=D0gkdU2cgfU (Jose Rolo Duarte and Bruno Fernandes, Quadrante – Portugal) Neste outro exemplo, com o uso do "livro" JupiterLab , e com uma biblioteca de "desenho" das fórmulas, Handcalcs , consegue realizar os cálculos e também uma bonita apresentação, que pode ser exportada para PDF como um relatório.: https://www.youtube.com/watch?v=FtzVN3s4yRI (Connor Ferster) Neste outro exemplo é usado um ficheiro de texto do Robots , com dados dos elementos finitos, com a possibilidade de manipulação dos dados. Não usa a API do programa. https://www.youtube.com/watch?v=wKJETBztqA8&t=2013s...

Python ou Javascript - Comparação muito breve

Imagem
Python ou Javascript - Comparação muito breve. Numa comparação simplificada as duas linguagens de programação são muito semelhantes. https://www.matematica.pt/faq/como-calcular-area-circulo.php O propósito deste post é demonstrar que caso se opte por uma programação de "cálculos" ambas as linguagens são válidas. O importante é resolver o problema. Para ilustrar a comparação, cálculo a área de um círculo, com Raio = 2. Na parte esquerda da imagem temos o código para Python, na parte direita o código para Javascript. Apesar das diferenças de sintaxe próprias de cada linguagem, a semelhança é óbvia. Claro que na medida em que se aumenta a complexidade de uma solução ou programa, as diferenças vão sendo mais notórias. No caso apresentado o cálculo é simples e as semelhanças são maiores. Veja-se a necessidade ou não de importar a biblioteca de Matemática. O separador de blocos de código é o endentamento ou as chavetas. O resultado teria de ser o mesmo em ambos casos: Cada uma das ...

Python - Protótipo de leitura de pontos, coordenadas

Imagem
Python - Protótipo de leitura de pontos, coordenadas A leitura de dados desde um ficheiro, neste caso pontos coordenados pode ser um bloco de desenvolvimento a integrar num programa mais complexo. O desenvolvimento de programas por vezes recorre a pequenos incrementos na montagem de um programa. Ou seja, testa-se uma funcionalidade que mais tarde poderá ser integrada num sistema maior. O caso aqui apresentado é um exemplo, com a leitura de dados desde um ficheiro de pontos coordenados. A imagem acima é o preenchimento do espaço de desenho com uma série de pontos ao acaso apenas para testar o código. Com a leitura de um ficheiro de formato txt, separado por vírgulas, obtem-se o seguinte resultado: Tendo o ficheiro de teste apenas 4 pontos. Observa-se que dei um pequeno esquema de cores por intervalos de cotas. Um dos desafios é "corrigir" as coordenadas do sistema cartesiano, para o sistema de coordenadas do Canvas https://stackoverflow.com/questions/18137313/python-canvas-obj...

Da modelação CAD ao código: como as linguagens de programação estão a potenciar projectos de engenharia civil de última geração

Imagem
  Da modelação CAD ao código: como as linguagens de programação estão a potenciar projectos de engenharia civil de última geração No âmbito da engenharia civil, a transição tecnológica tem sido fulcral: o uso de ferramentas tradicionais de projecto em CAD (Computer-Aided Design) evoluiu para soluções cada vez mais integradas, suportadas por linguagens de programação que permitem automação, análise avançada e interoperabilidade entre disciplinas. Este artigo pretende explorar esse percurso — desde os arquivos DWG/DXF e superfícies 3D até ao código que alimenta simulações, BIM (Building Information Modelling) e a geração automática de relatórios — e como essa evolução está a impulsionar projectos de grande escala (os chamados “9×” ou nove vezes maiores) na engenharia civil. 1. O paradigma clássico: CAD como núcleo central Tradicionalmente, os engenheiros civis e arquitectos baseavam-se em ferramentas CAD para criar plantas, cortes e elevações, modelar vigas, pilares, lajes e fun...

Python - Menus com Tabs

Imagem
Python - Menus com Tabs Uma utilidade do Tkinter, python, é o uso de Tabs para desfraldar vários separadores numa aplicação. Com isto posso por exemplo criar um código e formulário para cada país, se for cálculo diferente numa qualquer situação. Isto pode-se aplicar a qualquer software que precise de alguma "internacionalização"... Vamos ver a que ideias se pode aplicar. O código para os separadores / tabs é fácil de implementar, frame é atribuida a tab1 tab2 tab3 etc, em vez de atribuida a window (no caso abaixo). Para atribuir e separar código, talvez com modulos, como este exemplo para as funções. Seguimos...

Python - numeros

Imagem
Python - Números por extenso Para escrever números por extenso tendo um número em numeral usa-se uma biblioteca. Em algum caso pode fazer falta a escrita de um número por extenso. Ou seja por exemplo transformar o número 180 em "Cento e oitenta". Podemos programar o algoritmo, ou podemos pesquisar antes e usar uma biblioteca já pronta. É o caso do num2words  que realiza por nós essa tarefa. https://pypi.org/project/num2words/ Podemos instalar com: pip install num2words E depois importar no início do programa ou módulo: from num2words import num2words O uso é bastante simples como é o caso seguinte que lê de uma interface tkinter o campo quantia:     numero = int ( ficheiro_recibos [ 4 ].rstrip( ' \r\n ' )  )     num_extenso = num2words( numero , lang = 'pt' )     print ( f 'Número: { num_extenso } ' ) Permite configurar vários idiomas, o que é óptimo. O output é o seguinte: Número: cento e oitenta

Linguagens diferentes resultados iguais

Imagem
Linguagens diferentes resultados iguais Para operações de cálculo matemático e manipulação de ficheiros o resultado é independente da tecnologia de programação. Como era de esperar, apesar de o cálculo ser feito com linguagens de programação diferentes, o resultado é igual. Na imagem acima temos dois ficheiros, que embora tenham o mesmo nome e conteúdo foram criados por linguagens de programação diferentes, Python e Javascript, com a leitura do mesmo ficheiro Excel de dados. Como coloquei no post anterior a interface gráfica tem os mesmos elementos. Ambas linguagens partilham pedaços comuns e outros bem diferentes. Parte da diferença explica-se pela metodologia de criar a interface gráfica. A programação de Javascript + HTML é um pouco mais moldável, permitindo por exemplo desenhar tabelas no ecrã mais facilmente que em Tkinter (Python). É bastante util, pois podemos ressaltar uma janela apenas com resultados ou informação temporária, ou linkar para uma página HTML de ajuda. Cada tecno...

Caso simples de uso do ChatGPT - programação

Imagem
Caso simples de uso do ChatGPT - Programação Usei a AI, ChatGPT para transformar uma função de Python numa função de Javascript Um uso típico dos modelos de LLM é a aplicação à programação. Seja para criar código ou no caso do exemplo para transformar código. Inclusivamente faz notas sobre o trabalho realizado. Este exercício foi uma primeira abordagem ao problema, digamos, já que tenho um código funcional em Python e queria transformar o mesmo para Javascript, como é uma programação funcional pode ser transformada e ajustada aos poucos. Na parte direita no console é possível observar dados provenientes da função transformada. É possível comparar lado a lado o código nas duas linguagens. No código JS apresentado, o ChatGPT eliminou alguns comentários.

Python vs HTML

Imagem
Python vs HTML Uma aplicação simples tanto pode ser realizada com tecnologias Web (HTML CSS JS) ou Python. Para a resolução de um determinado problema prático na área da engenharia, na maior parte dos casos a tecnologia de "programação" usada é indiferente, pois obtém-se o mesmo resultado. Aplicando a um dos exemplos em que tenho estado empenhado ultimamente, o que está por detrás da interface para com o utilizador pode realizar os mesmos passos numa e noutra tecnologia. A interface é ligeiramente diferente (pode-se aproximar mais o aspecto gráfico) e o modo de "abertura" e uso do programa diverge um pouco, num caso (Python) será um normal programa executável, e no outro caso (HTML) será uma aplicação que corre no navegador Web. Ambas tecnologias têm vantagens e desvantagens como é óbvio.  Ambas abrem e modificam um ficheiro Excel. Ambas realizam cálculos. Ambas conseguem escrever no disco um ficheiro de resultados. No fundo é o importante. Apesar dos "hypes...

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

Python - Excel Problemas e Vantagens

Imagem
Python - Excel Problemas e Vantagens Uma das vantagens do Python é a sua ampla capacidade de aplicação. O Python sendo uma linguagem bastante difundida, possui bibliotecas para solucionar praticamente todos os problemas. Uma é o OpenPyXl que permite ler escrever e manipular ficheiros do tipo Excel, xls ou xlsx. Num dos actuais de programação para auxiliar o cálculo de engenharia, abro e leio um ficheiro Excel com dados da directriz e outros. Este Excel tem nas últimas colunas informação da via que não estava a ser lida pelo programa, por mais que alterasse o XLSX, poderia ser de ter formulas ou apenas dados, estar bloqueado por algum motivo... Afinal a causa do problema era outra, a janela que se abre e permite escolher o ficheiro estava a iniciar numa pasta antiga. Pequenos detalhes que nos levam minutos ou horas a resolver. Mesmo num computador sem uma instalação do Excel, continua a funcionar. O problema por vezes é o tamanho do código que tem de ser de alguma forma organizado para ...

Python - Ler eixo de ISPOL (3)

Imagem
Python - Ler eixo de ISPOL (3) Mais um acrescento ao aspecto gráfico. Ao que já tinha, acrescentei algumas seções para a interface gráfica. Também dei uma função ao botão de leitura do eixo, agora abre a janela de navegação para procurar ficheiros em formato Excel. O aspecto gráfico como disse antes, evoluiu um pouco. Vamos ver no que resulta...

Python Javascript - Diferenças nos resultados (Gabaritos)

Imagem
Python Javascript - Diferenças nos resultados (Gabaritos) Tendo o mesmo cálculo em duas linguagens de programação era expectável ter o mesmo resultado. Ao mudar de linguagem de programação, ou de tecnologia, para realizar o mesmo cálculo é expectável obter os mesmos resultados. É também uma forma de revisão de todo o processo. No caso, um projecto "outsider" para cálculo ferroviário, que está a ser re-codificado para que tenha mais possibilidades de ampliação no futuro, embora seja um projecto para consumo interno. Na parte esquerda da imagem abaixo, o cálculo em Javascript e na parte direita em Python. Não tem exactamente o mesmo conteúdo porque se está a apresentar menos saídas em JS. Os valores semelhantes, por exemplo o -1.51 e o -1.511 chamam a atenção, deveriam ser o mesmo. Uma das formas que tenho de rever os cálculos é comparar os ficheiros de Output, onde tenho todos os cálculos parciais relevantes. Embora com separador de campos diferente, foi possível verificar q...

Python - Ler eixo de ISPOL (3)

Imagem
Python - Ler eixo de ISPOL (3) Uma pequena adição ao programa para mostrar os PK inicial e final do ficheiro de Excel. Com esta pequena implementação permite-se que o programa gere dados com a equidistância indicada pelo utilizador, além de pequenos algoritmos sobre os PKs. Equidistância 1 metro: Com 5 metros: Esta parte está mais ou menos controlada, agora é o passo seguinte...