I'm trying to provide the user with some alternative vies of the drawing from within my application.
I picked up this code from an earlier post and have modified it to what I thought should work, but is has no effect on my screen display even after I exit from the form. Searching the internet has not found a solution, so I need help again.
Private Sub ComboBoxView_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBoxView.SelectedIndexChanged Dim myDwg As Document = Application.DocumentManager.MdiActiveDocument Dim myDB As DatabaseServices.Database = myDwg.Database Dim myTransMan As DatabaseServices.TransactionManager = myDwg.TransactionManager Try myTransMan.QueueForGraphicsFlush() ' Have tried with and without this line Using myTrans As Transaction = myTransMan.StartTransaction Dim vpr As ViewportTableRecord = DirectCast(myTrans.GetObject(myDB.CurrentViewportT
ableRecordId, OpenMode.ForWrite), ViewportTableRecord) If vpr IsNot Nothing Then Select Case Me.ComboBoxView.Text Case "Plan" vpr.SetViewDirection(OrthographicView.TopView) Case "Front elevation" vpr.SetViewDirection(OrthographicView.FrontView) Case "Side elevation" vpr.SetViewDirection(OrthographicView.LeftView) Case "SW isometric" vpr.ViewDirection = New Vector3d(1, -1, -1) Case "NW isometric" vpr.ViewDirection = New Vector3d(-1, 1, 1) Case "SE isometric" vpr.ViewDirection = New Vector3d(1, -1, 1) Case "NE isometric" vpr.ViewDirection = New Vector3d(1, 1, -1) End Select End If myDwg.Editor.UpdateScreen() ' Have tried with this line inside and outside the 'Using' section myTransMan.QueueForGraphicsFlush() ' Have tried with and without this line myTrans.Commit() End Using Catch ex As SystemException MsgBox(ex.Message) End Try End Sub
I note that I have probably misguessed the direction vectors, but I can handle that by experiment once I get the screen updating.
Solved! Go to Solution.
after modifying the vpr you have to tell the editor to update it's settings from the database. Try this:
HTH, - alfred -