Você está aqui: AutoCAD Civil 3D .NET C# ::: Dicas & Truques ::: Sites (Locais, Loteamentos)

Como pesquisar um loteamento por nome no AutoCAD Civil 3D usando C# e uma função personalizada GetSiteByName()

Quantidade de visualizações: 291 vezes
Nesta dica mostrarei como podemos escrever uma função C# personalizada chamada GetSiteByName() que nos permitirá pesquisar e retornar sites no AutoCAD Civil 3D de acordo com o seu nome.

Nome que a função aceita como primeiro argumento um objeto da classe CivilDocument e, como segundo argumento, uma string representando o nome do loteamento que queremos encontrar. O retorno da função é um objeto Site.

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

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

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

      // vamos pesquisar um loteamento chamado "LOTEAMENTO SETOR SUL"
      string nome = "LOTEAMENTO SETOR SUL";

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

          // e mostramos o resultado
          if (site == null) {
            editor.WriteMessage("\nO loteamento não foi encontrado.");
          }
          else {
            editor.WriteMessage("\nO id do loteamento pesquisado é: " +
              site.Id);
          }
        }
        catch (System.Exception e) {
          // handle bad file path 
          editor.WriteMessage("Erro: {0}", e.Message);
        }
      }
    }

    // função C# que retorna site por nome, ou null em
    // caso de não encontrar o site desejado
    public Site GetSiteByName(CivilDocument doc, string nome) {
      // vamos declarar um objeto da classe Site 
      Site site = null;

      // agora vamos obter os ids de todos os sites
      ObjectIdCollection sites = doc.GetSiteIds();

      // vamos percorrer todos os ids de sites retornados
      foreach (ObjectId id_site in sites) {
        site = id_site.GetObject(OpenMode.ForRead) as Site;
        // encontramos o site
        if (site.Name.Equals(nome)) {
          return site;
        }
      }

      // retorna null se o site não for encontrado
      return null;
    }

    public void Initialize() {
      // pode deixar em branco
    }

    public void Terminate() {
      // pode deixar em branco
    }
  }
}

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

O id do loteamento pesquisado é: (2369904896256)

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á 23 usuários muito felizes estudando em nosso site.