Koordinaten von Polygonzügen in Datei exportieren


 Produkt(e):MicroStation
 Version(en):08.11.09.829
 Umgebung:Windows 8
 Produktbereich:Programmierung
 Produktunterbereich:VBA

 

Hintergrundinformation

 Für verschiedene Anwendungen kann es von Interesse sein, die gesamten Koordinaten eines Polygonzugs (Linestring) zu erhalten.

Im folgenden Beispiel wird eine VBA Routine vorgestellt, die als Ansatz verwendet werden kann.

Erforderliche Schritte

Dieser Ansatz einer VBA Routine erstellt zunächst eine Auswahl aller Polygonzüge des aktiven Modells und liest von jedem Polygonzug alle Koordinaten (Vertices) aus, um diese dann in eine Textdatei zu schreiben.
Diese Textdatei wird im selben Verzeichnis angelegt, in dem sich die Zeichnung befindet.

Hier nun das Beispiel

 

Sub ls2file()
Dim Ee As ElementEnumerator
Dim Sc As New ElementScanCriteria
Dim pList() As Point3d
Dim p As Point3d
Dim i As Long
Open ActiveDesignFile.FullName + "-coords.txt" For Output As #1
Sc.ExcludeAllTypes
Sc.IncludeType msdElementTypeLineString
Set Ee = ActiveModelReference.Scan(Sc)
Do While Ee.MoveNext
    pList = Ee.Current.AsVertexList.GetVertices
    Print #1, "Linestring with id: " + Str(DLongToLong(Ee.Current.ID))
    For i = LBound(pList) To UBound(pList)
        p = pList(i)   ' pList enthält jeweils alle Vertices eines Linestrings
        Print #1, "Vertex " + Str(i) + " (x,y,z): " + Str(p.X) + ", " + Str(p.Y) + ", " + Str(p.Z)
    Next
    Print #1, " "
Loop
Close #1
End Sub

 

 

 

 

 Ursprünglicher Autor:Artur Goldsweer