| Você está aqui: AutoCAD VBA ::: Dicas & Truques ::: Polyline - Polilinha | 
| Como extrair as coordenadas de uma polilinha do AutoCAD e salvar em um arquivo texto usando AutoCAD VBAQuantidade de visualizações: 553 vezes | 
| Nesta dica mostrarei como podemos usar a linguagem AutoCAD VBA para extrair as coordenadas dos vértices de uma polilinha e salvar essas coordenadas em um arquivo texto. Veja que no exemplo eu usei um objeto AcadLWPolyline, que possui apenas as coordenas x e y para cada um dos seus vértices. Em outras dicas dessa seção eu mostro como isso pode ser feito para polilinhas 3D. A polilinha é selecionada na área de desenho do AutoCAD usando a função ThisDrawing.Utility.GetEntity. Depois da seleção, nós obtemos as coordenadas da polilinha usando a propriedade Coordinates. O passo seguinte é percorrer esse vetor de coordenadas usando um laço For e as funções LBound e UBound, que retornam o índice inicial e o índice final do vetor. Note também o uso da função Format para formatar a quantidade de casas decimais na hora de gravar as coordenadas no arquivo texto. Veja o código AutoCAD VBA completo para o exemplo: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
' Esta macro AutoCAD VBA mostra como podemos selecionar uma
' polilinha na área de desenho do AutoCAD e gravar as coordenadas
' de seus vértices em um arquivo texto
Sub ExtrairCoordenadasPolilinha()
  ' para o caso de acontecer algum erro
  On Error GoTo Finalizar
  
  ' arquivo no qual vamos gravar as coordenadas
  Open "C:\\estudos_autocad_vba\\coordenadas.txt" For Output As #1
  ' para guardar a polilinha
  Dim polilinha As AcadLWPolyline
  ' para controlar o laço
  Dim i As Integer
  ' para guardar as coordenadas x e y dos vértices
  Dim x As Double, y As Double
  ' a localização do objeto na área de desenho
  Dim localizacao As Variant
  ' para guardar as coordenadas
  Dim coordenadas As Variant
  ' o comprimento da polilinha (perímetro)
  Dim comprimento As Double
 
  ' vamos pedir para o usuário selecionar a polilinha
  ThisDrawing.Utility.GetEntity polilinha, localizacao, _
    "Selecione uma polilinha"
  ' vamos obter as coordenadas da polilinha selecionada
  coordenadas = polilinha.Coordinates
  ' agora percorremos as coordenadas de cada vértice
  For i = LBound(coordenadas) To UBound(coordenadas) Step 2
    ' obtemos a coordenada x do vértice
    x = Format(polilinha.Coordinates(i), "0.000")
    ' obtemos a coordenada x do vértice
    y = Format(polilinha.Coordinates(i + 1), "0.000")
    ' escrevemos os valores no arquivo
    Print #1, "X = " & x; "; Y = " & y
  Next i
  ' obtemos o comprimento da polilinha
  comprimento = Format(polilinha.length, "0.000")
  Print #1, vbCrLf & "Comprimento da polilinha: " & comprimento
  Print #1, "Número de vértices: " & (UBound(coordenadas) + 1) / 2
  
  MsgBox "Os dados foram gravados com sucesso."
  
  ' fecha o arquivo
  Close (1)
Exit Sub
  
' para o caso de erro
Finalizar:
  MsgBox "Houve um erro."
End Sub
Ao executar este código AutoCAD VBA e selecionar uma polilinha na área de desenho do AutoCAD, um arquivo coordenadas.txt será gravado com as seguintes informações: X = 73,848; Y = 32,408 X = 41,948; Y = 34,997 X = 28,083; Y = 22,388 X = 55,249; Y = 9,328 X = 79,259; Y = 12,593 Comprimento da polilinha: 125,659 Número de vértices: 5 | 
|  Link para compartilhar na Internet ou com seus amigos: | 
| Veja mais Dicas e truques de AutoCAD VBA | 
| Dicas e truques de outras linguagens | 
| E-Books em PDF | ||||
| 
 | ||||
| 
 | ||||
| Linguagens Mais Populares | ||||
| 
			   1º lugar: Java | 


 
 





