Quote from: effebruno on January 04, 2014, 02:18:03 PM
To identify the individual sub-shapes, I set Protection|LockGroup cell to 0 and then I Ungrouped the 1-D single shape.
Hint: never ungroup shapes, the shape will break.
Use the Drawing Explorer window to look at group sub-shapes.
Hi, I know that I will break the link with the master, but Sheet.2 and Sheet.3 are one over the other, so the only way I found to understand which was which was to ungroup them and slide them a bit. Just not to hide every shape but one once at a time...
Have you got some clues about my questions? ;)
It's not the breaking of the link with the master that is the problem (even though that is the problem that you are told about). When a group is ungrouped the group shape gets lost, this shape can contain much of the usefulness within the shape. Unless you created the group yourself to perform some operation, don't ungroup.
Ok, I understand, thanks. Do you know the reason that prevents me to remove the Text Transform section from the group shape's ShapeSheet once I've inserted it?
I have quickly inspected the 1-D Single shape and my answers to your questions:
1) your version of the equation "Geometry1.NoShow=Sheet.1!Scratch.C1" is correct and much better than the awkward "Geometry1.NoShow=-(2*Sheet.1!Scratch.C1)".
2) Again, your version "TxtAngle = GRAVITY(Sheet.1!Angle)" is correct and does the same job.
3) Text transform sections are unnecessary in Sheet.2 and Sheet.3 sub shapes. So you are again right about this. This is weird.
4) Does infact "IF(CELLISTHEMED(FALSE),...) " mean "IF CELL IS NOT THEMED"?
I guess, yes and this is awkward. BUT, in Visio 2013, CELLISTHEMED() is deprecated and replaced by a newer version: ISTHEMED() function.
And for the: THEMEGUARD(IF(CELLISTHEMED(FALSE),SETATREFEXPR(THEME("AccentColor2")),SETATREFEXPR(RGB(211,211,171))))
This formula is incorrect. If you try to change the Fill Format to another color, you will see both SETATREFEXPR() will contain same new color value! This makes the IF statement useless when a user changes the color!
It should have been written as: THEMEGUARD(IF(CELLISTHEMED(FALSE),THEME("AccentColor2"),SETATREFEXPR(RGB(211,211,171)))) (see the example at the bottom of CELLISTHEMED (http://msdn.microsoft.com/en-us/library/office/ff767472(v=office.14).aspx))
Note that in Visio 2013, this has been changed to: THEMEGUARD(IF(ISTHEMED(),THEMEVAL(),RGB(221,226,205)))
From the above, it looks to me that this shape is an old Visio shape that used old formulas and old techniques which possibly means that new techniques were not supported in the old days of Visio.
Also, Microsoft has advised many times not to resort to creating group and sub-shapes when the same result can be achieved by a single shape. This advice is mainly for efficiency reasons. (see this important article by Visio development team Flattening Groups (http://blogs.msdn.com/b/visio/archive/2006/10/24/flattening-groups.aspx) and Groups versus Merged Shapes (http://msdn.microsoft.com/en-us/library/office/aa200972(v=office.10).aspx)). Yes, Microsoft is not following their own advice in this shape and in many other shapes!
For "1-D Single" shape, you can achieve the same result by a single shape instead of 4 shapes (the group shape itself is counted as a shape). The idea is simple: you don't need a shape for a fill and another shape for an outline. The fill and outline can be achieved by a single shape. Also, the 'Open' and 'Close' tail effect can be achieved without having a third shape to 'cover' the tail. This is actually a bad design. You can achieve the 'Open' and 'Close' tail by controlling the position of the last vertex.
If you look closely at the vertices in the Geometry section of Sheet.2 (Fill Shape) and Sheet.3 (Outline Shape), you will see there are 7 vertices for Sheet.2 and 8 vertices for Sheet.3. What you need is 8 vertices. However, in the Y cell of vertex 8, you need to position it conditionally: Geometry1.Y8 = IF(Scratch.C1,Geometry1.Y7,Geometry1.Y1) .
Probably the easiest way is to ungroup the "1-D Single" shape and make the outline shape to have all features of the original "1-D Single" master. And you will need to do some additional work to create same Action and Scratch cells in this shape to what used to be in the original shape (this is what Paul Herber is trying to warn you about!).
Also, remember to convert this 2-D outline shape to 1-D shape before you do any work (this article (http://msdn.microsoft.com/en-us/library/office/aa200984(v=office.10).aspx) might be helpful). Remove the GUARD() from LinePattern, LineColor.
And make sure LineCap = 1 so that the outline doesn't extend beyond the shape fill when 'Open' tail is selected.
Quote from: effebruno on January 04, 2014, 02:18:03 PMThere should be some basic ShapeSheet concepts I still don't know...
While Visio is a very cool diagramming program, you will find there are many weird and inconsistent things around specially in ShapeSheet.
You are not alone! 8)
Yousuf.