пара функций, которые помогают мне заставить видовой экран смотреть в нужную точку модели
Public Sub VPAdjust(VP As AcadPViewport, Tg As Variant)
Dim Min, Max As Variant
VP.GetBoundingBox Min, Max
oldMode = ThisDrawing.MSpace
ThisDrawing.MSpace = True
Min = ThisDrawing.Utility.TranslateCoordinates(Min, acPaperSpaceDCS, acDisplayDCS, False)
Tg(0) = Tg(0) - Min(0)
Tg(1) = Tg(1) - Min(1)
VP.Target = Tg
ThisDrawing.MSpace = oldMode
End Sub
Public Sub VPCoords(VP As AcadPViewport, ll, ur)
'Calculates the extents of a PaperSpace viewport in ModelSpace units
'Arguments: An AcadPViewport entity and two variants.
' The variants will be filled with the corner points.
Dim Min, Max, oldMode As Boolean
VP.GetBoundingBox Min, Max
oldMode = ThisDrawing.MSpace
ThisDrawing.MSpace = True
ll = ThisDrawing.Utility.TranslateCoordinates(Min, acPaperSpaceDCS, acDisplayDCS, False)
ur = ThisDrawing.Utility.TranslateCoordinates(Max, acPaperSpaceDCS, acDisplayDCS, False)
ThisDrawing.MSpace = oldMode
End Sub
собственно, ключевым методом является TranslateCoordinates