Gluing Complex Shapes using Connection Points?

Started by jdcompman, June 24, 2011, 02:46:22 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

jdcompman

I'm drawing my company's products and I'm running into the dreaded "25 grouped object glue points no longer work" bug/limitation.  I'm trying to figure out how everyone else gets around this limitation.  I know there is a way around it but I just cannot figure it out.  An example is the HP server chassis that I've attached.  You can see there are a very large number of shapes grouped together but there are still glue points that work.  I've done some experimenting and if I ungroup the shape and regroup it, the glue points are then gone.  What am I missing?  How was this shape created while still allowing the glue points to work?

wapperdude

#1
I haven't checked the shape yet, but, my initial guess is that none of the shapes within the group have glue points.  Glue points were probably added to just the group top shape.  At least, that would explain the glue points disappearing when the shape is ungrouped.

HTH
Wapperdude
Visio 2019 Pro

Visio Guy

If folks are wondering about the "dreaded 25 grouped object" + connection point problem, it is discussed in this article When 2D Glue Breaks, there is a quote from the Visio development team regarding 2D glue, connection points, and shape complexity:

QuoteThere is a threshold of 25 shapes (including sub-shapes) for showing a bitmap image of your selection while dragging. Above this threshold Visio only shows a rectangular outline. Using 2D glue is dependent on the bitmap drag image being available, so there is in effect a limit on the complexity of shapes that want to support 2D glue.

There is a registry key to remove the 25 shape threshold. Set: "HKCUSoftwareMicrosoftOffice12.0VisioApplicationDragBitmap" to "REG_SZ". The side effect is that you will encounter degraded performance as you drag more complex shapes around.

You can simplify groups by eliminating multliple levels of grouping/subgrouping plus using the Boolean operations Combine and Union to turn several like-formatted shapes into a single shape.

A classic example would be a bank of green lights on a piece of network equipment. Say you have 16 circles that have a green fill. The typical attack is to group them together into a single unit. Doing this creates 17 shapes: 16 circles plus the group itself. If you select all 16 circles and Combine them, then you have one shape with 16 Geometry components. Its a bit harder to edit this, but that bank of 16 circles only counts as one shape when you run into the connection point/complexity problem. Your shape will also be smaller on disk and react faster.
For articles, tips and free content, see the Visio Guy Website at http://www.visguy.com
Get my Visio Book! Using Microsoft Visio 2010

jdcompman

Visio Guy ~

I understand that limitation and I'll try using some of your suggestions (just going to be hard to edit, like you mentioned) but the thing I wan't to understand is how these HP shapes have significantly higher numbers of shapes than 25, yet still drag and glue just fine.  Do you know how that is working?  It seems like there must be something else here, that "tricks" Visio into thinking there are fewer grouped objects.  I just can't figure it out.  Maybe you could shed some light.

Thanks!

Visio Guy

Hi JD,

I just had a look and remembered how this works. People are using metafiles, then wrapping them in a 1D-Visio-network-stickable-to-rack groups.

So the workflow is to draw the fancy network shape in Visio or Adobe Illustrator or whatever, then Paste Special as metafile or enhanced metafile into the group. Since the colors and details don't need to change for network equipment (usually), this works just fine.

It also allows you to keep your source artwork un-combined and more easily editable.

The goofy bit about metafiles is that they tend to paste such that the graphics are a bit smaller than the alignment box, so you have to futz with the metafile object to get it to properly match the physical size of the equipment container (group).
For articles, tips and free content, see the Visio Guy Website at http://www.visguy.com
Get my Visio Book! Using Microsoft Visio 2010

jdcompman

VG~

Beautiful! That is exactly the "Trick" I was looking for!  Works great!  Thanks again for your response!  I think this will help a lot of people!

Thanks!

vojo

I am not 100% fluent with the HP shape methodology but looked at it a long time ago.

Basically, HP shapes take one of two tacts from what I remember.
   1.  take a group, convert to a JPG or bitmap, make it a 1D shape and set/scale the JPG/bitmap off the length of the 1D
        (something like image height = scale factor * width/baseline)    or heigth = scale factor * (endx - beginx)/baseline)
        (from there you can add connection points on top of the JPG...trial and error or connection tool....probably need to scale as well)
   2.  Take the group, convert to 1D and use just the 1D end points at the connection points (no real connection points per se)

Again not 100% fluent (when I played with this approach 2 years ago, there appeared to be alot of subtleties in settings to make work).
(at least too many subtleties that I gave up and tackled it a different way)

The only downside to using combine/union is that all the shapes will always be same color (cant change individual shapes in the resulting combo/union).