You are currently reviewing an older revision of this page.
Original Article Date: Nov 7, 2005
With thanks to Alexie Karavakis for contributing this VBA macro that allow you to set and get the active angle based on a selected element such as a line, text, cell, or curve. It also contains some cool options for rotating elements. A must have for the managment of your active angle.
Update: November 2016
It appears that this macro is causing AECOsim BD 08.11.09.866 on Windows 10 to hang up. *** The macro was written by a user in 2005 and distributed on AskInga as unsupported Freeware. (Refer to the disclaimer at the bottom of this article.) This program was written for use with MicroStation and has never been tested on any applications developed since that time. As well, the operating system it was written and tested on was Windows XP which has since been depreciated. That said, a savvy programmer might be able to troubleshoot and possibly update this popular macro so that it runs without issues on todays modern software and hardware.
Update: January 2020
With sincere thanks to my colleagues Kees and Miro for updating this macro to work on MicroStation CONNECT Edition.
~ in progress
Download 269.zip and extract the contents from the zip file.Place both mvbas in the folder pointed to by MS_VBASEARCHDIRECTORIESKeyin vba load ActiveAngleAssistant to load the project, or...Configure MS_VBAAUTOLOADPROJECTS to automatically load the mvba project upon startup.Keyin vba run getangle to open the dialog.
March 2010 - Application tested with MicroStation V8i SS1 and it appears to work fine.
March 2013 - Tested with MicroStation V8i SS3 on Windows 7 and it appears to work fine.
November 2016 - Tested with MicroStation V8i SS3 on Windows 8.1 and appears to work fine.
November 2016 - It appears that this macro is causing AECOsim BD 08.11.09.866 on Windows 10 to hang up.
Rotate 180 allows you to quickly flip a cell or piece of text by 180 degrees! As a bonus it also works with a fence or selection set!
Rotate To Selected rotates text or cells to match the angle of another element. Excellent for aligning text!
Rotate To Active Angle lets you rotate a cell or text element to the current active angle individually, by fence, or by selection set. Note, this doesn't rotate them by the active angle like the Rotate Element command, but rather it rotates the selected elements to that angle.
Note: When you activate any of the three functions above, you will also be presented with an additional Tool Settings box that allows you to select a couple of rotate options. The animated clips do not show this feature.
Note: The following angle retrieving functions do not work on a rotated view in a 3D file.Set Active Angle by 2 Points sets the active angle based on two data points....it can't get any easier than that!
Set Start Angle Sets the Start Angle in the Locks dialog by simply selecting an element. The Start Angle is an angle in the range 0-180° degrees, relative to the view x-axis that is used as a starting angle by Axis Lock.
For those of you who don't use the Axis Lock, now might be a nice time to learn a new thing or two. Essentially, when the Axis Lock is turned on, each data point that you enter is *forced* to lie at an angle (or multiples of that angle) from the previous data point. For additional information, please refer to MicroStation's Help file. Get Element Angle sets the active angle to that of the selected element. This particular button is also influenced by the additional settings exposed when you select the little arrow button.Add Value to Selected Element will set the active angle to the element of the angle plus the value you enter. You can see this being demonstrated in the clip below. The line is at 25 degrees, but by adding a value of 10 in this field, the active angle is actually set to 35 degrees.
In addition to adding a custom value to the active angle, you can also poke on the labelled buttons to increase or decrease your active angle by the buttons value.
These programs are supplied as is. These programs do not come with support. AskInga, Bentley Systems Inc., and the author of these programs assume no liability for damages direct, indirect, or consequential, which may result from the use of these programs. Use these programs at your own risk.
AskInga Article #269