Revit API Forum
Welcome to Autodesk’s Revit API Forums. Share your knowledge, ask questions, and explore popular Revit API topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

programmatically zoom/pan?

6 REPLIES 6
Reply
Message 1 of 7
chuck.han
2632 Views, 6 Replies

programmatically zoom/pan?

I'm racking my brains on this one.  I can't seem to find a way to programmatically zoom/pan.  I know I can zoom to the extents of the selected objects, but that's not what I want.

 

thanks in advance, Chuck

Tags (1)
6 REPLIES 6
Message 2 of 7
NatCad74
in reply to: chuck.han

Don't believe it's possible I would also like to save current extents, center point & zoom for the current view to re-use on another level which would put the user in the same spot.

Message 3 of 7
Dale.Bartlett
in reply to: NatCad74

I simply want to Zoom Fit in the current active view. Seems simple but again I can't find the answer. Any takers? Thanks Dale




______________
Yes, I'm Satoshi.
Message 4 of 7
NatCad74
in reply to: chuck.han

You could try this worked for what I needed a while ago now... http://forums.augi.com/showthread.php?106364-lower-amp-upper-bounds-of-the-current-window-view

 

Imports AC_App = Autodesk.AutoCAD.ApplicationServices.Application

Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.Geometry
Imports Autodesk.AutoCAD.EditorInput
Imports Autodesk.AutoCAD.Interop

Public Class FloorSurferView

    Private pMax As Point3d
    Private pMin As Point3d

    Public Sub New()
        SaveView()
    End Sub

    Private Sub SaveView()

        Dim ed As Editor = AC_App.DocumentManager.MdiActiveDocument.Editor

        Using acView As ViewTableRecord = ed.GetCurrentView()

            Dim pCenter As Point3d = New Point3d(acView.CenterPoint.X, acView.CenterPoint.Y, 0)
            pMin = New Point3d(pCenter.X - (acView.Width / 2), pCenter.Y - (acView.Height / 2), 0)
            pMax = New Point3d(pCenter.X + (acView.Width / 2), pCenter.Y + (acView.Height / 2), 0)

        End Using

    End Sub

    Public Sub Zoom()

        Dim app As AcadApplication = CType(Application.AcadApplication, AcadApplication)
        Dim lower() As Double = New Double() {pMin.X, pMin.Y, pMin.Z}
        Dim upper() As Double = New Double() {pMax.X, pMax.Y, pMax.Z}
        app.ZoomWindow(lower, upper)

    End Sub

End Class

 

Message 5 of 7
Dale.Bartlett
in reply to: chuck.han

Thanks for the reply, but I need this for Revit (2013). Regards, Dale




______________
Yes, I'm Satoshi.
Message 6 of 7

Hey guys,

 

you seem to have missed my last post:

 

http://thebuildingcoder.typepad.com/blog/2012/06/uiview-and-windows-device-coordinates.html

 

The UIView class provides full support for pan and zoom. That is what it is there for, as far as I can tell.

 

Best regards,

 

Jeremy
--
Jeremy Tammik
Autodesk Developer Network -- http://www.autodesk.com/joinadn
The Building Coder -- http://thebuildingcoder.typepad.com




Jeremy Tammik
Developer Technical Services
Autodesk Developer Network, ADN Open
The Building Coder

Message 7 of 7
chuck.han
in reply to: jeremytammik

Thanks, Jeremy!

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk DevCon in Munich May 28-29th


Rail Community