Polyline

Dúvidas sobre VB para AutoCAD...

Moderador: Moderadores

Responder
Avatar do usuário
zeluismc
Papel
Papel
Mensagens: 9
Registrado em: Ter 17 Jun 2008 12:00:00 am

Polyline

Mensagem por zeluismc »

Preciso de extrair as coordenadas de uma polylinha e salva-las em um arquivo de texto.


Será que alguem saberia me responder como faço para obter coordenadas X,Y,Z de cada vértice de uma polylinha?


Se alguem puder me ajudar, desde ja agradeço!
Avatar do usuário
unVolt
Bronze 1/3
Bronze 1/3
Mensagens: 185
Registrado em: Dom 17 Dez 2006 11:00:00 pm
Localização: Jundiaí - SP

Mensagem por unVolt »

Buscando por "polyline" e "coordenadas" aqui no fórum é possível encontrar os seguintes tópicos:

http://www.autolisp.com.br/autolisp/mod ... oordenadas
http://www.autolisp.com.br/autolisp/mod ... oordenadas

O primeiro usa visual lisp, e o segundo autolisp puro.
And I guess I just don't know
André William
Avatar do usuário
zeluismc
Papel
Papel
Mensagens: 9
Registrado em: Ter 17 Jun 2008 12:00:00 am

Mensagem por zeluismc »

Obrigado pelas informações !!!

Eu ja havia procurado no forum, e só encontrei a solução em Autolisp...

Como não conheço Autolisp "apesar de satisfazer o que preciso", gostaria de resolver esse problema com VBA.

Se alguem puder ajudar, desde ja agradeço!!!
Avatar do usuário
unVolt
Bronze 1/3
Bronze 1/3
Mensagens: 185
Registrado em: Dom 17 Dez 2006 11:00:00 pm
Localização: Jundiaí - SP

Mensagem por unVolt »

Opa, desculpe, fui pelo link dos tópicos mais recentes e não vi que esse estava na área de vba.
Mas segue aí um exemplo:

Código: Selecionar todos

Public Sub teste()
    Dim ent As AcadObject
    Dim pt, coords As Variant
    Dim i, n As Integer
    Dim str, valores(3) As String
    
    ThisDrawing.Utility.GetEntity ent, pt
    
    coords = ent.Coordinates
    If ent.ObjectName = "AcDbPolyline" Then
        n = 2
    Else
        n = 3
    End If

    valores(0) = "X: "
    valores(1) = "Y: "
    valores(2) = "Z: "
    For i = LBound(coords) To UBound(coords) Step n
        str = str + Chr(13)
        Dim x As Integer
        For x = 0 To n - 1
            str = str + valores(x) + CStr(coords(i + x)) + " "
        Next x
    Next i
    
    MsgBox str
End Sub
And I guess I just don't know
André William
Avatar do usuário
zeluismc
Papel
Papel
Mensagens: 9
Registrado em: Ter 17 Jun 2008 12:00:00 am

Mensagem por zeluismc »

Obrigado!!!!

Éra isso mesmo q estava precisando....


vlw!
Responder