Author Topic: Callout Maintaining Position Relative To Connected Shape  (Read 602 times)

0 Members and 1 Guest are viewing this topic.


  • Jr. Member
  • **
  • Posts: 12
Callout Maintaining Position Relative To Connected Shape
« on: April 12, 2018, 04:48:07 PM »
Hey Guys/Gals,

First off
Long time lurker, first time poster. Huge thanks to all you pros out there! I've found an incredible amount of solutions to my issues via this forum, can't thank you all enough!  ;D

My problem:
I'm designing several callout shapes with leaders (balloon, text, etc.) similar to what you'd find in electrical/mechanical drawings. I want these callouts to behave such that when the ends of their leaders are glued to another shape, the callout will move with the shape if the shape is moved. In other words, I want the callout to maintain its proximity/distance/positioning with respect to the shape it is glued to.

I know the easiest way to do this really is to just group the callout with whatever it is attached to. However, I am looking to mimic CAD programs and make it as simple as possible for users who may not be that familiar with Visio. Plus, it'd be really cool to implement a smart shape that could do this  8)

What I've Tried So Far:
My first thought was to Add Configure Callout Functionality to my callout shapes, similar to the "Custom Callout" masters in the standard "Callouts" stencil. These masters behave exactly how I want my callouts to behave, partly by running the Configure Callout ("cc") add-on to create associative formulas in the ShapeSheet:
User.ccAssociate = DEPENDSON(Controls.Row_1,Controls.Row_1.Y)+RUNADDONWARGS("cc","/cmd=2")

However, I have a few problems with this:
  • My callout shapes won't be used to display the connected shape's data, and because of that I don't want the Configure Callout dialog box showing up whenever the leader is glued to a shape.
  • I can't seem to find any information on what arguments I can send to the "cc" add-on, or any other add-ons that exist with a Visio Standard installation that might also solve my problem

Any ideas on how to best make this happen?
Is there a way to do this using the ShapeSheet only (preferred)?
Or would I need to write some code?

Currently using Visio Standard 2016 on a 64-bit machine.