Você está aqui: AutoCAD Civil 3D .NET C# ::: Dicas & Truques ::: Parcels (Parcelas, Lotes, Loteamento) |
Como exibir a área de um lote no Civil 3D usando a propriedade Area da classe Parcel da AutoCAD Civil 3D .NET APIQuantidade de visualizações: 435 vezes |
|
Em algumas situações, quando estamos trabalhando com loteamento no Civil 3D, queremos percorrer todos os lotes, ou seja, os parcels, contidos em um site e calcular ou exibir suas áreas via programação. Para isso nós podemos usar a propriedade Area da classe Parcel da AutoCAD Civil 3D .NET API. Esta propriedade retorna um valor double contendo a área do lote selecionado ou sendo acessado no momento. Nesta dica mostrarei como podemos pedir para o usuário selecionar um lote no loteamento escolhido e, em seguida, exibir sua área. 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 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("Lotes")]
public void Lotes() {
// vamos obter uma referência ao documento atual do Civil 3D
CivilDocument doc = CivilApplication.ActiveDocument;
Editor editor = Application.DocumentManager.MdiActiveDocument.Editor;
using (Transaction ts = Application.DocumentManager.MdiActiveDocument.
Database.TransactionManager.StartTransaction()) {
try {
// vamos pedir para o usuário selecionar um lote
PromptEntityOptions opt = new PromptEntityOptions(
"\nSelecione um lote");
opt.SetRejectMessage("\nO objeto precisa ser um lote.\n");
opt.AddAllowedClass(typeof(Parcel), false);
// vamos obter o id do lote selecionado
ObjectId id_lote = editor.GetEntity(opt).ObjectId;
// obtém o lote a partir do id do objeto selecionado
Parcel lote = id_lote.GetObject(OpenMode.ForRead) as Parcel;
// vamos obter a área do lote selecionado
double area = lote.Area;
// e mostramos o resultado
editor.WriteMessage("\nA área do lote selecionado é: " +
lote.Area + " m2");
}
catch (System.Exception e) {
// handle bad file path
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 C# .NET nós teremos o seguinte resultado: Selecione um lote: [Selecione um parcel na área de desenho] A área do lote selecionado é: 0.0947258711424344 m2 |
|
|
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 |







