Mensagens

A mostrar mensagens com a etiqueta ISPOL

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

ISPOL - Truncar por código

Imagem
ISPOL - Truncar por código A utilidade de truncar, ou cortar, por código pode funcionar como um substituto às linhas de fronteira, ou como complemento a estas. Em projectos, ou zonas de projecto com eixos perfeitamente paralelos, como são os casos de estações ou feixes de vias (para projectos ferrovários, ou outros casos em projectos rodoviários), podemos aplicar um corte por determinado código e distância. Truncar por código Depois do trabalho de detalhe de cortes, calculado o projecto, podemos adicionar os eixos secundários ao principal. Ao analisar o ficheiro criado no editor de perfis, podemos observar a qualidade da montagem. A medição neste caso aponta apenas para o eixo principal, com o ressalto da escavação como exemplo. Como foram criadas novas superfícies no menu de adiciona ramal, estão não são aqui medidas. No entanto a medição existe em cada eixo que faz parte do conjunto como se pode ver neste exemplo: E claro tudo em 3D como sempre.

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

Python - Ler eixo de ISPOL (2)

Imagem
Python - Ler eixo de ISPOL (2) A interface gráfica pode ser importante para visualizar a informação. Depois de alguns ajustes no código parece que a leitura do Excel e cálculo dos pontos sobre o eixo se faz de forma mais correcta e eficaz. Isto é sempre um processo de correção contínua. Nem sempre tudo sai bem à primeira, longe disso, um dos exemplos é o print abaixo numa das tentativas de corrigir a posição do desenho. Depois de alguns ajustes, finalmente sai um resultado mais adequado ao pretendido. E alguma variação no Excel, para apenas calcular uma parte. Com o esquema de cores a representar as curvas, clotóides e rectas.

Python - Ler eixo de ISPOL

Imagem
Python - Ler eixo de ISPOL Ler um eixo - directriz num formato de ISPOL é uma etapa importante no desenvolvimento de utilidades. No desenvolvimento de software que esteja relacionado com obra linear, uma etapa importante, ou se quisermos um obstáculo a ultrapassar de forma inequívoca é a capacidade de ler dados de uma directriz. Com isso de forma autónoma pode-se obter informação de um ponto em relação ao eixo, calcular e colocar informação ao longo do eixo, e mais tarde se necessário voltar a alimentar o programa de traçado ou de desenho. No protótipo que estou a desenvolver tenho essa etapa praticamente resolvida. Com base num ficheiro Excel formatado com dados da diretriz provenientes de ISPOL: O ficheiro Excel é lido pelo script de Python. No processo exemplificado são calculados pontos equidistantes ao longo da directriz. Há que criar funções para tratar todos os casos possíveis de tipos de alinhamentos (Rectas Curvas Circulares e Clotóides) e as diversas combinações entre estas. ...

Python - Larguras de vias e bermas em Excel para ISPOL

Imagem
Com o Excel podemos ter uma gestão da informação mais organizada. Uma das formas de contornar a introdução de dados no ISPOL, é ter a informação organizada num ficheiro de Excel. Num post anterior havia mostrado uma folha para as larguras das vias, e um script em Python que lia o Excel e transformava a informação para ficheiros de ISPOL. Agora adicionei a informação para a largura das bermas. Com uma adaptação do script em Python, gero um ficheiro para as larguras e outro para as bermas. Há uma folha para cada eixo, sendo mais um modo de organizar o projecto, e no script pede-se o número de eixo que corresponde ao "número" da folha.

Python - Larguras de vias em Excel para ISPOL

Imagem
Python - Larguras de vias em Excel para ISPOL Uma das formas de organizar a informação é usar o Excel. O ISPOL sendo um software em que muita informação é indicada de forma paramétrica, pode gerar alguma dificuldade ou confusão, quando há muitos dados. É o caso das larguras de vias, quando há vias de aceleração ou abrandamento, e diversas situações de vias adicionais. Uma forma de contornar alguma dificuldade é organizar a informação em quadros Excel. O Excel não comunica com o ISPOL, por isso arranja-se um canal de comunicação, a programação em Python. Com alguma experiência na programação, criar um script que realize o que pretendemos não leva assim tanto tempo. Como primeiro passo, ter um ficheiro de Excel com a informação estruturada. Os dados principais podem ser introduzidos com leituras de PKDist do ISPOL e copiados para o Excel. Pode-se ter umas fórmulas nas células para calcular as transições. Cada folha de Excel é relacionada a um eixo. O script ao início pede o número de eix...

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.

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

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

Excel - Executar programas externos

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

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