Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: AutoCAD Civil 3D .NET C# ::: Dicas & Truques ::: Parcels (Parcelas, Lotes, Loteamento)

Como listar todos os lotes de um loteamento do Civil 3D com seus números, ids e áreas usando a classe Parcel da AutoCAD Civil 3D .NET API

Quantidade de visualizações: 193 vezes
Nesta dica mostrarei como podemos usar a API .NET do AutoCAD Civil 3D para acessar um determinado loteamento (site) e listar todos os lotes (parcels) que pertencem a ele.

Note que, no código, mostro como listar os números, ids e áreas de todos os parcels pertencentes ao site escolhido. Para este exemplo eu usei um site chamado "LOTEAMENTO SETOR SUL". Fique atento à função personalizada GetSiteByName() que recebe uma string e retorna o objeto Site correspondente.

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

Este trecho de código ou resolução de exercício faz parte do Super Pack 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos em Java, Python, VisuAlg, Portugol, Delphi, C#, C, C++, VB.NET, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Aprenda a programar resolvendo problemas do mundo real. Tudo em português, com comentários em português.

Quero Ser Apoiador(a)


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

Número: 1; Id: (2369904896544); Área: 0.0775914442906534
Número: 2; Id: (2369904896560); Área: 0.0743898781029584
Número: 4; Id: (2369904896592); Área: 0.0804389565922851
Número: 5; Id: (2369904896608); Área: 0.0744155815287316
Número: 6; Id: (2369904896624); Área: 0.0770023124340303
Número: 7; Id: (2369904896640); Área: 0.0866711629516161
Número: 3; Id: (2369904896576); Área: 0.0947258711424344
Número: 8; Id: (2369904896656); Área: 0.096533569907287

Link para compartilhar na Internet ou com seus amigos:

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Instalações prediais de águas pluviais

A chuva de projeto é o primeiro parâmetro a ser estimado para o projeto de instalações prediais. Como este é altamente probabilístico, uma abordagem a partir de um banco de dados consistente é utilizada na prática brasileira. Julgue as afirmações a seguir:

I. A chuva de projeto pode ser estimada a partir do ajuste das curvas IDF, que levam em conta a intensidade, a duração e a frequência com que ocorrem.

II. O tempo de retorno é um parâmetro que define o tempo para que a chuva retorne.

III. O coeficiente de deflúvio relaciona a porção de chuva incidente com o escoamento superficial gerado por esta.

IV. Os coeficientes de ajustes utilizados nas curvas IDF são frutos de pressupostos teóricos associados à mecânica dos fluidos.

Assinale a alternativa correta.

A) I e II são verdadeiras.

B) I e III são verdadeiras.

C) II e III são verdadeiras.

D) II e IV são verdadeiras.

E) III e IV são verdadeiras.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Analise o seguinte código Python

a = {5, 8, 2, 1}
b = {1, 4, 5, 3}
c = a.intersection(b)
print(c)

Qual é o resultado de sua execução?

A) {1, 5}

B) Um erro de execução na linha 2

C) {5, 5, 1, 1}

D) {5, 8, 2, 1, 1, 4, 5, 3}
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fundações

Sondagem à Percussão (SPT) e Rotativa (RQD)

Na sondagem SPT, o que significa o N30?

A) Corresponde ao número de golpes dos últimos 30cm na fase de amostragem.

B) Corresponde à energia de 30% a ser considerada.

C) Corresponde a 30 golpes para penetrar um metro.

D) Corresponde ao número de golpes dos primeiros 30cm do amostrador.

E) Corresponde à energia que causa a perfuração dinâmica de 30cm com uma única pancada.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual função é usada para converter uma string em letras minúsculas em Python?

A) toLower()

B) toLowerCase()

C) lower_case()

D) lower()

E) lowercase()
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fundações

Fundações diretas ou rasas

As fundações rasas ou diretas apresentam como características a transmissão da carga ao terreno, predominantemente pelas pressões distribuídas sob a base da fundação, e a profundidade de assentamento em relação ao terreno inferior a duas vezes a menor dimensão da fundação.

Sobre as fundações superficiais rasas ou diretas, assinale a alternativa correta.

A) A sapata associada pode ser definida como a sapata sujeita à ação de uma carga distribuída linearmente ou de pilares ao longo de um mesmo alinhamento.

B) O radier é o elemento de fundação superficial que abrange parte ou todos os pilares de uma estrutura, distribuindo os carregamentos.

C) A sapata corrida é definida como a sapata comum a mais de um pilar. Devido a essa particularidade, para sua execução é necessário o uso de máquinas.

D) A sapata é dimensionada de modo que as tensões de tração nela resultantes sejam resistidas pelo concreto, sem necessidade de armadura.

E) O bloco é dimensionado de modo que as tensões de tração nele resultantes sejam resistidas pelo emprego de armadura disposta para esse fim.
Verificar Resposta Estudar Cards Todas as Questões

AutoCAD Civil 3D .NET C# ::: Dicas & Truques ::: Alinhamento - Alignment

Como pedir para o usuário selecionar um alinhamento no Civil 3D usando a função GetEntity() do AutoCAD Civil 3D .NET C# API

Quantidade de visualizações: 514 vezes
Em várias situações nós precisamos pedir para o usuário selecionar um alinhamento e, após a seleção, obter o id do alinhamento selecionado para efetuarmos alguma operação nele. Para isso nós podemos usar a função GetEntity() do objeto Editor da AutoCAD Civil 3D .NET C# API.

O primeiro passo é criar um objeto PromptEntityOptions passando a mensagem para o usuário selecionar o alinhamento. Se o usuário selecionar outro objeto que não seja um alinhamento, a mensagem definida em SetRejectMessage é exibida. Note o uso de AddAllowedClass para permitir a seleção apenas de objetos da classe Alignment ou derivadas dela.

Depois de solicitar a seleção, nós obtemos um objeto ObjectId, que é retornado pela função GetEntity().

Veja o código AutoCAD Civil 3D .NET C# 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.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("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 iniciar um nova transação
      using (Transaction ts = Application.DocumentManager.MdiActiveDocument.
        Database.TransactionManager.StartTransaction()) {
        try {
          // vamos pedir para o usuário selecionar o alinhamento
          PromptEntityOptions opt = new PromptEntityOptions(
            "\nSelecione um alinhamento");
          opt.SetRejectMessage("\nO objeto precisa ser um alinhamento.\n");
          opt.AddAllowedClass(typeof(Alignment), false);
          
          // vamos obter o id do alinhamento selecionado
          ObjectId id_alinhamento = editor.GetEntity(opt).ObjectId;

          editor.WriteMessage("\nO id do alinhamento selecionado é: " +
            id_alinhamento + '\n');
        }
        catch (System.Exception e) {
          // vamos tratar o erro 
          editor.WriteMessage("Erro: {0}", e.Message);
        }
      }
    }

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

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

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

O id do alinhamento selecionado é: (1455527762496)


AutoCAD Civil 3D .NET C# ::: Dicas & Truques ::: Alinhamento - Alignment

Como retornar a quantidade de perfis de um alinhamento do Civil 3D usando a função GetProfileIds() da API C# do AutoCAD Civil 3D

Quantidade de visualizações: 389 vezes
Em algumas situações nós precisamos obter a quantidade de perfis (profiles) de um determinado alinhamento do AutoCAD Civil 3D. Para isso nós podemos usar a função GetProfileIds(), que retorna uma coleção ObjectIdCollection contendo os ids de todos os perfis pertencentes a um determinado alinhamento.

Para este exemplo eu usei um alinhamento chamado "EIXO DA RODOVIA" e criei para ele um profile chamado "TN - SUPERFÍCIE NATURAL" para representar a superfície natural e outro chamado "GREIDE - PERFIL VERTICAL DA RODOVIA" para representar o alinhamento vertical.

Note que, após obtermos a coleção ObjectIdCollection por meio da função GetProfileIds(), tudo que temos a fazer é acessar a sua propriedade Count.

Veja o código AutoCAD Civil 3D .NET C# 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.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("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 {
            // encontramos o alinhamento. Vamos mostrar a quantidade de perfis
            // que ele possui
            ObjectIdCollection ids_perfis = alinhamento.GetProfileIds();
            // e mostramos o resultado
            editor.WriteMessage("\nO alinhamento possui " + ids_perfis.Count +
              " perfis.\n");
          }
        }
        catch (System.Exception e) {
          // vamos tratar o erro 
          editor.WriteMessage("Erro: {0}", e.Message);
        }
      }
    }

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

      // agora vamos obter os ids de todos os alinhamentos
      ObjectIdCollection alinhamentos = doc.GetAlignmentIds();

      // vamos percorrer todos os ids de alinhamentos retornados
      foreach (ObjectId idAlinhamento in alinhamentos) {
        alinhamento = idAlinhamento.GetObject(OpenMode.ForRead) as Alignment;
        // encontramos o alinhamento
        if (alinhamento.Name.Equals(nome)) {
          return alinhamento;
        }
      }

      // retorna null se o alinhamento 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 .NET C# nós teremos o seguinte resultado:

O alinhamento possui 2 perfis.


AutoCAD Civil 3D .NET C# ::: Dicas & Truques ::: Alinhamento - Alignment

Como retornar a quantidade de estacas de um alinhamento do Civil 3D usando a função GetStationSet() da classe Alignment da AutoCAD Civil 3D .NET API

Quantidade de visualizações: 446 vezes
Nesta dica vou mostrar como podemos obter a quantidade de estacas em um alinhamento do Civil 3D usando a função GetStationSet() da classe Alignment da AutoCAD Civil 3D .NET API. Para este exemplo eu usei um alinhamento com o nome "EIXO DA RODOVIA".

O primeiro passo é obter uma referência ao documento atual do AutoCAD Civil 3D usando CivilApplication.ActiveDocument. En seguida nós pesquisamos um alinhamento usando uma função personalizada GetAlignmentByName(), que recebe o documento atual e o nome do alinhamento que queremos pesquisar. O retorno desta função é um objeto da classe Alignment.

Agora que já temos o alinhamento, nós usamos a função GetStationSet() para retornar um vetor de objetos Station, que significa estaca no Civil 3D. Note que passei como parâmetro o valor StationTypes.Major e usei alinhamento.StationIndexIncrement como o intervalo entre as estacas.

Uma vez que já temos o vetor de objetos Station, ou seja, um vetor contendo todas as estacas do alinhamento, só precisamos obter a quantidade de itens usando a propriedade Length.

Veja o código AutoCAD Civil 3D .NET C# 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.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("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 {
            // encontramos o alinhamento. Vamos mostrar a quantidade de estacas
            // que ele possui
            Station[] estacas = alinhamento.GetStationSet(StationTypes.Major,
              alinhamento.StationIndexIncrement);
            int quant_estacas = estacas.Length;
            // e mostramos o resultado
            editor.WriteMessage("\nO alinhamento possui " + quant_estacas +
              " estacas.\n");
          }
        }
        catch (System.Exception e) {
          // vamos tratar o erro 
          editor.WriteMessage("Erro: {0}", e.Message);
        }
      }
    }

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

      // agora vamos obter os ids de todos os alinhamentos
      ObjectIdCollection alinhamentos = doc.GetAlignmentIds();

      // vamos percorrer todos os ids de alinhamentos retornados
      foreach (ObjectId idAlinhamento in alinhamentos) {
        alinhamento = idAlinhamento.GetObject(OpenMode.ForRead) as Alignment;
        // encontramos o alinhamento
        if (alinhamento.Name.Equals(nome)) {
          return alinhamento;
        }
      }

      // retorna null se o alinhamento 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 alinhamento possui 152 estacas.


Veja mais Dicas e truques de AutoCAD Civil 3D .NET C#

Dicas e truques de outras linguagens

Linguagens Mais Populares

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

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais


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