Bezieht sich auf | |||
Produkt(e): | MicroStation | ||
Version(en): | 08.11.09.578 | ||
Umgebung: | N\A | ||
Produktbereich: | Programmierung | ||
Produktunterbereich: | VBA | ||
Ursprünglicher Autor: | Artur Goldsweer, Bentley Technical Support Group | ||
Hintergrund:
Es liegen Koordinaten im aktuellen GCS als Längen- und Breitengrade vor.
Wie können mit diesen Angaben Elemente in der aktiven Zeichnung erstellt werden?
Lösung:
Für das Platzieren von Elementen werden Koordinaten im XYZ Format benötigt. Wenn die Koordinaten als Längen- und Breitegrade vorliegen, kann man dazu eine Umrechnung über das aktive Geokoordinatensystem vornehmen. Konkret also eine Konvertierung vom Typ GeoPoint3D nach Point3d.
Hier dazu ein Beispiel, wie dies aussehen kann:
Sub latlongtest() Dim GCS As GeographicCoordinateSystem Set GCS = ActiveModelReference.GetGCS(True) Dim pLL1, pLL2 As GeoPoint3D Dim pXY1, pXY2 As Point3d ' 1. Punkt in GCS Koordinaten: pLL1.Elevation = 0 pLL1.Latitude = 54.5 pLL1.Longitude = 10.5 ' 2. Punkt in GCS Koordinaten: pLL2.Elevation = 0 pLL2.Latitude = 54 pLL2.Longitude = 9 pXY1 = GCS.CartesianFromLatLong(pLatLong(0)) pXY2 = GCS.CartesianFromLatLong(pLatLong(1)) Dim oLine As LineElement Set oLine = CreateLineElement2(Nothing, pXY1, pXY2) ActiveModelReference.AddElement oLine End Sub