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: 702 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:
' 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 |
|
|
Veja mais Dicas e truques de AutoCAD VBA |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




