Biblioteca profissional e suíte modular de plugins e automações para AutoCAD 2022, desenvolvida em C# e .NET Framework 4.8 com foco em projetos de Arquitetura e Engenharia.
O AutoCADTools foi concebido como uma base modular, escalável e de longo prazo para eliminar tarefas manuais e repetitivas nos projetos técnicos de CAD. Seu objetivo é estruturar uma biblioteca padronizada que suporte futuras ferramentas especializadas em:
- Arquitetura (paredes, esquadrias, áreas, paginações);
- Projetos Elétricos e Hidráulicos (diagramas, tabelas de cargas, tubulações);
- Estrutural (eixos, armações, perfis);
- Manipulação de Layers, Blocos, Textos e Cotas;
- Viewports, Layouts e automação de pranchas;
- Seleção e filtragem avançada de entidades no DWG;
- Padronização e auditoria técnica de desenhos.
Nesta fase de fundação, o foco é estabelecer uma arquitetura desacoplada, segura e com testes automatizados.
- Versão Atual:
0.1.0(Fase 0 — Foundation concluída). - Estado: Infraestrutura base consolidada, CI configurado, suíte de 31 testes unitários aprovados e comando inicial de validação (
AT_INFO) implementado e funcional.
- Alvo Primário: AutoCAD 2022 (versão interna
R24.1, release24.1.x). - Arquitetura:
x64(64-bit obrigatório).
- Linguagem: C# 10.0.
- Framework: .NET Framework 4.8 (
net48). - API Host: AutoCAD Managed .NET API (
accoremgd.dll,acdbmgd.dll,acmgd.dll). - Pacote de Compilação:
AutoCAD.NETversão24.1.51000(referência oficial Autodesk via NuGet). - Testes: xUnit 2.9.3 + Microsoft.NET.Test.Sdk.
- Build System: MSBuild / .NET SDK (SDK-style projects).
Para compilar e executar o projeto em ambiente local:
- Sistema Operacional Windows 10 ou 11 (64-bit);
- AutoCAD 2022 instalado;
- .NET Framework 4.8 Developer Pack (Targeting Pack);
- .NET SDK 8.0 ou superior;
- Visual Studio 2022 (Community, Professional ou Enterprise) com a carga de trabalho .NET Desktop Development ou Antigravity IDE / VS Code.
-
Clone o repositório:
git clone https://github.com/igorfelib/AutoCADTools.git cd AutoCADTools -
Restaure as dependências via CLI:
dotnet restore AutoCADTools.sln
-
(Opcional) Caso seu AutoCAD 2022 esteja instalado fora do caminho padrão
C:\Program Files\Autodesk\AutoCAD 2022, crie um arquivo localAutoCAD.Local.propsna raiz:<Project> <PropertyGroup> <AutoCADPath>D:\SeuCaminho\AutoCAD 2022</AutoCADPath> </PropertyGroup> </Project>
# Compila em Release (x64)
.\scripts\build.ps1 -Configuration Release
# Executa todos os testes unitários
.\scripts\test.ps1 -Configuration Releasedotnet build AutoCADTools.sln -c Release
dotnet test AutoCADTools.sln -c Release- Inicie o AutoCAD 2022 e abra qualquer desenho (
.dwg). - Digite o comando:
NETLOAD - Navegue até a pasta do build e selecione:
src\AutoCADTools.Plugin\bin\x64\Release\net48\AutoCADTools.Plugin.dll - Observe a mensagem de inicialização no prompt:
[AutoCADTools v0.1.0] Inicializado com sucesso! Digite 'AT_INFO' para informacoes e comandos.
- Execute o script de empacotamento:
.\scripts\package-bundle.ps1 - Copie a pasta gerada
distribution/AutoCADTools.bundlepara a pasta de plugins do usuário:%APPDATA%\Autodesk\ApplicationPlugins\ - Ao abrir o AutoCAD 2022, o plugin será carregado automaticamente na inicialização.
O projeto adota os princípios da Clean Architecture, dividindo estritamente as responsabilidades:
graph LR
Core["AutoCADTools.Core\n(Domínio Puro / Cálculos / Unidades)"]
AutoCAD["AutoCADTools.AutoCAD\n(Integração API / Transações / Locks)"]
Plugin["AutoCADTools.Plugin\n(Comandos AT_* / IExtensionApplication)"]
Tests["AutoCADTools.Core.Tests\n(Testes xUnit Automatizados)"]
Plugin --> AutoCAD
Plugin --> Core
AutoCAD --> Core
Tests --> Core
AutoCADTools.Core: Lógica pura e algoritmos independentes do AutoCAD. Não referencia nenhuma biblioteca Autodesk. 100% testável fora do processo do CAD.AutoCADTools.AutoCAD: Encapsulamento de banco de dados DWG (Database), transações atômicas (ExecuteInTransaction),DocumentLocke manipulação de Editor.AutoCADTools.Plugin: Ponto de entrada (EntryPoint), registro em catálogo e métodos[CommandMethod].AutoCADTools.Core.Tests: Suíte automatizada de validação.
Consulte o documento completo em docs/architecture/overview.md.
/
├── src/
│ ├── AutoCADTools.Core/ # Regras de negócio puras, geometria e unidades
│ ├── AutoCADTools.AutoCAD/ # Integração transacional e adaptadores Autodesk
│ └── AutoCADTools.Plugin/ # Ponto de entrada, lifecycle e comandos AT_*
│
├── tests/
│ └── AutoCADTools.Core.Tests/ # Testes unitários com xUnit
│
├── distribution/
│ └── AutoCADTools.bundle/ # Especificação Autoloader (PackageContents.xml)
│
├── docs/
│ ├── architecture/ # Visão arquitetural e ADRs formais
│ ├── development/ # Guias de setup, novos comandos e debug
│ ├── commands/ # Catálogo detalhado de comandos
│ └── references/ # Referências técnicas oficiais da Autodesk
│
├── scripts/ # Scripts de automação (build, test, package)
│
├── .agents/ # Governança de IA (regras, subagente, skills)
│ ├── rules/
│ ├── agents/
│ └── skills/
│
├── .github/ # Automações de CI e templates de colaboração
│
├── Directory.Build.props # Configuração centralizada do MSBuild
├── Directory.Build.targets # Supressão de cópia de DLLs proprietárias
├── AutoCADTools.sln # Solução principal
├── README.md # Documentação geral
├── CONTRIBUTING.md # Guia de contribuição
├── CHANGELOG.md # Histórico de versões
├── LICENSE # Licença de uso (MIT)
├── AGENTS.md # Regras mestras para agentes e LLMs
└── .editorconfig # Padrões de formatação de código
| Comando | Descrição | Domínio | Status |
|---|---|---|---|
AT_INFO |
Exibe diagnóstico completo, versões detectadas do AutoCAD e do plugin, layer atual e unidades DWG. | Diagnóstico | Ativo (v0.1.0) |
AT_LAYER_AUDIT |
Audita layers do DWG, computa estatísticas e aponta layers não utilizados. | Layers / Auditoria | Ativo (v0.2.0) |
AT_LAYER_LIST |
Lista todos os layers em tabela formatada com cores, tipos de linha, uso e estados. | Layers / Produtividade | Ativo (v0.2.0) |
Para especificações detalhadas de cada comando, consulte docs/commands/.
- Estrutura da solução e projetos desacoplados;
- Build configurado para AutoCAD 2022 (.NET 4.8 / x64);
- Isolamento de dependências via NuGet oficial (
AutoCAD.NET); - Regras permanentes de governança e agente especialista (
AGENTS.md); - Workflow GitHub Actions para CI;
- Comando de validação inicial (
AT_INFO); - Suíte de testes unitários automatizados (31 testes aprovados).
- Infraestrutura de auditoria e inspeção de Layers (
ILayerService,LayerService); - Identificação nativa de layers não utilizados via
Database.Purge; - Comandos de produtividade de layers (
AT_LAYER_AUDIT,AT_LAYER_LIST); - Helpers transacionais avançados e seletores tipados por
DxfCode; - Utilitários de manipulação de Layers (criação em lote, purgação seletiva);
- Utilitários de inspeção de blocos dinâmicos e atributos.
- Módulo de Arquitetura (cálculo de áreas de ambientes, cotas automáticas);
- Módulo de Elétrica e Hidráulica (contagem de símbolos, circuitos);
- Módulo de Estruturas e Perfis.
- Instalador automatizado MSI / Inno Setup;
- Custom Ribbon e menus de contexto no AutoCAD.
Contribuições são muito bem-vindas! Por favor, leia nosso Guia de Contribuição para detalhes sobre nosso fluxo de trabalho, padrões de código e diretrizes de submissão de Pull Requests.
Este projeto é licenciado sob a licença MIT — veja o arquivo LICENSE para mais detalhes.