Você está aqui: AutoCAD .NET API C# ::: Dicas & Truques ::: Selection, Seleção |
Como selecionar um único objeto no AutoCAD usando a função GetEntity() do objeto Editor da classe Document da AutoCAD .NET C# APIQuantidade de visualizações: 357 vezes |
Em algumas situações nós precisamos que o usuário selecione um objeto na área de desenho do AutoCAD. No entanto, queremos que essa seleção seja única, ou seja, apenas uma entidade deve ser selecionada. Para isso nós podemos usar a função GetEntity() do objeto Editor da classe Document da AutoCAD .NET C# API. O primeiro passo é obter uma referência ao documento atual do AutoCAD usando Application.DocumentManager.MdiActiveDocument. Em seguida obtemos a base de dados usando doc.Database. Antes de pedir para o usuário selecionar a entidade nós precisamos de um objeto PromptEntityOptions. Após isso nós chamamos a função doc.Editor.GetEntity() e retornamos um objeto PromptEntityResult. De posse do id do objeto selecionado nós efetuamos uma chamada à função GetObject() da classe Transaction para retornar um objeto Entity, o qual exibimos o seu nome usando GetRXClass().Name. Para finalizar nós convertemos a Entity em um objeto Line para mudarmos a sua cor usando ColorIndex. O valor passado para a cor foi 1, ou seja, a cor vermelha. Veja o código AutoCAD C# .NET API completo para o exemplo: using System; using Autodesk.AutoCAD.Runtime; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.Geometry; using Autodesk.AutoCAD.EditorInput; [assembly: CommandClass(typeof(PluginEstudos.Class1))] namespace PluginEstudos { public class Class1 { [CommandMethod("estudos")] public void Estudos() { // vamos obter o documento atual Document doc = Application.DocumentManager.MdiActiveDocument; // vamos obter a base de dados Database db = doc.Database; // opções da seleção PromptEntityOptions opcoes = new PromptEntityOptions("\nSelecione uma linha: "); // obtemos o resultado da seleção PromptEntityResult resultado = doc.Editor.GetEntity(opcoes); // a seleção foi feita com sucesso if (resultado.Status != PromptStatus.OK) { Application.ShowAlertDialog("Nenhum elemento selecionado."); return; } // obtemos o id do objeto selecionado ObjectId id_objeto = resultado.ObjectId; Ao executar este plug-in AutoCAD .NET C# API nós teremos o seguinte resultado: Nome da entidade: AcDbLine [Pinta a linha de vermelho] |
![]() |
Veja mais Dicas e truques de AutoCAD .NET API C# |
Dicas e truques de outras linguagens |
JavaScript - Como testar se todos os elementos de um array satisfazem uma condição em JavaScript usando a função every() |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |