Resizing a objects or search & replace?


#1

I am quite a ways along in my drawing but finding some of my stencils are too big. Is there a way to get all of object “X” and shrink to 65% (maintaining aspect ratio)? or a way to do Search and Replace from one object to another? There are hundreds of objects I need to find and resize so really hoping there is an easy way to do this.


#2

The following AppleScript will scale all stencils by 0.65. The stencils may not be grouped and the script is written for a file with only one canvas. It will only scale the size of the stencil (the “bounding box”). Feel free to adapt for your exact need.

set myScale to 0.65
tell application “OmniGraffle”
tell canvas of front window
set myShapes to every shape
repeat with myItem in myShapes
set mySize to size of myItem
set myOrigin to origin of myItem
set myCenter to {( item 1 of myOrigin) + 0.5 * ( item 1 of mySize), ( item 2 of myOrigin) + 0.5 * ( item 2 of mySize)}
set myNewSize to {myScale * ( item 1 of mySize), myScale * ( item 2 of mySize)}
set myNewOrigin to {( item 1 of myCenter) - 0.5 * ( item 1 of myNewSize), ( item 2 of myCenter) - 0.5 * ( item 2 of myNewSize)}
set size of myItem to myNewSize
set origin of myItem to myNewOrigin
end repeat
end tell
end tell


#3

Thank you! I will give it a try.