Mensagens

A mostrar mensagens com a etiqueta dll

CSharp - Desenho de Aparelhos de Mudança de Via simples (parte 2)

Imagem
CSharp - Desenho de Aparelhos de Mudança de Via simples (parte 2) A criação de um plugin para desenhar AMVs em Autocad. Nesta segunda parte, a evolução de um plugin que desenha o AMV com formas simples, linhas e círculos para um que desenha por blocos. O prompt aceita o aparelho esquerdo: O desenho dos AMV fica orientado com os dois pontos inciais dados pelo utilizador, o primeiro insere o bloco e o segundo orienta. Abaixo observa-se um AMV esquerdo e um direito, o nome do bloco e a colocação num layer. Um extrato do código C# que faz a montagem do bloco. Com este plugin é fácil encadenar sucessivos AMVs num feixe de vias. É uma das aplicações práticas. O plugin é criado na linha de comandos com o compilador de C# CSC. No processo anexam-se os ficheiros essenciais à manipulação do CAD. Portanto não é necessária uma solução complexa com o Visual Studio. Por outro lado inibe-se a criação de plugins com interface de janelas, o que pode ser alcançado por exemplo por Javascript, que pode se...

CSharp - Desenho de Aparelhos de Mudança de Via simples (parte 1)

Imagem
CSharp - Desenho de Aparelhos de Mudança de Via simples (parte 1) A criação de um plugin para desenhar AMVs em Autocad. Uma das criações em curso é um plugin para Autocad que permita desenhar os AMVs. Isto pode ser feito em AutoLisp em alternativa ao CSharp. Alternativas como o Pyautocad não permitem uma interação com o desenho, são mais para automatismos com coordenadas fixas. O Javascript seria uma opção válida, penso eu. Para a criação desde plugin, usei o Csharp e o compilador na linha de comandos CSC, que gera um ficheiro DLL. Ao executar no CAD "netload" abrimos a localização do plugin: Ao escrever depois o comando "AMV" temos as várias opções (ainda não estão todas desenvolvidas): O desenho que se obtém é o seguinte: Como se pode ver coloca os elementos num layer adequado ao tipo de AMV. Neste momento gera entidades por separado, o próximo passo é gerar um bloco para cada AMV. O desenho seguinte é apenas uma comprovação. Há que testar o desenho em vários quad...

CSharp - Dividir o código por DLL

Imagem
CSharp - Dividir o código por DLL Uma das formas de dividir e organizar o código pode ser pela criação de DLL, e estes podem ser aproveitados para vários projectos. A criação de Bibliotecas DLL (biblioteca de vínculo dinâmico  microsoft )  pode ser uma forma de dividir e organizar o código. As DLL funcionam como um módulo externo, um conjunto de código que se coloca num ficheiro diferente do principal. Com esta organização podemos também reaproveitar o código das DLL para outros projectos. Por exemplo uma biblioteca semelhante à apresentada no exemplo pode servir para vários projectos de engenharia. Existem muitos assuntos relacionados com as DLL nos quais não vamos entrar aqui, inclusive o uso de DLL programadas em linguagens diferentes. Exemplo: O caso presente envolve dois ficheiros, um como se fosse o código principal, e um secundário que contém o código para a DLL. teste_ang.cs é o ficheiro principal ConverteAngulosDLL.cs é o ficheiro que vai dar origem ao DLL (os no...

C# - Biblioteca conversores ângulos

Imagem
C# - Biblioteca conversores ângulos Uma biblioteca tanto serve para organizar código como para montar um portefólio de funções. Montar uma biblioteca em Csharp assim como noutras linguagens serve para dar uma organização ao código, reaproveitar funções ou métodos e ir montando um conjunto de funções que se usam e estão personalizadas ao tipo de projectos que recorremtemente o programador usa. Para o programa de exemplo, um conversor de ângulos, converte ângulos para os diversos sistemas angulares, há que montar um código que faz o trabalho de fundo e um código que se encarrega do fluxo geral do programa. Por exemplo posso dizer em dada altura que quero converter alguma coisa, com esta frase: Esta é perfeitamente legível. No entanto o background que está ali é muito maior, pois recorre a um DLL onde se situam estas funções, com todo o código necessário. Um aspecto geral do DLL: A título de exemplo, veja-se os ficheiros que tenho na pasta desde exercício, onde se pode localizar o DLL e o...

C# - Criar biblioteca externa

Imagem
C# - Criar biblioteca externa Criar uma biblioteca é uma forma de organizar e reutilizar o código. As bibliotecas DLL (Dynamic Link library) são muito comuns nestas linguagens de programação. or exemplo temos algumas para trabalhar com o Excel, outras para o Autocad, e porque não uma DLL própria com algumas funções à medida. Para criar uma DLL há que compilar o código para um target DLL, e depois no ficheiro de trabalho referenciar esta DLL. No entanto neste exercício vi que existem alguns truques, é um pouco diferente dos módulos de Python. O esquema / imagem abaixo ilustra o modo de funcionamento perfeitamente. À esquerda o código da DLL e à direita o código do ficheiro de trabalho. O ficheiro DLL chama-se Maths.dll e o de trabalho teste.exe Aqui alguns comandos para que tudo funcione: Mesmo sem usar o pesado Visual Studio conseguem-se fazer coisas interessantes. Posso por exemplo fazer uma biblioteca para conversores de unidades angulares, ou para qualquer coisa de topografia. Ou o...