Você está aqui: AutoCAD Civil 3D .NET C# ::: Dicas & Truques ::: Sites (Locais, Loteamentos) |
Como listar os sites do documento atual do Civil 3D usando a função GetSiteIds() da AutoCAD Civil 3D .NET APIQuantidade de visualizações: 677 vezes |
|
No AutoCAD Civil 3D nós usamos sites para coletar ou agrupar coleções de parcelas (lotes), alinhamentos, nivelamentos (terraplenagem) e linhas de recursos (feature lines) de acordo com a topologia que esses elementos possuem em comum. A lista de sites do documento atual pode ser encontrada na aba Prospector do Toolspace. Nesta dica mostrarei como podemos usar a função GetSiteIds() da classe CivilDocument para retornar os ids dos sites existentes no documento atual do Civil 3D como um objeto ObjectIdCollection. Em seguida usaremos um laço foreach para acessar cada site individualmente e mostrar o seu nome e id. 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;
using (Transaction ts = Application.DocumentManager.MdiActiveDocument.
Database.TransactionManager.StartTransaction()) {
try {
// agora vamos obter os ids de todos os sites
ObjectIdCollection sites = doc.GetSiteIds();
// vamos percorrer os sites e mostrar os seus nomes e ids
foreach (ObjectId id_site in sites) {
Site site = id_site.GetObject(OpenMode.ForRead) as Site;
// vamos mostrar o nome e id do site
editor.WriteMessage("\nNome: " + site.Name + "; Id: " + site.Id +
"\n");
}
}
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: Nome: PROJETADO; Id: (2966797801664) Nome: EXISTENTE; Id: (2966797797744) De fato, como estou usando um template do DNIT do Brazil Kit, ele já vem com dois sites disponíveis: EXISTENTE e PROJETADO. |
|
|
Veja mais Dicas e truques de AutoCAD Civil 3D .NET C# |
Dicas e truques de outras linguagens |
|
Revit Python Shell - Como pedir para o usuário selecionar somente um elemento no Revit usando a função PickObject() do objeto Selection do Revit Python Shell C# - Como retornar a quantidade de elementos que podem ser armazenados na List do C# sem redimensioná-la Java - Como usar null em Java |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





