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
Enviar um comentário
Obrigado pelo seu contacto.