Mensagens

C# - Plugin para Autocad - Muito mais que programar

Imagem
C# - Plugin para Autocad - Muito mais que programar A programação de plugins para CAD em CSharp, não se resume apenas a programar na linguagem, há outros problemas específicos a resolver. Tornando-se numa tarefa altamente qualificada e específica. Nos exercícios "teóricos" de programação, o foco é na linguagem, algoritmos etc. No entanto na aplicação da linguagem à criação de plugins, aparecem problemas adicionais. Por exemplo no caso de engenharia de vias, a transformação de uma listagem de uma directriz, em ISPOL, para um desenho de CAD engloba problemas adicionais. O desenho dos alinhamentos rectos e curvos (circulares) é já por sí um desafio. No que toca depois ao desenho de curvas de transição (clotóides) aumenta ainda mais o grau de complexidade. Há que atender à multiplicidade de casos de encadeamento de tipos de alinhamentos diferentes (Recta - Clotoide - Circular; Clotóide -Clotóide; Circular - Clotóide - Recta ... ) e de azimutes variados... Um caso de encadeamento ...

C# - Compiladores

Imagem
C# - Compiladores Ao correr programas com String Interpolation, o compilador C# para a linha de comandos dá erro. A solução passa por instalar um compilador .Net Ao tentar compilar um programa com o CSC aparece o erro pois não reconhece o String Interpolation: Pelo meio, pensei que instalar o Mono resolveria, mas não: Ao executar o comando de Dotnet Build indica a sua inexistência e oferece o link para o site: Instalei o .NET 8.0 SDK para x64: O primeiro passo é criar uma estrutura de projecto. Escrevi teste e o programa criou a estrutura numa pasta TESTE, que por acaso fica dentro da qual eu estava a experimentar coisas... Movendo para essa pasta e executar o comando Build, o .NET compila o programa: Para criar um executável, tentei primeiro preencher a linha de comandos como num exemplo que vi, mas não resultou, então eliminei as opções adicionais, penso que o programa identifica o sistema presente: Executar o .\ para poder correr o programa. Aqui houve uma alteração, como não indiq...

JS - Viadutos Excel - ISPOL

Imagem
JS - Viadutos Excel - ISPOL Ler dados do Excel e passar a informação para o ISPOL é um ganho de produtividade e organização. Na sequência do post anterior, com foco em CSharp, desta vez o exercício é semelhante mas feito em tecnologias WEB, Javascript HTML CSS. A vantagem em relação ao CSharp (sem frameworks apenas com o compilador de linha de comandos) é o JS (chamamos assim a este pacote de tecnologias para efeitos deste texto) pode oferecer um ambiente gráfico construído de forma mais simples. Para os trabalhos que não sejam necessária uma performance fantástica ou interação com programas como o Autocad, o JS oferece um ambiente de desenvolvimento mais rápido. O input é o mesmo, uma folha de cálculo organizada, a mesma do post anterior, mas aqui lida usando o LibreOffice Calc: Com esta base, constrói-se o programa de leitura da folha de cálculo, esta em formato Excel, recorrendo a uma livraria online, por isso o programa verifica se a ligação à web está activa. Acima o display da in...

C# - Viadutos Excel - ISPOL

Imagem
C# - Viadutos Excel - ISPOL Ler dados do Excel e passar a informação para o ISPOL é um ganho de produtividade e organização. Desta vez, apresento uma utilidade que lê um ficheiro Excel, e transforma os dados para o menu de estruturas do ISPOL. Partindo de um Excel organizado, por pks eixos e espessuras da estrutura etc... como o seguinte: Elaborei um programita em CSharp: Este programa funciona em modo "DOS" não tem uma interface gráfica de janelas: O programa cria os ficheiros necessários, o Excel pode estar organizado por eixos, e o programa guarda um ficheiro para cada eixo: O resultado depois de abrir o ficheiro em ISPOL é o seguinte: Com as alterações ao projecto pode-se manter um ficheiro de apresentação e controlo em Excel.

C# - Autocad Plugin Unifilar

Imagem
C# - Autocad Plugin Unifilar O desenho de um esquema unifilar pode ser repetitivo e fastidioso, uma boa desculpa para criar um plugin para auxiliar no desenho. Este é um plugin para Autocad, que funciona sem leitura de dados externa ao CAD (poderia ler algo de Excel), e que na fase actual desenha as simbologias de Viadutos; Passagens Superiores; túneis ...  As ilustrações abaixo referem-se apenas ao desenho de viadutos. Tendo como base uma(s) linhas do esquema unifilar: Posso desenhar umas linhas auxiliares (ou outro tipo de referência) para situar o desenho do viaduto: Abro o plugin, executo o comando VIADUTO e pico nas linhas limites: E o programa desenha a simbologia adequada, separando por layers: Neste estágio de desenvolvimento o utilizador depois corrige os textos e PKs manualmente. Este caso poderia também ser resolvido com um bloco dinâmico. Cumprimentos.

C# - Medições de Excel para CAD - ODTs

Imagem
C# - Medições de Excel para CAD A automatização de mais um processo, desta vez envolvendo Excel e Autocad. O objectivo do exercício é passar as quantidades que estão organizadas numa folha de Excel, para um desenho de CAD. No caso, são várias folhas com um 1 km de traçado, e várias folhas com 5 km de traçado. O ficheiro Excel com as quantidades está preenchido e minimamente formatado. Como posso receber outra versão (diferente) do mesmo ficheiro em Excel, optei por fazer um pré-processamento dos dados, organizando-os por grupos segundo as folhas que quero e colocando já a informação para o script de cada folha. Com esta informação organizada, posso executar o programa que abre o Excel, e grava os ficheiros Script, um para cada folha. No disco fica um script, que em cada folha de CAD aberta, é executado e assim completa o trabalho com pouca intervenção humana.

C# - Autocad Plugin Arco

Imagem
C# - Autocad Plugin Arco Este plugin permite calcular o raio que cumpre determinado desenvolvimento de um arco tangente a dois alinhamentos. Este plugin foi programado em C# para Autocad. O utilizador indica duas linhas, o desenvolvimento e a região (quadrante) e o programa realiza os cálculos necessários e desenha o arco. Tem cerca de 700 linhas de código, inclui vários conhecimentos prévios, e transporta para o futuro outros conhecimentos, é um processo contínuo e acumulativo. O utilizador, pica na primeira linha, na segunda linha, depois é-lhe perguntado qual o desenvolvimento do arco de circunferência, e finalmente a região onde se vai realizar o cálculo. A selecção da região serve para abreviar um pouco o cálculo interno. Podia ser feita de otra forma, mas por simplicidade foi escolhi que se picasse num ponto. Os desenhos são organizados por layers. O resultado final com todos os layers ligados será este: