Você está aqui: AutoCAD .NET API C# ::: Dicas & Truques ::: Layer, Layers |
Como testar se uma layer existe no AutoCAD usando a função Has() da classe LayerTable da AutoCAD .NET API C#Quantidade de visualizações: 496 vezes |
|
Nesta dica mostrarei como podemos usar a função Has() da classe LayerTable da AutoCAD .NET API C# para testar se um determinada layer existe no documento do AutoCAD. Para isso nós vamos usar a função doc.Editor.GetString() para pedir para o usuário informar o nome da layer a ser pesquisada e, em seguida, vamos verificar se a layer existe no documento. A tabela de layers do AutoCAD é representada por um objeto LayerTable, que é obtido usando a função GetObject() da classe Transaction. Observe o uso da função doc.Editor.WriteMessage() para mostrar o resultado da pesquisa na janela de comandos do AutoCAD. Veja o código AutoCAD .NET C# API completo para o exemplo: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
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;
// iniciamos uma transação
using (Transaction trans = db.TransactionManager.StartTransaction()) {
// vamos obter a tabela de layers
LayerTable tabela_layers;
tabela_layers = trans.GetObject(db.LayerTableId,
OpenMode.ForRead) as LayerTable;
// agora vamos pedir para o usuário informar o nome da layer
// a ser pesquisa
// criamos as opções de leitura da entrada do usuário
PromptStringOptions opcoes = new PromptStringOptions("\nNome da layer: ");
// vamos permitir espaços
opcoes.AllowSpaces = true;
// agora pedimos para o usuário digitar a entrada
PromptResult resultado = doc.Editor.GetString(opcoes);
// se o usuário pressionar ESC ou cancelar o comando
if (resultado.Status == PromptStatus.Cancel) {
return;
}
// agora vamos testar se a layer existe
if (tabela_layers.Has(resultado.StringResult)) {
doc.Editor.WriteMessage("\nA layer " + resultado.StringResult +
" foi encontrada com sucesso.");
}
else {
doc.Editor.WriteMessage("\nA layer " + resultado.StringResult +
" não existe.");
}
}
}
}
}
Ao executar este código AutoCAD .NET C# API nós teremos o seguinte resultado: Nome da layer: PAREDES A layer PAREDES foi encontrada com sucesso. |
|
|
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 |





