{"id":522,"date":"2013-07-12T12:07:39","date_gmt":"2013-07-12T12:07:39","guid":{"rendered":"https:\/\/blogs.autodesk.com\/autodesk-infrabrasil\/2013\/07\/12\/tabela-de-curvas-de-bordo-via-api\/"},"modified":"2016-05-17T13:17:02","modified_gmt":"2016-05-17T16:17:02","slug":"tabela-de-curvas-de-bordo-via-api","status":"publish","type":"post","link":"https:\/\/blogs.autodesk.com\/mundoaec\/tabela-de-curvas-de-bordo-via-api\/","title":{"rendered":"Tabela de Curvas de Bordo via API"},"content":{"rendered":"<p>Por <strong>Augusto Gon\u00e7alves<\/strong>, <a href=\"http:\/\/www.autodesk.com\/joinadn\" target=\"_blank\">Autodesk Developer Network<\/a><\/p>\n<p>Este post \u00e9 uma continua\u00e7\u00e3o do <a href=\"http:\/\/civil3dbr.typepad.com\/blog\/2013\/07\/numerando-curvas-de-bordo-via-api.html\">post anterior<\/a>, onde as curvas de bordo foram numeradas. Aqui o objetivo \u00e9 criar uma tabela com o resumo das curvas, contendo o n\u00famero, raio, comprimento, norte\/este do PC e PT. A figura abaixo apresenta a tabela de resultado.<\/p>\n<p><a href=\"http:\/\/civil3dbr.typepad.com\/.a\/6a01538e6fd9d0970b0191043261d7970c-pi\"><img loading=\"lazy\" decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border: 0px\" title=\"tabela_curva_bordo\" src=\"http:\/\/civil3dbr.typepad.com\/.a\/6a01538e6fd9d0970b0192abfb8df0970d-pi\" alt=\"tabela_curva_bordo\" width=\"472\" height=\"178\" border=\"0\" \/><\/a><\/p>\n<p>Neste caso iremos criar uma tabela utilizando APIs do AutoCAD. Isto significa que a tabela ser\u00e1 independente do Civil 3D e n\u00e3o ir\u00e1 atualizar como outras tabelas nativas. Ainda n\u00e3o temos APIs para acessar as tabelas nativas do Civil 3D.<\/p>\n<p>Para criar a tabela iremos utilizar o objeto <strong>Table<\/strong>, que est\u00e1 dentro do namespace <em>Autodesk.AutoCAD.DatabaseServices<\/em>. Um namespace do .NET \u00e9 utilizado para organizar os objetos, e sempre iremos encontrar objetos com caracter\u00edsticas em comum. Neste case, o namespace \u00e9 o <em>DatabaseServices<\/em>, que cont\u00e9m os objetos de banco de dados do AutoCAD, ou seja, aqueles que s\u00e3o gravados no desenho.<\/p>\n<p>O nosso c\u00f3digo anterior j\u00e1 tinha este e outros namespaces, como <em>EditorInput<\/em>, que contem a linha de comando e objetos de sele\u00e7\u00e3o, ou <em>Geometry<\/em>, que cont\u00e9m objetos relacionados a opera\u00e7\u00f5es geom\u00e9tricas. \u00c9 poss\u00edvel ter namespaces com mesmo nome, como <em>DatabaseServices<\/em>, mas em diferentes APIs, como <em>Autodesk.AutoCAD<\/em> e <em>Autodesk.Civil<\/em>.<\/p>\n<p>Para este exemplo iremos criar uma tabela com 5 colunas. A quantidade de linhas ser\u00e1 definida pela quantidade de curvas + 2, para conter o cabe\u00e7alho. Para adaptar este c\u00f3digo e incluir mais colunas, \u00e9 necess\u00e1rio alterar esta quantidade e escrever os valores desejados.<\/p>\n<p>O c\u00f3digo abaixo cont\u00e9m o c\u00f3digo do post anterior em cinza, e o c\u00f3digo adicional em cores, fica a sua escolha copiar o c\u00f3digo inteiro (e colar substituindo no arquivo CurvasBordo.vb) ou adicionar as novas linhas.<\/p>\n<div style=\"background: white\">\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">Imports<\/span><span style=\"font-size: 8pt\"> Autodesk.AutoCAD.Runtime<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">Imports<\/span><span style=\"font-size: 8pt\"> Autodesk.AutoCAD.EditorInput<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">Imports<\/span><span style=\"font-size: 8pt\"> Autodesk.AutoCAD.DatabaseServices<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">Imports<\/span><span style=\"font-size: 8pt\"> Autodesk.AutoCAD.Geometry<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">Imports<\/span><span style=\"font-size: 8pt\"> Autodesk.AutoCAD.ApplicationServices<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">Imports<\/span><span style=\"font-size: 8pt\"> Autodesk.Civil.DatabaseServices<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">Public<\/span><span style=\"font-size: 8pt\"> Class <\/span><span style=\"font-size: 8pt\">CurvasBordo<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0 &lt;<\/span><span style=\"font-size: 8pt\">CommandMethod(&#8220;numerarCurvaBordo&#8221;)&gt; _<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0 <\/span><span style=\"font-size: 8pt\">Public Sub CmdNumerarCurvaBordo()<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; acessar o editor do AutoCAD<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; atrav\u00e9s deste objeto podemos selecionar<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; entidade na tela<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">Dim ed As Editor = Application.DocumentManager.<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 MdiActiveDocument.Editor<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; selecionar o alinhamento<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; o m\u00e9todo AddAllowedClass garante que apenas alinhamentos<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; poder\u00e3o ser selecionados pelo usu\u00e1rio<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">Dim opSelAlinhamento As New PromptEntityOptions(<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8220;Selecione o alinhamento: &#8220;)<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0 opSelAlinhamento.SetRejectMessage(<\/span><span style=\"font-size: 8pt\">&#8220;Apenas alinhamento&#8221;)<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0 opSelAlinhamento.AddAllowedClass(<\/span><span style=\"font-size: 8pt\">GetType(Alignment), True)<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">Dim resSelAlinhamento As PromptEntityResult =<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 ed.GetEntity(opSelAlinhamento)<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">If (resSelAlinhamento.Status &lt;&gt; PromptStatus.OK) Then <\/span><span style=\"font-size: 8pt\">Exit Sub<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">Dim idAlinhamento As ObjectId = resSelAlinhamento.ObjectId<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; distancia m\u00e1xima para centro do circulo<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">Dim opSelDistancia As New PromptDistanceOptions(<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8220;Distancia m\u00e1xima das curvas (centro): &#8220;)<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0 opSelDistancia.AllowZero = <\/span><span style=\"font-size: 8pt\">False<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">Dim resSelDistancia As PromptDoubleResult =<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 ed.GetDistance(opSelDistancia)<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">If (resSelDistancia.Status &lt;&gt; PromptStatus.OK) Then <\/span><span style=\"font-size: 8pt\">Exit Sub<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">Dim distanciaMax As Double = resSelDistancia.Value<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">Dim db As Database = Application.DocumentManager.<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 MdiActiveDocument.Database<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">Using trans As Transaction =<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 db.TransactionManager.StartTransaction<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; abrir o alinhamento<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">Dim alinhamento As Alignment = trans.GetObject(<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 idAlinhamento, <\/span><span style=\"font-size: 8pt\">OpenMode.ForRead)<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; abrir o model space<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">Dim mSpace As BlockTableRecord = trans.GetObject(<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 alinhamento.OwnerId, <\/span><span style=\"font-size: 8pt\">OpenMode.ForWrite)<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; criar uma lista de arcos<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">Dim curvasBordo As New <\/span><span style=\"font-size: 8pt\">DBObjectCollection<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; percorrer o model space buscando por curvas de bordo<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">For Each idEntidade As ObjectId In mSpace<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; abrir cada entidade do model space e tentar <\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; converter para Arc, se a convers\u00e3o acontencer,<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; ent\u00e3o temos um arco e adicionamos a lista,<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; se n\u00e3o, vamos para a proxima entidade<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">Dim curva As Arc = TryCast(trans.GetObject(<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 idEntidade, <\/span><span style=\"font-size: 8pt\">OpenMode.ForRead), Arc)<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; se for vazio, ent\u00e3o proximo item da lista<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">If (curva Is Nothing) Then <\/span><span style=\"font-size: 8pt\">Continue For<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 curvasBordo.Add(curva)<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">Next<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; usando LINQ para filtrar e ordenar os arcos<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; obteremos o ponto no alinhamento mais pr\u00f3ximo do centro<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; do arco em seguida iremos ordenar estes pontos, desta <\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; maneira os arcos estar\u00e3o ordenados pelo ponto mais<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; pr\u00f3ximo no alinhamento<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">Dim curvasBordoFiltrada =<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">From arco As Arc In curvasBordo<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">Where arco.Center.DistanceTo(<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 alinhamento.GetClosestPointTo(<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 arco.Center, <\/span><span style=\"font-size: 8pt\">False)) &lt; distanciaMax<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">Order By alinhamento.GetDistAtPoint(<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 alinhamento.GetClosestPointTo(arco.Center, <\/span><span style=\"font-size: 8pt\">False))<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; numerador que ser\u00e1 usado no texto<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">Dim cont As Integer = 1<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; escrever os textos nas curvas utilizando DBText<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; os textos ser\u00e3o independentes do alinhamento<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">For Each curva As Arc In curvasBordoFiltrada<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; linha de refer\u00eancia entre os pontos inicial e<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; final do arco. Esta linha n\u00e3o ser\u00e1 desenhada no <\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; Civil3D, apenas utilizada para encontrar o midpoint,<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; onde ser\u00e1 inserido o texto<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">Dim linhaRef As New LineSegment3d(<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 curva.StartPoint, curva.EndPoint)<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">Dim labelCurva As New <\/span><span style=\"font-size: 8pt\">DBText<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 labelCurva.SetDatabaseDefaults()<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; especificar o texto<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 labelCurva.TextString = <\/span><span style=\"font-size: 8pt\">String.Format(<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8220;Curva = {0}&#8221;, cont)<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; alinha pelo centro<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 labelCurva.HorizontalMode =<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">TextHorizontalMode.TextCenter<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; alinhar pelo MidPoint<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 labelCurva.AlignmentPoint = linhaRef.MidPoint<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; rotacionar alinhado com os pontos do arco<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 labelCurva.Rotation = linhaRef.<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Direction.GetAngleTo(<\/span><span style=\"font-size: 8pt\">Vector3d.XAxis)<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; adicionar ao model space<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 mSpace.AppendEntity(labelCurva)<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 trans.AddNewlyCreatedDBObject(labelCurva, <\/span><span style=\"font-size: 8pt\">True)<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; incrementar o numerador<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 cont += 1<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">Next<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; *********************************************<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; Incluir a tabela de curvas<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; *********************************************<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; como este comando \u00e9 uma continua\u00e7\u00e3o, vamos<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; pedir ao usu\u00e1rio para selecionar o ponto de <\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; inser\u00e7\u00e3o da tabela, mas se decidir cancelar<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; (com ESC), ent\u00e3o vamos aceitar o que j\u00e1 foi <\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; feito, mas se for OK, continuamos com a tabela<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"font-size: 8pt\"><span style=\"color: #0000ff\">Dim<\/span><span style=\"color: #000000\"> resSelPontoInsercaoTabela <\/span><span style=\"color: #0000ff\">As<\/span><span style=\"color: #000000\">\u00a0 _<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"font-size: 8pt\"><span style=\"color: #2b91af\">PromptPointResult<\/span><span style=\"color: #000000\"> = _<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ed.GetPoint(<\/span><\/span><span style=\"font-size: 8pt\"><span style=\"color: #a31515\">&#8220;Ponto inser\u00e7\u00e3o da tabela: &#8220;<\/span><span style=\"color: #000000\">)<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"font-size: 8pt\"><span style=\"color: #0000ff\">If<\/span><span style=\"color: #000000\"> (resSelPontoInsercaoTabela.Status &lt;&gt; _<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"font-size: 8pt\"><span style=\"color: #2b91af\">PromptStatus<\/span><span style=\"color: #000000\">.OK) <\/span><\/span><span style=\"color: #0000ff;font-size: 8pt\">Then<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 trans.Commit()<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"color: #0000ff;font-size: 8pt\">Exit Sub<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"font-size: 8pt\"><span style=\"color: #0000ff\">End<\/span> <\/span><span style=\"color: #0000ff;font-size: 8pt\">If<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; criar uma tabela, com 5 colunas e linhas para <\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; as curvas que foram encontradas<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"font-size: 8pt\"><span style=\"color: #0000ff\">Dim<\/span><span style=\"color: #000000\"> tabela <\/span><span style=\"color: #0000ff\">As<\/span> <span style=\"color: #0000ff\">New<\/span><span style=\"color: #000000\">\u00a0 _<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Autodesk.AutoCAD.DatabaseServices.<\/span><\/span><span style=\"color: #2b91af;font-size: 8pt\">Table<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 tabela.SetSize(cont + 1, 5)<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 tabela.TableStyle = db.Tablestyle<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 tabela.Position = resSelPontoInsercaoTabela.Value<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; iniciar a tabela com o cabe\u00e7alho<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"font-size: 8pt\"><span style=\"color: #0000ff\">Dim<\/span><span style=\"color: #000000\"> linha <\/span><span style=\"color: #0000ff\">As<\/span> <span style=\"color: #0000ff\">Integer<\/span><span style=\"color: #000000\"> = 0<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 linha = 0 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; linha de t\u00edtulo<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 tabela.Cells(linha, 0).TextString = <\/span><\/span><span style=\"color: #a31515;font-size: 8pt\">&#8220;Curvas de Bordo&#8221;<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 tabela.MergeCells(<\/span><\/span><span style=\"font-size: 8pt\"><span style=\"color: #2b91af\">CellRange<\/span><span style=\"color: #000000\">.Create(tabela, 0, 0, 0, 4))<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 linha = 1 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; linha de cabe\u00e7alho<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 tabela.Cells(linha, 0).TextString = <\/span><\/span><span style=\"color: #a31515;font-size: 8pt\">&#8220;N\u00famero&#8221;<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 tabela.Cells(linha, 1).TextString = <\/span><\/span><span style=\"color: #a31515;font-size: 8pt\">&#8220;Raio&#8221;<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 tabela.Cells(linha, 2).TextString = <\/span><\/span><span style=\"color: #a31515;font-size: 8pt\">&#8220;Comp.&#8221;<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 tabela.Cells(linha, 3).TextString = <\/span><\/span><span style=\"color: #a31515;font-size: 8pt\">&#8220;PC&#8221;<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 tabela.Cells(linha, 4).TextString = <\/span><\/span><span style=\"color: #a31515;font-size: 8pt\">&#8220;PT&#8221;<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 linha = 2 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; pr\u00f3xima linha<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; percorrer as curvas encontradas<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 cont = 1<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"font-size: 8pt\"><span style=\"color: #0000ff\">For<\/span> <span style=\"color: #0000ff\">Each<\/span><span style=\"color: #000000\"> curva <\/span><span style=\"color: #0000ff\">As<\/span> <span style=\"color: #2b91af\">Arc<\/span> <span style=\"color: #0000ff\">In<\/span><span style=\"color: #000000\"> curvasBordoFiltrada<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; coluna 1: n\u00famero<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 tabela.Cells(linha, 0).TextString = _<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 cont.ToString()<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; coluna 2: raio, com 4 casas decimais<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 tabela.Cells(linha, 1).TextString = _<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"font-size: 8pt\"><span style=\"color: #0000ff\">String<\/span><span style=\"color: #000000\">.Format(<\/span><span style=\"color: #a31515\">&#8220;{0:0.000}&#8221;<\/span><span style=\"color: #000000\">, curva.Radius)<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; coluna 3: comprimento<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 tabela.Cells(linha, 2).TextString = _<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"font-size: 8pt\"><span style=\"color: #0000ff\">String<\/span><span style=\"color: #000000\">.Format(<\/span><span style=\"color: #a31515\">&#8220;{0:0.000}&#8221;<\/span><span style=\"color: #000000\">, curva.Length)<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; coluna 4: norte e este do primeiro ponto<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 tabela.Cells(linha, 3).TextString = _<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"font-size: 8pt\"><span style=\"color: #0000ff\">String<\/span><span style=\"color: #000000\">.Format(<\/span><span style=\"color: #a31515\">&#8220;{0:0.0000}, {1:0.0000}&#8221;<\/span><span style=\"color: #000000\">, _<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 curva.StartPoint.Y, _<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 curva.StartPoint.X)<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; coluna 5: norte e este do segundo ponto<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 tabela.Cells(linha, 4).TextString = _<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"font-size: 8pt\"><span style=\"color: #0000ff\">String<\/span><span style=\"color: #000000\">.Format(<\/span><span style=\"color: #a31515\">&#8220;{0:0.0000}, {1:0.0000}&#8221;<\/span><span style=\"color: #000000\">, _<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 curva.EndPoint.Y, _<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 curva.EndPoint.X)<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 cont += 1 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; pr\u00f3ximo n\u00famero de curva<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 linha += 1 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; pr\u00f3xima linha<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"color: #0000ff;font-size: 8pt\">Next<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; ajusta o layout da tabela<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 tabela.GenerateLayout()<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; insere a tabela no model space<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 mSpace.AppendEntity(tabela)<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 trans.AddNewlyCreatedDBObject(tabela, <\/span><\/span><span style=\"font-size: 8pt\"><span style=\"color: #0000ff\">True<\/span><span style=\"color: #000000\">)<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><\/span><span style=\"color: #008000;font-size: 8pt\">&#8216; *********************************************<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #000000;font-size: 8pt\">\u00a0<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; este &#8216;commit&#8217; confirma que as altera\u00e7\u00f5es est\u00e3o<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">&#8216; ok e podem ser enviadas para a base de dados do C3D<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666;font-size: 8pt\">\u00a0\u00a0\u00a0\u00a0\u00a0 trans.Commit()<\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0\u00a0\u00a0 <\/span><span style=\"font-size: 8pt\">End <\/span><span style=\"font-size: 8pt\">Using<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">\u00a0 <\/span><span style=\"font-size: 8pt\">End <\/span><span style=\"font-size: 8pt\">Sub<\/span><\/span><\/span><\/p>\n<p style=\"margin: 0px\"><span style=\"font-family: Courier New\"><span style=\"color: #666666\"><span style=\"font-size: 8pt\">End<\/span> <span style=\"font-size: 8pt\">Class<\/span><\/span><\/span><\/p>\n<\/div>\n<p>Os passos adicionais s\u00e3o exatamente os mesmos: chamar o <em>Build<\/em> no Visual Basic 2010 Express e em seguida executar NETLOAD no Civil 3D para carregar a DLL criada. Finalmente o comando <strong>N<\/strong>UMERAR<strong>C<\/strong>URVA<strong>B<\/strong>ORDO.<\/p>\n<p>Este post conclui o exemplo com curvas de bordo. No pr\u00f3ximo post iremos abordar outros pontos da API.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Por Augusto Gon\u00e7alves, <a href=\"http:\/\/www.autodesk.com\/joinadn\" target=\"_blank\">Autodesk Developer Network<\/a><\/p>\n<p>Este post \u00e9 uma continua\u00e7\u00e3o do <a href=\"http:\/\/civil3dbr.typepad.com\/blog\/2013\/07\/numerando-curvas-de-bordo-via-api.html\">post anterior<\/a>, onde as curvas de bordo foram numeradas. Aqui o objetivo \u00e9 criar uma tabela com o resumo das curvas, contendo o n\u00famero, raio, comprimento, norte\/este do PC e PT.<\/p>\n","protected":false},"author":1431,"featured_media":1137,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-522","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mundo-aec-autodesk"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Tabela de Curvas de Bordo via API | Mundo AEC - Autodesk<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blogs.autodesk.com\/mundoaec\/tabela-de-curvas-de-bordo-via-api\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Pedro Soethe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/tabela-de-curvas-de-bordo-via-api\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/tabela-de-curvas-de-bordo-via-api\\\/\"},\"author\":{\"name\":\"Pedro Soethe\",\"@id\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/#\\\/schema\\\/person\\\/3707a63eb2b5ba94534d68d7e1a65e9c\"},\"headline\":\"Tabela de Curvas de Bordo via API\",\"datePublished\":\"2013-07-12T12:07:39+00:00\",\"dateModified\":\"2016-05-17T16:17:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/tabela-de-curvas-de-bordo-via-api\\\/\"},\"wordCount\":1158,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/tabela-de-curvas-de-bordo-via-api\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/wp-content\\\/uploads\\\/sites\\\/84\\\/2013\\\/07\\\/6a01538e6fd9d0970b0192abfb8df0970d.png\",\"articleSection\":[\"Mundo AEC - Autodesk\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/tabela-de-curvas-de-bordo-via-api\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/tabela-de-curvas-de-bordo-via-api\\\/\",\"url\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/tabela-de-curvas-de-bordo-via-api\\\/\",\"name\":\"Tabela de Curvas de Bordo via API | Mundo AEC - Autodesk\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/tabela-de-curvas-de-bordo-via-api\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/tabela-de-curvas-de-bordo-via-api\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/wp-content\\\/uploads\\\/sites\\\/84\\\/2013\\\/07\\\/6a01538e6fd9d0970b0192abfb8df0970d.png\",\"datePublished\":\"2013-07-12T12:07:39+00:00\",\"dateModified\":\"2016-05-17T16:17:02+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/#\\\/schema\\\/person\\\/3707a63eb2b5ba94534d68d7e1a65e9c\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/tabela-de-curvas-de-bordo-via-api\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/tabela-de-curvas-de-bordo-via-api\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/tabela-de-curvas-de-bordo-via-api\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/wp-content\\\/uploads\\\/sites\\\/84\\\/2013\\\/07\\\/6a01538e6fd9d0970b0192abfb8df0970d.png\",\"contentUrl\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/wp-content\\\/uploads\\\/sites\\\/84\\\/2013\\\/07\\\/6a01538e6fd9d0970b0192abfb8df0970d.png\",\"width\":472,\"height\":178},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/tabela-de-curvas-de-bordo-via-api\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tabela de Curvas de Bordo via API\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/#website\",\"url\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/\",\"name\":\"Mundo AEC - Autodesk\",\"description\":\"Blog Oficial sobre solu\u00e7\u00f5es da Autodesk Brasil\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/#\\\/schema\\\/person\\\/3707a63eb2b5ba94534d68d7e1a65e9c\",\"name\":\"Pedro Soethe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/wp-content\\\/uploads\\\/sites\\\/84\\\/2021\\\/06\\\/30\\\/Capture-150x150.jpg\",\"url\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/wp-content\\\/uploads\\\/sites\\\/84\\\/2021\\\/06\\\/30\\\/Capture-150x150.jpg\",\"contentUrl\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/wp-content\\\/uploads\\\/sites\\\/84\\\/2021\\\/06\\\/30\\\/Capture-150x150.jpg\",\"caption\":\"Pedro Soethe\"},\"description\":\"Pedro Luis Soethe Cursino \u00e9 formado em Engenharia Civil pela Universidade de Taubat\u00e9, tem p\u00f3s-gradua\u00e7\u00e3o em Georreferenciamento pela Faculdade de Pirassununga e em Estradas e Vias Urbanas pela FESP. Trabalha a mais de 15 anos na \u00e1rea de infraestrutura e \u00e9 respons\u00e1vel por v\u00e1rios projetos executados no Brasil em diversas disciplinas como estradas, projetos urbanos, loteamentos, infraestrutura hidro-sanit\u00e1ria, drenagem, terraplanagem entre outras.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/pedrosoethe\\\/\"],\"url\":\"https:\\\/\\\/blogs.autodesk.com\\\/mundoaec\\\/author\\\/pedrosoethe\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Tabela de Curvas de Bordo via API | Mundo AEC - Autodesk","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blogs.autodesk.com\/mundoaec\/tabela-de-curvas-de-bordo-via-api\/","twitter_misc":{"Written by":"Pedro Soethe","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.autodesk.com\/mundoaec\/tabela-de-curvas-de-bordo-via-api\/#article","isPartOf":{"@id":"https:\/\/blogs.autodesk.com\/mundoaec\/tabela-de-curvas-de-bordo-via-api\/"},"author":{"name":"Pedro Soethe","@id":"https:\/\/blogs.autodesk.com\/mundoaec\/#\/schema\/person\/3707a63eb2b5ba94534d68d7e1a65e9c"},"headline":"Tabela de Curvas de Bordo via API","datePublished":"2013-07-12T12:07:39+00:00","dateModified":"2016-05-17T16:17:02+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.autodesk.com\/mundoaec\/tabela-de-curvas-de-bordo-via-api\/"},"wordCount":1158,"commentCount":0,"image":{"@id":"https:\/\/blogs.autodesk.com\/mundoaec\/tabela-de-curvas-de-bordo-via-api\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.autodesk.com\/mundoaec\/wp-content\/uploads\/sites\/84\/2013\/07\/6a01538e6fd9d0970b0192abfb8df0970d.png","articleSection":["Mundo AEC - Autodesk"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.autodesk.com\/mundoaec\/tabela-de-curvas-de-bordo-via-api\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.autodesk.com\/mundoaec\/tabela-de-curvas-de-bordo-via-api\/","url":"https:\/\/blogs.autodesk.com\/mundoaec\/tabela-de-curvas-de-bordo-via-api\/","name":"Tabela de Curvas de Bordo via API | Mundo AEC - Autodesk","isPartOf":{"@id":"https:\/\/blogs.autodesk.com\/mundoaec\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.autodesk.com\/mundoaec\/tabela-de-curvas-de-bordo-via-api\/#primaryimage"},"image":{"@id":"https:\/\/blogs.autodesk.com\/mundoaec\/tabela-de-curvas-de-bordo-via-api\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.autodesk.com\/mundoaec\/wp-content\/uploads\/sites\/84\/2013\/07\/6a01538e6fd9d0970b0192abfb8df0970d.png","datePublished":"2013-07-12T12:07:39+00:00","dateModified":"2016-05-17T16:17:02+00:00","author":{"@id":"https:\/\/blogs.autodesk.com\/mundoaec\/#\/schema\/person\/3707a63eb2b5ba94534d68d7e1a65e9c"},"breadcrumb":{"@id":"https:\/\/blogs.autodesk.com\/mundoaec\/tabela-de-curvas-de-bordo-via-api\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.autodesk.com\/mundoaec\/tabela-de-curvas-de-bordo-via-api\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blogs.autodesk.com\/mundoaec\/tabela-de-curvas-de-bordo-via-api\/#primaryimage","url":"https:\/\/blogs.autodesk.com\/mundoaec\/wp-content\/uploads\/sites\/84\/2013\/07\/6a01538e6fd9d0970b0192abfb8df0970d.png","contentUrl":"https:\/\/blogs.autodesk.com\/mundoaec\/wp-content\/uploads\/sites\/84\/2013\/07\/6a01538e6fd9d0970b0192abfb8df0970d.png","width":472,"height":178},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.autodesk.com\/mundoaec\/tabela-de-curvas-de-bordo-via-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blogs.autodesk.com\/mundoaec\/"},{"@type":"ListItem","position":2,"name":"Tabela de Curvas de Bordo via API"}]},{"@type":"WebSite","@id":"https:\/\/blogs.autodesk.com\/mundoaec\/#website","url":"https:\/\/blogs.autodesk.com\/mundoaec\/","name":"Mundo AEC - Autodesk","description":"Blog Oficial sobre solu\u00e7\u00f5es da Autodesk Brasil","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.autodesk.com\/mundoaec\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blogs.autodesk.com\/mundoaec\/#\/schema\/person\/3707a63eb2b5ba94534d68d7e1a65e9c","name":"Pedro Soethe","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blogs.autodesk.com\/mundoaec\/wp-content\/uploads\/sites\/84\/2021\/06\/30\/Capture-150x150.jpg","url":"https:\/\/blogs.autodesk.com\/mundoaec\/wp-content\/uploads\/sites\/84\/2021\/06\/30\/Capture-150x150.jpg","contentUrl":"https:\/\/blogs.autodesk.com\/mundoaec\/wp-content\/uploads\/sites\/84\/2021\/06\/30\/Capture-150x150.jpg","caption":"Pedro Soethe"},"description":"Pedro Luis Soethe Cursino \u00e9 formado em Engenharia Civil pela Universidade de Taubat\u00e9, tem p\u00f3s-gradua\u00e7\u00e3o em Georreferenciamento pela Faculdade de Pirassununga e em Estradas e Vias Urbanas pela FESP. Trabalha a mais de 15 anos na \u00e1rea de infraestrutura e \u00e9 respons\u00e1vel por v\u00e1rios projetos executados no Brasil em diversas disciplinas como estradas, projetos urbanos, loteamentos, infraestrutura hidro-sanit\u00e1ria, drenagem, terraplanagem entre outras.","sameAs":["https:\/\/www.linkedin.com\/in\/pedrosoethe\/"],"url":"https:\/\/blogs.autodesk.com\/mundoaec\/author\/pedrosoethe\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.autodesk.com\/mundoaec\/wp-json\/wp\/v2\/posts\/522","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.autodesk.com\/mundoaec\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.autodesk.com\/mundoaec\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.autodesk.com\/mundoaec\/wp-json\/wp\/v2\/users\/1431"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.autodesk.com\/mundoaec\/wp-json\/wp\/v2\/comments?post=522"}],"version-history":[{"count":0,"href":"https:\/\/blogs.autodesk.com\/mundoaec\/wp-json\/wp\/v2\/posts\/522\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.autodesk.com\/mundoaec\/wp-json\/wp\/v2\/media\/1137"}],"wp:attachment":[{"href":"https:\/\/blogs.autodesk.com\/mundoaec\/wp-json\/wp\/v2\/media?parent=522"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.autodesk.com\/mundoaec\/wp-json\/wp\/v2\/categories?post=522"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.autodesk.com\/mundoaec\/wp-json\/wp\/v2\/tags?post=522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}