Scaling Shapes?

Started by dot, May 16, 2010, 04:57:06 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

dot

Is there an easy way to scale shapes numerically (by factors or percentages)?

thanks

Peter-

Visio Guy

View > Size & Position Window.

You can enter mathematical equations into the fields. So for example, select a bunch of shapes, then append *2 to the Width field, and your selection will double in width.

Of course if you are using certain SmartShapes that have intelligence built into them, you might get unexpected results, but for clip-art and symbols, it should work just fine.
For articles, tips and free content, see the Visio Guy Website at http://www.visguy.com
Get my Visio Book! Using Microsoft Visio 2010

Yacine

#2
May I add, that it all depends upon what you call easy.
There's to my knowledge no direct way to scale a shape by a factor.
The common way would be to set the width or height in the position and size window, but that number is absolut - not a factor. I would also recommend to set it's format/protection/aspect ratio to protected before you change the width or the height.

If you need a shape that scales by a factor, you may add a custom property to your shape and write in it's width field in the shapesheet something like SETATREF...

And here's a nice one that you would write in a row of the user section:
=SETF(GetRef(Width),Width*Prop.Scale)+SETF(GetRef(Height),Height*Prop.Scale)+SETF(GetRef(Prop.Scale),1).
The last SETF makes sure that the width and height do not increase ad infinitum and resets the scale factor to 1 every time you change it. If (for any reason) you want to keep that factor in the field, then you need to make sure to fire the formula only once and put in an action cell.

----
You  will of course add the according "scale" row in your custom property section first.
Yacine

dot

Thanks for your help.

I get an error that says that the shape protection and or layer properties are preventing exicution of this commans. I assume this shape is read only. Is there a way to change this?

Yacine

#4
There is nothing like read-only-shapes in Visio, but many many bolts and buttons

There are two main areas, where you can look:
1) Layers: View/Layer properties
2) Select your shape, right click, format/protection
Yacine

dot

Great , That's it. I'm in business. Thanks. Since I don't have automotive shapes per se, I just scaled a wing nut (bolt actually) to be a fuel injector until i find or make a suitable replacement.
thanks again.

David.P

Hi @all,

Quote from: Visio Guy on May 16, 2010, 01:52:45 PM
View > Size & Position Window.

You can enter mathematical equations into the fields. So for example, select a bunch of shapes, then append *2 to the Width field, and your selection will double in width.

I'd like to scale a group using this mathematical equations trick. However, the fields don't accept neither "*xy" nor "/xy".

Is this not available yet in Visio 2003?

Thanks for help
David.P
Visio 2003 for production
Visio 2019

wapperdude

What do you mean  x, y?  Visio uses  width, height for distances (lengths).  X, and Y are meaningless.

Wapperdude
Visio 2019 Pro

David.P

#8
No, I mean "xy" stands for "any number".

i.e. Visio 03 does not seem to accept / or * followed by any number in that field.

--
Edit, aargh -- I deleted whatever was in that field and only put "/10" there  :P :P :P

When I instead append "/10" after the number and before the unit, it works perfectly. Great trick btw.
Visio 2003 for production
Visio 2019

wapperdude

If you are using the technique described by Yacine,  the formula is expecting a numerical value for "Prop.scale".  This can be a number greater than 1 to increase, or less  1 to decrease. 

Wapperdude
Visio 2019 Pro

David.P

No, I am referring to the position and size window technique described by Visio Guy.

For example, I have 6534,8468 mm as width of my group and I simply append "/10" like this:

6534,8468/10 mm
Visio 2003 for production
Visio 2019

wapperdude

Yes, that would work in the SnP window.
Visio 2019 Pro