Você está aqui: AutoCAD Civil 3D .NET C# ::: Dicas & Truques ::: Alinhamento - Alignment |
Como retornar o comprimento de um alinhamento do Civil 3D em metros e quilômetros usando C# e a propriedade LengthQuantidade de visualizações: 756 vezes |
Nesta dica mostrarei como podemos usar a linguagem C# para obter o comprimento de um alinhamento do AutoCAD Civil 3D usando a propriedade Length do objeto Alignment. Veja que criei uma função personalizada GetAlignmentByName() que recebe um objeto CivilDocument e uma string contendo o nome do alinhamento que queremos pesquisar e retorna um objeto da classe Alignment. O nome do alinhamento que usei no exemplo é "EIXO DA RODOVIA". De posse do objeto Alignment nós só precisamos acessar sua propriedade Length para retornar o seu comprimento em metros (e posteriormente converter para quilômetros). Veja o código AutoCAD Civil 3D C# completo para o exemplo: 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); // e mostramos o resultado if (alinhamento == null) { editor.WriteMessage("\nO alinhamento não foi encontrado."); } else { // vamos obter o comprimento do alinhamento em metros e // em quilômetros double metros = alinhamento.Length; double kms = metros / 1000.0; editor.WriteMessage("\nComprimento do alinhamento em metros: " + metros); editor.WriteMessage("\nComprimento do alinhamento em quilômetros: " + Ao executar este código AutoCAD Civil 3D .NET C# nós teremos o seguinte resultado: Comprimento do alinhamento em metros: 3006.0749579268 Comprimento do alinhamento em quilômetros: 3.0060749579268 |
![]() |
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 |