Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: AutoCAD .NET API C# ::: Dicas & Truques ::: Layer, Layers

Como listar todas as layers de um documento do AutoCAD usando a coleção LayerTable da AutoCAD .NET API C#

Quantidade de visualizações: 382 vezes
Em algumas situações nós precisamos exibir os nomes das layers de um documento do AutoCAD. Para isso nós podemos usar a coleção LayerTable da AutoCAD .NET API C#. Esta coleção é obtida a partir de uma chamada à função GetObject() da classe Transaction passando como argumento o LayerTableId da classe Database.

Veja como usamos um laço foreach para percorrer todos os elementos da LayerTable. Dentro do laço nós obtemos cada layer de forma individual usando a classe LayerTableRecord e mostramos o seu nome a partir da propriedade Name.

Veja o código AutoCAD .NET C# 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;

      // 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 percorremos todas as layers e mostramos os seus nomes
        foreach (ObjectId id_layer in tabela_layers) {
          LayerTableRecord layer;
          // obtemos a layer a partir do seu id
          layer = trans.GetObject(id_layer, OpenMode.ForRead) as 
            LayerTableRecord;

          // e exibimos o nome da layer
          doc.Editor.WriteMessage("\n" + layer.Name);
        }
        doc.Editor.WriteMessage("\n");
      }
    }
  }
}

Ao executar este código AutoCAD .NET C# API nós teremos o seguinte resultado na janela de comandos:

0
PAREDES
JANELAS
COLUNAS
PORTAS

Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de AutoCAD .NET API C#

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 40 usuários muito felizes estudando em nosso site.