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 APIQuantidade de visualizações: 496 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: 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("Parcels")] public void Parcels() { // 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 { // encontramos o loteamento. Agora vamos retornar a lista // de lotes encontrados ObjectIdCollection lotes = site.GetParcelIds(); // vamos percorrer os lotes e mostrar os seus números, ids e áreas foreach (ObjectId id_lote in lotes) { Parcel lote = id_lote.GetObject(OpenMode.ForRead) as Parcel; // vamos mostrar o número, id e área desse lote editor.WriteMessage("\nNúmero: " + lote.Number + "; Id: " + 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 |
![]() |
Veja mais Dicas e truques de AutoCAD Civil 3D .NET C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |