![]() |
|
|
Planilha de Dimensionamento de Tubulações
Hidráulicas Água Fria e Água Quente CompletaNossa planilha automática de dimensionamento de tubulações de água fria e quente é uma ferramenta desenvolvida para auxiliar engenheiros e projetistas no cálculo rápido e preciso das redes hidráulicas de edificaçoes. Por meio da inserçao de dados como vazao, diâmetro da tubulaçao, comprimento da rede, material do tubo e coeficientes hidráulicos, a planilha realiza automaticamente os cálculos necessários para verificar velocidade da água, perda de carga e dimensionamento adequado das tubulaçoes. |
||
Você está aqui: AutoCAD Civil 3D .NET C# ::: Dicas & Truques ::: Parcels (Parcelas, Lotes, Loteamento) |
Como retornar a quantidade de lotes em um loteamento do Civil 3D usando a função GetParcelIds().Count da classe Site da AutoCAD Civil 3D .NET APIQuantidade de visualizações: 777 vezes |
|
Nesta dica mostrarei como podemos obter a quantidade de lotes em um loteamento do Civil 3D, ou seja, a quantidade de parcels contidas em um site. O primeiro passo é analisar a função GetSiteByName() que criei no código. Ela nos possibilita fornecer o nome de um site e retornar uma referência a um objeto da classe Site. Para este exemplo eu usei um loteamento com o nome "LOTEAMENTO SETOR SUL". Depois de obter o objeto Site, tudo que temos a fazer é efetuar uma chamada à função GetParcelIds() e, em seguida, sua propriedade Count, que nos retornará a quantidade de lotes no loteamento. 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 quantidade
// de lotes encontrados
int quant_lotes = site.GetParcelIds().Count;
editor.WriteMessage("\nO loteamento possui: " +
quant_lotes + " lotes.");
}
}
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 loteamento possui: 8 lotes. |
|
|
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 |




