Estou tentando desenvolver um plugin do AutoCAD usando a API do AutoCAD .NET, mas estou enfrentando um problema sério com referências de DLL. Estou constantemente recebendo erros CS0246 e similares "tipo ou namespace não encontrado" e não consigo prosseguir. Eu realmente apreciaria a ajuda de qualquer pessoa experiente nessa área.
Meu objetivo : Quero gerenciar dinamicamente dados de atributos de bloco dentro do AutoCAD e construir um sistema de detalhamento de vergalhões personalizado via .NET. Tenho feito isso há muito tempo usando o AutoLISP, mas agora quero construir um sistema mais estável e confiável usando .NET.
Ambiente:
Versões do AutoCAD testadas: 2021, 2023, atualmente testando com 2017
Visual Studio: Comunidade 2022 (versão mais recente)
.NET Framework: 4.8
Plataforma Alvo: x64
DLLs referenciadas:
acmgd.dll
acdbmgd.dll
(Referenced from: C:\Program Files\Autodesk\AutoCAD 2023)
Erro:
CS0246: O tipo ou nome do namespace 'CommandMethod' não pôde ser encontrado
CS0246: O tipo ou nome do namespace 'Editor' não pôde ser encontrado
CS0246: O tipo ou nome do namespace 'Document' não pôde ser encontrado
CS0117: 'Application' não contém uma definição para 'DocumentManager'
Suspeito que esteja relacionado a namespaces ausentes ou DLLs carregadas incorretamente, mas não consegui encontrar uma solução sólida.
Qualquer conselho ou configuração de exemplo funcional seria muito apreciado. Obrigado antecipadamente a qualquer um disposto a ajudar!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using System.Xml.Linq;
namespace DonatiOtomatik
{
public class DonatiKomut
{
[CommandMethod("TESTKOMUT")]
public void Yazdir()
{
Document doc = Application.DocumentManager.MdiActiveDocument;
Editor ed = doc.Editor;
ed.WriteMessage("\nMerhaba .NET dünyası!");
}
}
}