TheSwamp
Code Red => .NET => Topic started by: sybold on November 06, 2014, 06:24:02 AM
-
using these examples,
http://through-the-interface.typepad.com/through_the_interface/2014/09/translating-between-autocad-drawing-points-and-geographic-locations-using-net-part-1.html (http://through-the-interface.typepad.com/through_the_interface/2014/09/translating-between-autocad-drawing-points-and-geographic-locations-using-net-part-1.html)
i got those working.
how can i get the current geocoordinatesystem to be used in a form, or to use it to search in the whole list.
<CommandMethod("DCS")> _
Public Sub DetectCoordinateSystems()
Dim doc = Application.DocumentManager.MdiActiveDocument
If doc Is Nothing Then
Return
End If
Dim ed = doc.Editor
'
If HasGeoData(doc.Database) Then
Using tr = doc.Database.TransactionManager.StartOpenCloseTransaction()
Dim gd = TryCast(tr.GetObject(doc.Database.GeoDataObject, OpenMode.ForRead), GeoLocationData)
ed.WriteMessage(vbLf & gd.CoordinateSystem)
End Using
Else
ed.WriteMessage(vbLf & "niet gevonden")
End If
End Sub
i got this now, it outputs a xml string
-
i got it!
<CommandMethod("DCS")> _
Public Sub DetectCoordinateSystems()
Dim doc = Application.DocumentManager.MdiActiveDocument
If doc Is Nothing Then
Return
End If
Dim ed = doc.Editor
'
If HasGeoData(doc.Database) Then
Using tr = doc.Database.TransactionManager.StartOpenCloseTransaction()
Dim gd = TryCast(tr.GetObject(doc.Database.GeoDataObject, OpenMode.ForRead), GeoLocationData)
Dim css = GeoCoordinateSystem.Create(gd.CoordinateSystem)
ed.WriteMessage(vbLf & css.ID)
End Using
Else
ed.WriteMessage(vbLf & "niet gevonden")
End If
End Sub
Private Shared Function HasGeoData(db As Database) As Boolean
' Check whether the drawing already has geolocation data
Dim GeoData As Boolean = False
Try
Dim gdId = db.GeoDataObject
GeoData = True
Catch
End Try
Return GeoData
End Function
-
How about this?
Application.GetSystemVariable("CGEOCS")