Avançar para o conteúdo principal

Desenvolvimento de Plugins para Autocad / Revit (Opinião)

 Desenvolvimento de Plugins para Autocad / Revit (Opinião)


Para dar um passo na programação além do velho e fiável LISP para Autocad, e agora com a moda do BIM para REVIT, há que ir para o mundo do C# e .NET, nada de novo desde há anos que é assim. Desde há muito que se programa para Autocad em C# ou VisualBasic, com a condicionante que sempre que se muda o "motor" do CAD há que refactorar o código.


Afinal o que é o C#?


Partindo da base C, uma linguagem "primária" de muitas das actuais, a mais próxima da linguagem de máquina das que se usam hoje em dia. O C# (SeeSharp dá uma piada...), é uma evolução da linguagem C++ (SeePlusPlus - evolução da C com suporte a programação orientada a objectos) desenvolvida pela Microsoft como parte da plataforma de "programação" .NET (Dot Net) com forte orientação a objectos. Esta orientação a objectos (imaginemos que são procedimentos já definidos em Autocad...) do C# permite que trabalhe com os objectos de Autocad ou Revit, produzindo no final ficheiros DLL que podem ser carregados com o comando NETLOAD no Autocad, ou que inseridos num pacote de instalção possam ser apresentados como um Plugin para os produtos da Autodesk.


Exemplo da Wikipédia em C#:

using System;


public class ClasseExemplo

{

    public static void Main()

    {

        Console.WriteLine("Olá, Mundo!");

    }

}


Exemplo para apresentar a mensagem Hello World em CAD, copiado de programmersought.com

using System;

using System.Collections.Generic;

using System.Text;

using Autodesk.AutoCAD.ApplicationServices;

using Autodesk.AutoCAD.EditorInput;

using Autodesk.AutoCAD.Runtime;

 

 

namespace HelloWorldCADCsharp

{

    public class Class1

    {

        [CommandMethod("HelloWorld")]

        public void HelloWorld()

        {

            Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;

            ed.WriteMessage("HelloWorldCADCsharp");

        }

    }

}


Só não sou grande apreciador destas criações de plugins para CAD, porque o sistema está sempre a mudar, e é um mundo relativamente fechado. O próprio C# embora tenha amplas aplicações, geralmente é relacionado com os produtos Microsoft e no caso Autodesk (tabém pode ser usado em outras marcas de software), por exemplo em Linux é muio limitado e em MAC desconheço.


Comentários

Mensagens populares deste blogue

ISPOL - Representação de Gabaris

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

Python - Automatização em ISPOL

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

Kinematic Envelope - Vários exemplos

Kinematic Envelope - Vários exemplos Adiciono uma pequena lista de desenvolvimentos sobre o assunto de Gabaritos ferroviários. Para mais informação veja outros posts. AECOM Desenvolvimento no Civil 3D ao que parece, com dynamo. Não se percebe com que norma. https://youtu.be/BdRDICErJJ8?si=0MD8xGx_W1PCG5dP Mehdi Taheri Plataforma independente, não se conhece sobre que normativa. https://www.youtube.com/watch?v=LXUusfK25bs 12D Provavelmente é algo similar à AREMA, 12D é uma empresa da Austrália, creio https://www.youtube.com/watch?v=OQnaDt7IOXw