Você está aqui: AutoCAD .NET API C# ::: Dicas & Truques ::: Linha, Linhas, Comando LINE |
Como pedir para o usuário informar os pontos iniciais e finais de uma linha do AutoCAD usando AutoCad .NET APIQuantidade de visualizações: 261 vezes |
Nesta dica mostrarei como podemos tirar proveito da API .NET do AutoCAD para desenhar uma linha na área de desenho. Para isso nós vamos pedir para o usuário selecionar dois pontos (que podem ser digitados na janela de comando ou clicados). Para a leitura dos pontos nós vamos usar a função Editor.GetPoint() da classe Document. Note que a classe Document é obtida a partir de uma chamada a Application.DocumentManager.MdiActiveDocument, enquanto a base de dados do AutoCAD é obtida via doc.Database. Após a leitura dos dois pontos nós criamos uma nova linha usando o construtor da classe Line, fornecendo os pontos inicial e final. Observe o uso das funções AppendEntity() para adicionar a nova linha na tabela de blocos e a função AddNewlyCreatedDBObject() da classe Transaction para, de fato, exibir a linha na área de desenho do AutoCAD. Veja o código AutoCAD C# 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("lerponto")] public void HelloCommand() { // vamos obter o documento atual Document doc = Application.DocumentManager.MdiActiveDocument; // vamos obter a base de dados Database db = doc.Database; // para guardar o resultado da seleção do ponto PromptPointResult res_ponto; PromptPointOptions opcoes_res_ponto = new PromptPointOptions(""); // pedimos para o usuário informar o ponto inicial opcoes_res_ponto.Message = "\nInforme o ponto inicial da linha: "; res_ponto = doc.Editor.GetPoint(opcoes_res_ponto); Point3d ponto_inicial = res_ponto.Value; // se o usuário pressionar ESC ou cancelar o comando if (res_ponto.Status == PromptStatus.Cancel) { return; } // vamos pedir o segundo ponto opcoes_res_ponto.Message = "\nInforme o ponto final da linha: "; opcoes_res_ponto.UseBasePoint = true; opcoes_res_ponto.BasePoint = ponto_inicial; res_ponto = doc.Editor.GetPoint(opcoes_res_ponto); Point3d ponto_final = res_ponto.Value; // se o usuário pressionar ESC ou cancelar o comando if (res_ponto.Status == PromptStatus.Cancel) { Ao executar este código AutoCAD C# o programa vai pedir para informarmos dois pontos (que podem ser digitados ou escolhidos na área de desenho do AutoCAD) e desenhará uma linha entre eles. |
![]() |
Veja mais Dicas e truques de AutoCAD .NET API C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |