About ed.SelectWindow select range

About ed.SelectWindow select range

sdphg
Enthusiast Enthusiast
729 Views
4 Replies
Message 1 of 5

About ed.SelectWindow select range

sdphg
Enthusiast
Enthusiast

I find the ed.SelectWindow is not always select the correct range. with drawing zoom out, the range is not within the two points specified, the range is larger than the actual range.that means the ed.SelectWindow can not be trusted.why and how can get rid of that?

thanks.

 

0 Likes
730 Views
4 Replies
Replies (4)
Message 2 of 5

Hallex
Advisor
Advisor

You may want to zoom window before you run your sample

   Public Sub ZoomWindow(db As Database, minpt As Point2d, maxpt As Point2d)
        Dim doc As Document = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument
        Dim view As ViewTableRecord = New ViewTableRecord()
        view.CenterPoint = (minpt + (maxpt - minpt) / 2.0)
        view.Height = (maxpt.Y - minpt.Y)
        view.Width = (maxpt.X - minpt.X)
        doc.Editor.SetCurrentView(view)
        db.UpdateExt(True)
    End Sub

    <CommandMethod("ZOOMW")> _
    Public Sub ZoomREctangle()
        Dim doc As Document = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument
        Dim db As Database = doc.Database
        ZoomWindow(db, New Point2d(2, 2), New Point2d(8, 8))
    End Sub

 

~'J'~

_____________________________________
C6309D9E0751D165D0934D0621DFF27919
0 Likes
Message 3 of 5

sdphg
Enthusiast
Enthusiast

thanks Hallex.but I already zoomed before  ed.SelectWindow.

0 Likes
Message 4 of 5

_gile
Consultant
Consultant

Hi,

 

How did you zoom ?

Remind SendStringToExecute (or SendCommand) doesn't run synchronously and may happen after the selection.

Use a hard-coded zoom method as shown by Hallex.



Gilles Chanteau
Programmation AutoCAD LISP/.NET
GileCAD
GitHub

0 Likes
Message 5 of 5

sdphg
Enthusiast
Enthusiast

thanks gile

Actually, I run command ZOOM E first,then run the command to execute ed.SelectWindow.

And the fact is, if the view is large enough the selection is correct,but when Zoom extent or zoom out to a very small size, the selection always contains some entities outside the range.

0 Likes