Você está aqui: AutoCAD Civil 3D .NET C# ::: Dicas & Truques ::: Coordinated Geometry Points (COGO Points) |
Como criar um COGO Point usando a função Add() do objeto CogoPointCollection da AutoCAD Civil 3D .NET APIQuantidade de visualizações: 388 vezes |
Em várias situações nós precisamos criar novos pontos Coordinated Geometry Points (COGO points). Um ponto COGO Point é um pouco mais complicado que o ponto comum do AutoCAD, pois um COGO Point possui um número de identificação único, um nome, uma descrição, etc. COGO Points podem ser criados no Civil 3D na aba Home -> Create Ground Data. Em seguida só precisamos acessar o item Point e várias de suas opções, entre elas Point Creation Tools. Nesta dica mostrarei como podemos criar um novo ponto COGO usando C#. Para isso nós vamos criar um objeto Point3d e atribuir a ele a localização escolhida pelo usuário na tela de desenho do AutoCAD Civil 3D. De posse da localização do ponto, nós vamos usar a função Add() do objeto CogoPointCollection, que representa todos os pontos COGO no documento atual. Note como acessamos o objeto CogoPoint recém-criado para ajustar algumas de suas propriedades. 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; using Autodesk.AutoCAD.Geometry; namespace Estudos { public class Class1 : IExtensionApplication { [CommandMethod("COGOPoint")] public void COGOPoint() { // 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 iniciar um nova transação using (Transaction ts = Application.DocumentManager.MdiActiveDocument. Database.TransactionManager.StartTransaction()) { try { // vamos pedir para o usuário informar a posição do COGO Point PromptPointOptions ppo = new PromptPointOptions( "\nInforme a posição do COGO Point:"); PromptPointResult ppr = editor.GetPoint(ppo); // o usuário não informou a posição if (ppr.Status != PromptStatus.OK) { return; } // vamos criar um Point3d a partir da localização informada Point3d posicao = ppr.Value; // Todos os pontos em um documento do AutoCAD Civil 3D são guardados em // um objeto CogoPointCollection CogoPointCollection cogoPoints = CivilApplication.ActiveDocument.CogoPoints; // vamos adicionar este ponto à coleção de pontos ObjectId pointId = cogoPoints.Add(posicao, "Um ponto da Topografia", false); // abre o ponto recém-criado para escrita CogoPoint cogoPoint = pointId.GetObject(OpenMode.ForWrite) as CogoPoint; // e ajustamos algumas propriedades cogoPoint.PointName = "Ponto_Base_Topografia"; cogoPoint.RawDescription = "Este é um ponto base da topografia"; // e mostramos uma mensagem de sucesso editor.WriteMessage("\nO ponto foi criado com o ID " + pointId.ToString() + "\n"); ts.Commit(); } catch (System.Exception e) { // vamos tratar o erro 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: Informe a posição do COGO Point: O ponto foi criado com o ID (2181297655424) |
![]() |
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 |