Shapes on drawing not updating

Started by goltoof, February 21, 2011, 06:19:29 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

goltoof

I got certain shapes on the drawing board and in other shape masters.  I know there's an option to (or it should automatically) have shapes on the drawing change when the master is changed.  I'm not seeing this though, on the drawing board or in the other shape masters containing the shape.

How do I ensure the shapes on the drawing and in other masters update when the original master is changed?

Jumpy

To change the shapes in the drawing you can change their master which you find in the so called "Document stencil", that is a normally invisible part of every drawing. You can open it where you open all stencils. A change made to that master will change all it's children.

What won't work is that you can change a master shape in a normal stencil and expect every shape of that master on the page to change.

Don' know what you mean with that other mastershapes shall change, when you change another master.

goltoof

#2
Quote from: Jumpy on February 21, 2011, 07:04:08 PM
To change the shapes in the drawing you can change their master which you find in the so called "Document stencil", that is a normally invisible part of every drawing. You can open it where you open all stencils. A change made to that master will change all it's children.

What won't work is that you can change a master shape in a normal stencil and expect every shape of that master on the page to change.

Don' know what you mean with that other mastershapes shall change, when you change another master.

So, in other words what I'm asking to do isn't even possible?  Maybe I don't get what you mean by "normal" stencil, and how the parent/child relationship relates to what's on the drawing board.

To clarify where I'm at, I have a custom shape in a stencil which I drag onto the drawing board, and when I change the shapes master, the changes don't show on the drawing board.

About master shapes changing in another master...  say I have master shape A and master shape B.  Shape B is a shape that also contains shape A, which I want to change inside of shape B when I change shape A, just how shapes A/B should change automatically on the drawing board when I change either of them.  Does that make sense?


vojo

its possible....just not done with any frequency (otherwise i would think MS would make doc stencil more visible)

file==> Shapes ==> doc stencil

Its at the bottom of the list (it behaves like any other stencil...its just its really a "cache" of shapes used in this particular drawing).

Note, a change here does NOT change the shape in the original stencil (aka basic shapes for example is unaffected).

Nikolay

Hi goltoof,

The thing is, when you drop a master from a stencil thus creating a shape, Visio (behind the screens) also creates a local copy of the master in the drawing, and makes the shape refer to this local copy and not the original master. The point is that a shape in one file (drawing) cannot refer to a master in some other file (stencil). Otherwise you won't be able to open drawing file unless you have all stencil referred in that file as well.

So, any modifications you do to the original master in the stencil do not affect shapes on the drawing because they refer not to the original master but to the local copy of original master. Note that to view/edit "local copy" masters in the drawing you can open the document stencil. And editing these "local copy" masters will actually affect their instances (shapes).

Jumpy

Quote from: goltoof on February 21, 2011, 07:48:56 PM
About master shapes changing in another master...  say I have master shape A and master shape B.  Shape B is a shape that also contains shape A, which I want to change inside of shape B when I change shape A, just how shapes A/B should change automatically on the drawing board when I change either of them.  Does that make sense?

That won't work. Even if both masters are in the same stencil. What you could do is create your own development area.

Create all standalone masters (Type A). When ready put them in a stencil.
Drop them out of the stencil to the page. One time for itself, and onetime for every children you need them in.
Create shapes (Type B) containing A. When ready put them in a stencil.

Now when you want make changes to A, go to the document stencil of your development area.
Change Shape A.
The Shape A in the drawing will change.
B will change, too.
Now place A and B in either a new stencil or in the old, deleting the previous versions. Voila.

But that only changes the master shapes in the stencil. Not already drawn shapes in old drawings.

-------------------------------------------
My way to do that:
Every shape I create gets two user defined cells:
User.ID and User.Version

I wrote a VBA-macro some time ago, with help from here, that iterares through all my custom made stencils and all my masters. And in the masters for Subshapes. It searches for the ID of the shape I want to change. Checks the Version (if its old). Makes the changes via VBA. Sets new Version number.

A similiar macro could be created, to update old drawings. That's not done in our case, because it would have to contain all made changes in chronological order and would get longer and longer with every change.