Stockholm, SWEDEN, 2014.05.04 =================== PeekView v1.2.5 =================== INTRODUCTION: PeekView is a discrete tool which is allowing you to toggle View Display Style "on-the-fly" by simply pressing a hotkey. Pressing the same hotkey again will return you to the previous View Display Style (the original View Style will be called baseline). This is why it is called PeekView: it peeks into another view display style while preserving your original setup. For example you can peek from Wireframe to Smooth and then return to Wireframe with the same hotkey. PeekView always preserves all previous Display Styles for all affected views. When you peek into another Style you do it with assumed intent of returning to previous one once you are done with peeking. This effectively means that at any given moment there are only two View Display Styles maintained for each View: the current one and the previous one. What the previous one (the baseline) contains is decided by the state of 'Keep last peek' toggle. Keep last peek toggle to change baseline Style: ----------------------------------------------- When it is 'on', when changing View Display Style and subsequently using yet another one by pressing another hotkey, whatever the style was immediately before it will be your new baseline. For example going from Wireframe to Smooth with one hotkey, and then to Illustration with another one, your new baseline will be Smooth. When it is 'off', when changing View Display Style and subsequently using yet another by pressing another hotkey, the original baseline will be used when you are returning from the peek. For example going from Wireframe to Smooth with one hotkey, and then to Illustration with another one, your baseline still will be Wireframe. Pressing the same hotkey twice swaps those two Styles (activate the other one). You can define up to three different hotkeys for three different view Styles. The target view option button: ------------------------------ The 'Target view' selection can be either the view explicitly set by you or it will be selected dynamically, depending on the 'Target view' setting. Most 'Target view' options are fairly self-explaining: for example 'Topmost' means the view on the top of the view stack, 'Cursor' means the one which is currently beneath the current position of your mouse cursor, etc. but one option is different: The '> icon: Zoom, Pan, Rotate' option: When this option is selected, the last view where you selected the viewing command from its View Control icon bar becomes dynamically rendered whenever the cursor is within this view. As you are not using the hotkey to flip the render styles here, the used View Display Style must be assigned differently. Normally, it is either the Style assigned to the first hotkey or the one you used most recently. Note that you can override this as described below. There are two ways to change the View Display Style when the target view is set to '> icon: Zoom, Pan, Rotate' (use the hotkey in both cases): 1. Temporarily override active Style: Do it when your cursor is *inside* the target view when pressing the hotkey. 2. Set the Style permanently: Do it when cursor is *outside* of the view area when you are pressing the hotkey. If the PeekView dialog box is visible the '>' character will confirm your selection. The chosen setting for View Display Style for viewing commands can now be saved. When to use overrides: ---------------------- Additionally, in peek mode, any of view attributes (like line weights, dimensions, etc.) can be overridden to present the peeked view exactly as you want, regardless of how the view attributes were set originally. Previous view attributes will return when you are done with the peek. This is handy for example when you want to peek on your model without seeing all dimensions, text or patterns or whatever else you want to override during your peek. To enable the override function, check the check box 'Use overrides'. For each view attribute there are two checkboxes, the left one decide whether to override the attribute, and the right to decide the preferred state of this override, un-checked box means 'off', checked box means 'on'. CUSTOMIZING WORKFLOW: --------------------- To open the dialog box use keyin: PEEKVIEW SETTINGS To open the About info-box use keyin: PEEKVIEW HELP To enable or disable the overall use of View Attribute overrides use following keyins: PEEKVIEW OVERRIDES PEEKVIEW OVERRIDES ON PEEKVIEW OVERRIDES OFF To use keyins in lieu of hotkeys, the keyin format is PEEKVIEW HOTKEYx: PEEKVIEW HOTKEY1 PEEKVIEW HOTKEY2 PEEKVIEW HOTKEY3 PEEKVIEW HOTKEY4 INSTALLATION: ------------- Unpack contents of attached archive to your \mdlapps directory and start the tool via key-in: MDL LOAD PEEKVIEW Manually starting PeekView via keyin will always open the PeekView Settings dialog box. However starting PeekView via MS_DGNAPPS environment variable will not open it. Instead, you will need to use keyin: PEEKVIEW SETTINGS =================== Change Log =================== (*) v0.1 Alpha: - initial proof of concept released (*) v0.2 Alpha: - Changed behavior after a hotkey. Now the viewing command is always unconditionally terminated. This avoids unexpected View Display Mode changes on unrelated views (my thanks goes to Thomas Voghera for feedback on this issue). (*) v0.3 Alpha: - Added an option to allow preserving intermediate viewing commands while returning to original View Display Mode. Unfortunately this reduces the number of available modes, because I have yet to find where MicroStation stores the tidbit about WHICH named Display Style is active... (Thanks to Peter Tegza for higlighting this issue) (*) v0.4 Alpha: - Fixed bug which affected detection of some hotkeys. (Thanks to Adrian C for alerting me) (*) v0.5 Alpha: - Fixed glitch causing keyin history list being flowed by PeekView. (Thanks to Peter Tegza for alerting me) - Improved 'keep viewing changes'. Now it preserves all original View Styles. - Added ability to define new Display Styles. See 'Known Problems' below. (*) v1.0.0 Beta: - Added View Attribute overrides to be automatically applied while in peek. You decide which ones. - Main dialog box can now be dismissed. - Added keyin interface PEEKVIEW SETTINGS PEEKVIEW OVERRIDES [ON|OFF] PEEKVIEW HELP - Added intro. (*) v1.0.1 Beta: - Fixed bug: when unloading or switching DGN Models, PeekView from now on will respect 'keep viewing changes' setting. (*) v1.0.2: THIS IS A PRODUCTION RELEASE - Fixed bug: target view should be reopened automatically if it was closed before issuing the hotkey. - Fixed bug: now PeekView works correctly when started by other means than keyin, for example as a DGNAPP (MS_DGNAPPS). - New toggle: 'keep last peek' was added. It is enabled by default. This further streamlines the most common workflows. (*) v1.1.0: THIS IS A PRODUCTION RELEASE UPDATE - Added a hotkey to enable baselining of view setup at any time. In other words, now you can force PeekView to accept your current views setup as a new starting point for peeking (otherwise the starting point would be whatever was found when you opened your DGN file or reloaded PeekView). - Added feedback to indicate which Views are peeked at the moment and which (if any) hotkey will "unpeek" them. This shows in annotated View title bars. - Fixed bug: viewing commands are no longer interrupted when peeking. This bug was a side effect of using another viewing command by PeekView to change display styles. As new viewing command always terminate the previous one, my workaround is to detect and restart the previous one when PeekView is done with activating the new view style. The more elegant solution will be implemented when Bentley enhance the current MDL API to enable activating view styles programmatically. (*) v1.2.0: THIS IS A PRODUCTION RELEASE UPDATE - Added several new 'Target View' selections. Some are really cool! See the introduction at the begining of this document for details. - Added a few new view attribute overrides. - Removed 'keep viewing changes'. Everybody wanted it being enabled, so this toggle was just cluttering the interface. (*) v1.2.1: THIS IS A PRODUCTION RELEASE UPDATE - Fixed small bug affecting 'Baseline' when in new 'Zooming Panning Rotating' mode. (*) v1.2.2: THIS IS A PRODUCTION RELEASE UPDATE - Fixed small bug affecting using regular hotkeys when in new PeekView 'Zooming Panning Rotating' mode. - Enhanced feedback (in dialog box) indicating which mode is used by 'Zooming Panning Rotating' mode. (*) v1.2.3: THIS IS A PRODUCTION RELEASE UPDATE - Added keyins to be used in lieu of hotkeys. - Enhanced operation of '> icon: Zoom, Pan, Rotate' to avoid unwanted view updates. (*) v1.2.4: THIS IS A PRODUCTION RELEASE UPDATE - Resolved a bug where some PeekView hotkeys collided with those defined for MicroStation function key shortcuts, for example: Alt-X collided with Alt-F9. (*) v1.2.5: THIS IS A PRODUCTION RELEASE UPDATE - Enhanced operation of '> icon: Zoom, Pan, Rotate'. Focus of Dynamic Peek is now limited to view where the View Control icon was selected. =================== Known Problems =================== Only if you are using other View Display Styles beside those which are delivered with MicroStation, please read on. There is currently a limitation in MicroStation programming interfaces which prevents detection of available View Display Styles by third party programs, like this one. According to Bentley this limitation will be removed in future updates to MicroStation. Until this happens, PeekView has no way to know which styles are available. I have hardcoded those which are delivered with MicroStation but nothing prevents you from adding new ones. In order to circumvent this limitation, you need to provide some help to PeekView. If you define a configuration variable PEEKVIEW_ADDITIONAL_VIEW_STYLES and put in it a comma-delimited list of names of your custom View Styles, you will find them available in PeekView. Tested on MicroStation 8.11.5.17 thru MicroStation 8.11.9.459 (SS3, Update 2) =================== LICENSE: =================== This is a free software. You are free to use this tool without any obligations to me whatsoever. Obviously you are using it entirely on your own risk. All updates to this tool will be posted on our web site (http://www.ustation.se) for free download. I hope that you will find PeekView very useful for your work. All feedback is highly appreciated and strongly encouraged. Very best regards, /Chris Zakrewsky Team uStation AB www.ustation.se S W E D E N