Hi all,
Is it possible to either lock the viewport scale while allowing you to still pan within the viewport? Or, is it possible to:
Basically our viewports are preset for scale but we cannot lock them because the drawing may need to be repositioned with a pan. If anyone accidentally rolls their mouse-wheel then the scale is lost to the inexperienced Cadder (Yes they live, and on my watch) . I would think it could be easily managed since the viewport scale should remain editable from the Application Status Bar.
Please help, if possible.
Thank you in advance.
A few thoughts that might help.
Viewports are easy to unlock/lock (on status bar) so I always lock them as soon as the scale is decided. When I need to pan the viewport in the layout, I unlock, pan, and relock. That could probably be coded as a command if that would help.
To work in a viewport beyond the boundaries of the viewport, just double click the viewport boundary itself. This puts you into vpmax. Double click red line to return. VPMAX gives you the whole model space to work and sets layer visibility and scale to what the viewport is set to.
Jeez that's a bummer, I think everyone's had the OOPS! panned in a viewport moment or two, but usually undos are enough if the people working on the dwgs are well enough informed. In the case that they're not, and in addition to what's already been said in this thread couldn't you create a reactor to when a vport is activated to redefine pan to just be a princ of "Cannot Pan while VP is unlocked"? Just for your consideration...not even sure if pan is setup as a typical command that you could undefine.
And of course to redefine pan with the standard definition when vp is not active
Unfortunately discovered long after the file was saved and closed. Superintendent, discover discrepancy in the field.
(This post is to hopefully uncover a longterm solution.)
Scot-65
A gift of extraordinary Common Sense does not require an Acronym Suffix to be added to my given name.
Sorry for resurrecting this old thread, but I want to be able to do exactly as you describe - prevent the viewport scale from changing whilst still allowing panning.
Did you come up with a solution?
I was pointed at this:
http://b-k-g.nl/bkg_viewport.html
And the BKG_ViewportAlign function is sort of the right idea, but it would be nicer to use mouse panning...
Scot-65
A gift of extraordinary Common Sense does not require an Acronym Suffix to be added to my given name.
Thanks for the suggestion, but I don't think its quite what I was looking for.
Typically users are going to want to adjust what is visible in their paperspace viewport for printing purposes. They'll do this by zooming and panning, but that will leave them with a 'random' scale which more often than not they'll want to rationalise (i.e., they don't want to print at 1:97.85378, they want to print at 1:100). It seems like an oversight that you can't set the scale and lock it at the desired level, while still being able to move the design around - especially since pan and zoom are typically on the same (centre) mouse button.
Just trying to protect users from accidentally changing the scale whilst positioning their design for printing, and/or stop having to remind them to check the scale before printing.
I could code in some nag screens (e.g., before printing "Have you checked the scale?") or I could 'fix' odd scales myself before printing - but that inherently changes was is visible and might peeve users.
Here is what I do:
* I save a view for every viewport (View command, create new.. which I usally name: Sheet_View to ease things), I don't lock the viewports, I zoom and pan as I please, and then i recall the saved view again (View command again, double click the saved view)..
* If I want to pan without messing the zoom, I don't use the wheel, I rather use the old days command "P"(for Pan) and I pan with the left Button of the mouse.. and resave the new final view..
* Before sending the drawing to any one I lock all viewports..
* If any one happened to mess any thing I just recall the saved view..
Note: Be careful..Before using the saved views make sure you want to recall the saved layer snapshot with them or not, and disable or enable the layer snapshot accordingly.
-------
Hope that helps..
@elshawadfy wrote:
...
* If I want to pan without messing the zoom, I don't use the wheel, I rather use the old days command "P"(for Pan) and I pan with the left Button of the mouse.. and resave the new final view..
...
Another useful command to PAN in Floating Model Space without messing the zoom, is the 'Real-Time PAN' _RTPAN
Hope this helps,
Henrique
Thanks Henrique,
And there is also "-P" for "-Pan" that allows panning with precision, in case you know exactly the distance you need to pan 🙂
@elshawadfy wrote:
Thanks Henrique,
And there is also "-P" for "-Pan" that allows panning with precision, in case you know exactly the distance you need to pan 🙂
You're welcome, elshawadfy!
Henrique
@scot-65 wrote:
Have you tried to stretch the [stand-alone] viewport to mimic a pan? When finished, move the viewport back into position...
@mid-awe wrote:
That could work to extend the view, not to reposition it.
I have used that approach sometimes, and you can reposition the view that way. Select the Viewport boundary in Paper Space, grab a corner, drag it over to extend the view in the direction you want to see more of what's inside, grab a corner on the opposite side and bring in the edge by the same amount, and you will have effectively Panned in the Viewport without any effect on the scale. Then Move the Viewport back by the same amount. If you do it all [including the original setting up of the Viewports] with Snap on, it's easy to be very precise about the resulting change in what's seen, and to end up with the position of the Viewport boundary exactly where it was, so that nothing changes about something like its relationship to a title under it.
Thanks everyone for your input, but many of these approaches might be too sophisticated for some of my users (I'm developing an ARX app for not-traditionally-CAD-y niche market). I might have to add a tool that lets the user specify what area they want to print then work out an appropriate scale for them.
All they need to know to set the scale iso set the scale of the view, all they need is:
1 They should copy the scale written in the title block under the view
2 Select the view and go to the "Custom Scale" property in its properties and paste the copied value
3 And when they pan inside, they should use "P" not the wheel..
@Kent1Cooper wrote:
I have used that approach sometimes, and you can reposition the view that way. Select the Viewport boundary in Paper Space, grab a corner, drag it over to extend the view in the direction you want to see more of what's inside, grab a corner on the opposite side and bring in the edge by the same amount, and you will have effectively Panned in the Viewport without any effect on the scale. Then Move the Viewport back by the same amount. If you do it all [including the original setting up of the Viewports] with Snap on, it's easy to be very precise about the resulting change in what's seen, and to end up with the position of the Viewport boundary exactly where it was, so that nothing changes about something like its relationship to a title under it.
I've also used that technique before.. But now that you mensioned it, I had an idea to take things a step even further 🙂 ..
Check - if you may - the attatched dwg: When the dashed polygon moves - the view pans.. But when you move the underlaying polygon, the view, or cross slect all, the frame and the view move normally ..
The idea is to do the following:
1- Clip the view port,
2- Constrain the clipping polygon to another polygon (The corners of the clipping polygon are to be made coincidents to the corners of the red dashed polygon)
-------------
- The normal behavior when moving the clipping polygon is to move the entire view..
- But due to constrains, when moving the red polygon (the constraining pol.) the points of the clipping pol. get edited - not moved, resulting in view panning..
Hope that provides a viable solution ..