ho provato ad esercitarmi con il mio VBA maccheronico per leggere i vertici di una polilinea.
funziona così:
1) salvare la polilinea in dxf versione R12
2) aprire il dxf con blocco note e copiare il testo
3) incollare il testo in cella 1,1
4) avviare macro
la scelta di legare il codice alla versione r12 di dxf mi pare il male minore.
ha la struttura più semplice ed in acad è sempre rimasta la possibilità di salvare in questo formato.
il codice non è elegante ma mi pare funzioni.
Sub leggipolydxf()
Cells(1, 1).Activate
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
numrighe = Selection.Rows.Count
Cells(1, 9) = "numero righe dxf"
Cells(1, 10) = numrighe
Cells(2, 9) = "numero punti"
Cells(1, 3) = "punto n."
Cells(1, 4) = "X"
Cells(1, 5) = "Y"
Count = 0
i = 1
Do While Cells(i, 1) <> "EOF"
If Cells(i, 1).Value = "VERTEX" Then
Count = Count + 1
Cells(Count + 1, 3) = Count
Cells(Count + 1, 4) = Cells(i + 6, 1)
Cells(Count + 1, 5) = Cells(i + 8, 1)
i = i + 9
Else
i = i + 1
End If
Loop
Cells(2, 10) = Count
End Sub
in alternativa a nella versione 2008 di acad è stata introdotta la funzione "data extraction", che permette di estrarre tabelle di dati relative agli oggetti, quindi p.e. le coordinate dei vertici di una o più polilinee.