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 Civil 3D .NET C# ::: Dicas & Truques ::: Alinhamento - Alignment

Como listar os tipos de entidades de um alinhamento do Civil 3D usando a AlignmentEntityCollection da AutoCAD Civil 3D .NET API

Quantidade de visualizações: 231 vezes
Nesta dica mostrarei como podemos listar os tipos de entidades de um alinhamento do Civil 3D. Como sabemos, um alinhamento é composto por retas e curvas, ou seja, objetos Line e Arc (Curve). É claro que podemos ter entidades mais complexas, mas estas duas são as que encontramos com mais frequência.

Você pode ver as entidades de um alinhamento selecionando-o e indo no botão Geometry Editor e, em seguida, na opção Alignment Grid View. Uma janela Panorama será exibida contendo as entidades do alinhamento, juntamente com seus tipos, parâmetros, restrições, etc.

Nessa dica eu mostrarei como retornar os tipos de todas as entidades de um alinhamento de duas formas. Na primeira nós vamos percorrer a coleção AlignmentEntityCollection e retornar cada entidade como um objeto AlignmentEntity. Então, para mostrar o tipo da entidade, nós vamos acessar sua propriedade EntityType.

Veja o código AutoCAD Civil 3D .NET C# completo para o exemplo:

using System;
using Autodesk.AutoCAD.Runtime;
using Autodesk.Civil.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.Civil.DatabaseServices;
using System.IO;

namespace Estudos {
  public class Class1 : IExtensionApplication {
    [CommandMethod("Alinhamento")]
    public void Alinhamento() {
      // vamos obter uma referência ao documento atual do Civil 3D
      CivilDocument doc = CivilApplication.ActiveDocument;

      // obtemos o editor
      Editor editor = Application.DocumentManager.MdiActiveDocument.Editor;

      // vamos pesquisar o alinhamento chamado "EIXO DA RODOVIA"
      string nome = "EIXO DA RODOVIA";

      // vamos iniciar um nova transação
      using (Transaction ts = Application.DocumentManager.MdiActiveDocument.
        Database.TransactionManager.StartTransaction()) {
        try {
          // efetuamos uma chamada ao método GetAlignmentByName() passando
          // o documento atual do AutoCAD Civil 3D e o nome do alinhamento
          // que queremos encontrar
          Alignment alinhamento = GetAlignmentByName(doc, nome);

          // ops, o alinhamento não foi encontrado
          if (alinhamento == null) {
            editor.WriteMessage("\nO alinhamento não foi encontrado.");
          }
          else {
            // vamos listar os tipos de todas as entidades
            // deste alinhamento
            for (int i = 0; i < alinhamento.Entities.Count; i++) {
              AlignmentEntity entidade = alinhamento.Entities[i];
              // e mostramos o tipo da entidade do alinhamento
              editor.WriteMessage("\nTipo: " + entidade.EntityType
                + "\n");


Ao executar este código AutoCAD Civil 3D C# .NET nós teremos o seguinte resultado:

Tipo: Line
Tipo: Line
Tipo: Arc
Tipo: Line
Tipo: Arc
Tipo: Line
Tipo: Line
Tipo: Arc

O problema com o código acima, é que as entidades são retornadas fora da ordem. Para corrigir isso nós podemos lançar mão da função GetEntityByOrder(). Veja:

// vamos listar os tipos de todas as entidades
// deste alinhamento
for (int i = 0; i < alinhamento.Entities.Count; i++) {
  AlignmentEntity entidade = alinhamento.Entities.GetEntityByOrder(i);
  // e mostramos o tipo da entidade do alinhamento


Agora o resultado será:

Tipo: Line
Tipo: Arc
Tipo: Line
Tipo: Arc
Tipo: Line
Tipo: Line
Tipo: Arc
Tipo: Line

Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de AutoCAD Civil 3D .NET 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á 34 usuários muito felizes estudando em nosso site.