Mensagens

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:

C# - Autocad Plugins

Imagem
C# - Autocad Plugins O código de um plugin pode tornar-se bastante complexo, caso se tenham de despistar todas as hipoteses de input do utilizador, e de cálculo. No plugin que estou a desenvolver, o cálculo teórico para o caso ideal é simples. No entanto para poder prever os casos de inputs do utilizador e as hipoteses de cálculo, adiciona-se um grau de complexidade a todo o programa. Por agora, e para não dizer muito, se quisermos desenhar um círculo ou arco tangentes a dois segmentos o caso aqui apresentado parece simples: No entanto se pensarmos que o utilizador pode dar com a geometria acima, os segmentos em sentidos diferentes, temos já um grau de complexidade. Mais o sector onde se deseja realizar o desenho, é mais um grau de complexidade. Depois nem todos os métodos proporcionados pela API no Autocad servem. Por exemplo se os segmentos não se cruzarem em desenho, alguns métodos do CAd não servem. Para ter o controlo e despistar mais este caso anteriormente referido, criei vários...

Javascript - PRL para XLS (sobrelevações de ISPOL para Excel)

Imagem
Javascript - PRL para XLS (sobrelevações de ISPOL para Excel) Esta é uma refactoração do programa que transforma os dados em texto em dados de Excel. Já tinha feito o programa para transformar os dados exportados desde o ISPOL de formato sobreelevação para Excel. No entanto ao trabalhar agora com a folha de cálculo vi que algumas células eram exportadas como texto, o que dificulta a apresentação da tabela. A interface continua a mesma de antes: No entanto como agora se exportam todos os dados como número é fácil formatar a tabela na folha de cálculo com os decimais desejados e o aspecto visual que seja conveniente. No caso do exemplo, estou a usar o LibreOffice Calc:

C# - Conversor de ângulos (2)

Imagem
C# - Conversor de ângulos Este é um programa que faço em várias linguagens de programação. Esta versão é semelhante a uma que fiz no final de 2022 na mesma linguagem. Uma das operações na engenharia é converter entre várias unidades angulares. Além das tradicionais entre sistema angulares de graus (0-360) e grados (0-400) já necessitei de recorrer a aplicações Web para converter coordenadas planas em geográficas, e o resultado estar num formato decimal ou sexagesimal, e ter de converter para o outro. E para isso usei um programa semelhante ao que se apresenta hoje. É um programa para consola, ou CLI, ou se quiserem em modo MS-DOS. A janela inicial é a que fica a aguardar um valor de entrada: O programa nesta fase analisa a validade dos dados, e determina se o input é feito em decimais ou sexagesimais. No caso do exemplo acima, é um ângulo em decimal, e não temos de indicar as unidades iniciais. Assim oferece as várias possibilidades, se entramos um valor em graus ou grados: outra opção...

C# - Validação de dados básica

Imagem
C# - Validação de dados básica A validação dos dados introduzidos pelo utilizador é uma operação essencial. Embora os programas que faço são maioritariamente para consumo interno, fica bem ter algum despiste inicial de erros de introdução, a validação de dados pode servir não só para aprovar o número / texto introduzido mas também para evitar alguma incoerência no cálculo. No presente projecto de CSharp li que podemos dar o ! como negação, como se faz também em Javascript: Tendo um conjunto prévio de booleanos preparados para serem True, caso um dos testes dê False temos o nosso ponto de controlo. E assim se vai construindo mais alguma coisa...

C# - Informação Geotécnica para pente

Imagem
C# - Informação Geotécnica para pente Este plugin para CAD faz uma tarefa simples mas bastante útil, substitui o texto pelo contido num ficheiro. Este plugin para Autocad, programado em CSharp, já tem algum tempo, meses, no entanto com um dos projectos actuais, continua a ser útil. É uma daquelas situações que fica "pago" rapidamente. A tarefa é aparentemente simples, ler um ficheiro de texto desde o disco, identificar palavras chave no pente desenhado e substituir pelo texto correspondente. Na preparação do ficheiro há um procedimento no ISPOL que intervala as palavras chave, e a formatação correcta do ficheiro de texto. O utilizador, não precisa de fazer um copy paste do texto, situar o mesmo no local certo, que pode ser variável com a escala e saídas diferentes. O primeiro passo prático é carregar o plugin, executar a ordem e procurar o ficheiro de texto: Este é um conteúdo de exemplo do ficheiro: O resultado final é este: O texto que aqui aparece na vertical, está situado...

C# - Ler ficheiro Excel sem ter o Excel

Imagem
C# - Ler ficheiro Excel sem ter o Excel Nesta experiência, codifiquei um leitor de dados para um ficheiro Excel, num computador com Excel e depois noutro sem o Excel. No computador do trabalho, tenho o pacote Office, e nas minhas experiências de código, entre C# e JS estava a programar algo que lesse os dados de uma folha Excel, e os transformasse depois noutro tipo de dados, para serem lidos no ISPOL. No computador com Excel, funciona bem. Fiz uma interface básica ao estilo MS-DOS, que cumpre os mínimos, já que deixámos de ter acesso ao Visual Studio. Ao escolher o ficheiro sobre o qual se vai trabalhar o programa funciona e guarda num ficheiro de texto a informação necessária: Mas ao correr o mesmo programa (compilado previamente e tendo as DLLs) este não funciona: Não é muito grave, já que o uso principal será em contexto de trabalho. Noutras experiências que fiz, com programação JS (Browser Based App) funciona sem ter o Excel, já que se recorre a uma livraria externa, online. Ainda...