"Macro-Anti-Angle"

Started by celoranta, February 08, 2017, 07:31:58 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

celoranta

I've found this forum to be a massive wealth of information over the last six months whilst cutting my teeth on Visio.  Thanks to all of you.

That said, I've finally come up against a problem I seem unable to solve.  Visguy, you'll appreciate it as I'm a fellow AV professional.

I've created a tool for sizing video displays to a scale drawing of a room.  Simply import a CAD plan to scale, grab the stencil, rotate to match the display location, and change the user-configurable EVALTEXT-style variables to affect valid view angles and distance view class.  <see attachment "cool.">

I've used circles as my text input shapes to allow seamless rotation.  Text remains legible regardless of group angle, thanks to an anti-angle formula.  The problem comes when I try to rotate a circle containing multiple mini-shapes with multiple EVALTEXT fields.  Although I can force each block of text to anti-rotate, the fields rotate around each other as the X-Y axes of the group rotate.  <see attachment "ugh.">

Ideally the screen size and aspect ratio (100, and 16:9 in my attachments) would remain right-side up AND in their proper arrangement relative to the VIEWER, rather than the GROUP.  Can anyone suggest a way to accomplish this?  I assume it can be done by comparing the group angle to 0deg and using trig to chart a "true north" by which to set the X,Y coordinates.  Is this the easiest/best way?

While I'm on the subject, can anyone suggest a better way to handle the aspect ratio input?  Standard notation is XX:YY, but such a value can't be interpreted by visio as two separate variables separated by a colon. (So far as I can tell, anyway.)  I've resorted to separate EVALTEXT shapes for the "16" and the "9," but this exacerbates the problem I detailed above.  Suggestions?

Thanks again for being the best Visio training resource on the interwebs.




wapperdude

First, are those short, radial lines connectors?

...open the shapesheet, add Text Transform section if not present.  Then, you can add an anti-rotation formula in the text angle cell.

Wapperdude
Visio 2019 Pro

celoranta

Unfortunately, I'm looking for something different.  I'm not looking for anti-rotation.  I'm looking for "anti-revolution."  See the attachment:  How can I allow "arrow A" to rotate with the overall group, but force "arrow B" to point upward whilst "Arrow A" rotates?  How can I keep "arrow B" properly centered in its circle while this occurs?

wapperdude

#3
I think I understand what you want.  See attached.  It's easier to show than to explain.

There is a top level group, sheet.8 in this example.  Consists of large circle, arrow A, and a subgroup.  The subgroup consists of small circle and arrow B.

The arrow B shapesheet needs editing.  The begin point is locked to the center of the small circle.  The angle is has anti-rotation of top level group.  The text also has anti-rotation formula.

Likewise, arrow A text needs anti-rotation formula.

HTH
Wapperdude
Visio 2019 Pro

wapperdude

So, I was thinking...can this be simplified, improved?  Perhaps eliminate the subgroup.  Maybe allow arrowB to be slaved to the top level shape but, have easy means to change it's orientation...and keep the text right reading!

Did away with the subgroup.  Decided to add 2nd geometry shape to the small circle.  This step, not necessary, but it does allow either the small circle or the arrow to be hidden.  In the 2nd geometry group, draw the line with arrowhead.

To allow the setting of the arrowB direction, requires the use of setatref functionality, and keep the anti-revolution formula.  Text still needs anti-rotation formula in the Text Transform section.

Enjoy!
Wapperdude
Visio 2019 Pro

celoranta

Wapperdude,

Thanks for all the help.  Your examples are teaching me a lot.  Still searching for my answer, though.  I will try to ask a better question!

I've attached a modified version of the file from your first reply.  When you rotate the large circle, you will see the issue I'm referencing affect the two short line segments.  (They revolve around each other.)

Now, I realize that I could use your solution #2 to keep these in place.  (Likely even could use solution 1?)  However, the end goal is to replace the dot/arrows at the end of these line segments with EVALTEXT fields.  I don't think your solution #2 will work for this due to using the geometry fields, and even your solution #1 (I think) will bury the text in a subgroup, making it difficult for users to enter text.  Do you have a suggestion?

Once I attain the above, there will be subsequent challenges:
  -The EVALTEXT shapes (3 of them above small circle center) will then need to be "shrunk" to the text size, placed side-to-side with no space between, and the sum result centered at a point directly above the small circle's pin
  -A fourth auto-shrunk EVALTEXT shape will be centered at a point directly below the small circle's pin
  -The small circle will need to auto-adjust its size to accommodate the four EVALTEXT shapes

The end result  should end up looking like attachment #2, with the following properties:
   -The "16," "9," and "100" are user-friendly EVALTEXT-accepting shapes, capable of receiving any qty of digits without spacing themselves apart
   -The text stays (just barely) within the circle regardless of font size or qty of digits
   -The Entire assembly can revolve around an external pivot point without turning upside-down or breaking the visual layout described above.

When I put it that way, it seems this may be asking too much of visio....




wapperdude

Regarding the 16:9, and the 110,  do the font sizes track, i.e., size(16) = size(9) = size(110)?  Or size(110) doesn't have to equal the other 2, or each is independent of the other.

Wapperdude
Visio 2019 Pro

wapperdude

#7
Visio is quite powerful at times.  Attached shows some things that it can do wrt to your quest. 

Double click the oval, brings up the data entry, enter something or delete an entry and leave blank. As you can see, text is passed from one shape to another.  This uses insert field, custom formula in each of the text shapes.  Note, these are buried in a group within a group.  Upper shape is sheet.4, lower text shape is sheet.2.   

The upper text is a single shape, but uses two properties.  The lower text is a 2nd shape and uses 3rd property.  The two shapes are slaved so width and height always match, based upon the larger of the two.  The horizontal line is tied to the width of the text shapes.  Alternate method would have been to glue it.  These three are grouped together.  The circle is centered on this group and its width is a fixed amount larger than the group width.  A new group consists of the 1st group plus the circle.

The two rectangles to the right both scale the text, but use different scaling options.  Right click brings up a menu with many options.  Dig into the shapesheet to see the actual formulas:  user.ScaleFont1, user.ScaleFont2.  These formulas, one or the other, could be used in the text shapes.  Then, the size wouldn't change, but the font will.  See this post:  http://visguy.com/vgforum/index.php?topic=5283.msg24518#msg24518.  I show the two options if you scroll down.  Read the original post, gives some explanation.

If each text shape has separate formula, then, the upper and lower text fonts won't track.  That might be acceptable.  To avoid that, will take additional work, some how determining which is larger without incurring a circular argument.

Then the circle could have anti-rotation formula to remain right reading.

HTH
Wapperdude
Visio 2019 Pro

wapperdude

#8
Upon further reflection, the circle group shape can be greatly simplified, and incorporate a single text scaling formula. 

The small colored shape on the left is the new, improved version.

It uses just a single text shape incorporating all three parameters which are catenated in the insert field custom formula. Plus, the maximum font size can be adjusted by changing the text size of the top level group.  Very convenient.  There are some embellishments that could be incorporated into the formula, conditional tests if only one or two entries made, which might mean no colon, no horizontal line.  But, that's a complication not included.


HTH
Wapperdude
Visio 2019 Pro