Code:
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.Geometry
Imports Autodesk.AutoCAD
Imports Autodesk.AutoCAD.ApplicationServices...
'Update der Verbindung zur aktuellen DWG
<Global.System.Diagnostics.DebuggerStepThroughAttribute()>
Private Sub AcReInit()
'TODO: Add constructor logic here
Try
_AcDocument = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument
_Editor = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor
_Database = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Database
Catch ex As System.Exception
_TryReport.Show("unvorhergesehener Fehler in EBL.Service > Acad > AcReInit", "")
End Try
End Sub
....
''' <summary>
''' Zoom Punkt mit Fensterbreite
''' </summary>
''' <param name="R_UL">Rechtswert des Bezugspunkt - unten links</para1m>
''' <param name="H_UL">Hochwert des Bezugspunkt - unten links</param>
''' <param name="R_OR">Rechtswert des Bezugspunkt - oben rechts</para1m>
''' <param name="H_OR">Hochwert des Bezugspunkt - oben rechts</param>
''' <param name="DialogTitle">optional Titelzeile bei Fehler</param>
Public Function ZoomWindow(ByVal R_UL As Double, ByVal H_UL As Double, ByVal R_OR As Double, ByVal H_OR As Double, Optional ByVal DialogTitle As String = _k_CompanyName) As Boolean
' ------ http://ma22-wiki-001/eblwiki/index.php?title=Acad_(Klasse_von_EBL.Service)#Zoom_Window ------
Dim AcDoc As Autodesk.AutoCAD.ApplicationServices.Document = Autodesk.AutoCAD.ApplicationServices.Core.Application.DocumentManager.MdiActiveDocument
Dim cmd As String = ""
Dim Rückgabewert As Boolean = True
AcReInit()
Try
' Quelle: https://www.keanw.com/2008/06/zooming-to-a-wi.html
Dim min2d As Point2d = New Point2d(R_UL, H_UL)
Dim max2d As Point2d = New Point2d(R_OR, H_OR)
Dim view As ViewTableRecord = New ViewTableRecord()
view.CenterPoint = min2d + ((max2d - min2d) / 2.0)
view.Height = max2d.Y - min2d.Y
view.Width = max2d.X - min2d.X
AcDoc.Editor.SetCurrentView(view)
Catch ex As Exception
Dim TryReport As New EBL.Logger.TryCatchReport
TryReport.Show("unerwarteter Fehler in EBL.Service > Miscellaneous" & " ZoomWindow ",
ex.ToString & vbCrLf & "cmd: " & cmd, DialogTitle)
Rückgabewert = False
End Try
Return Rückgabewert
End Function