The Omni Group
These forums are now read-only. Please visit our new forums to participate in discussion. A new account will be required to post in the new forums. For more info on the switch, see this post. Thank you!

Go Back   The Omni Group Forums > OmniGraffle > OmniGraffle General
FAQ Members List Calendar Today's Posts

 
Preventing parts of graphics from scaling Thread Tools Search this Thread Display Modes
Hello,

I am currently struggling to find a way to build composite graphics resulting from grouping individual parts, in such a way that some parts will not scale when the whole is resized.

Here is a very simple example: if you want to draw a "nested-arrow= diagram such as this common sequence example:



This is all good and nice until one step needs to be wider. Unfortunately, widening a shape in Omnigraffle means everything gets moved, which results in the chevron’s angle to change. As a results, the tiles cannot properly be assembled any more:



This is because of this angle problem. Here, I manually adjusted the angles of the widened tile, to the correct values:



Now the tiles fit properly (almost: my manual changes could have been more precise).

Needless to say, needing to manually adjust the angle is a PITA. So I would like to draw nested arrows which keep a constant angle when widened or narrowed. Is there a way to achieve that in Omnigraffle ?

Let me now generalize the need and suggest a possible approach for a solution.
There is a need to define composite graphics in which some or all parts should follow certain kinds of behaviour when the whole graphics is resized. In my example, each title can be seen as a group composed of three sup-part. Each subpart could possibly adopt one of the following behaviour:

1- do no change size: keep a constant size
2- grow proportionally to the parent graphic in both directions (this is the current behaviour)
3- grow proportionally to the parent horizontal change only
4- grow proportionally to the parent vertical change only (this is the desired behaviour in my example)

Other kinds of behaviour could be imagined.

I hope all this makes sense. Any suggestion welcome.
 
You'll pretty much have to resort to using tables in OmniGraffle Professional, which is the workaround we use here for similar things like mocking up UI and the like.

Idea being, there'd be three table cells and you'd subselect and resize the center cell that's between the red lines in your graphic.

This is something we'd like to address, precisely for reasons that you state as well as the problems encountered on our end.
__________________
"Vroom! Vroom!!"
 
Well, it kinda works, but it’s clearly only a workaround. Here goes.
First you have to draw the pieces. There are four:

1- The start tile of the sequence
2- The content tiles
3- The separator tiles
4- The end tile



That alone took me a rather long time to get it right and draw properly in such way that the angle was the same as before. But it can be argued it’s one time only.

Now let’s put side by side all the pieces:



Now let’s convert all this to a table, and... bummer: for reasons I just don’t understand, Omnigraffle will only make tables with simple objects, not composites (groups). When any item is a group, the "Make table" command is disabled. (Omnigraffle Pro 5.1.1 RC1). Is that a bug?

In fact it's still sort of OK, as Omnigraffle smart guides will do a good job stacking all the pieces side by side horizontally:



But indeed, that's a workaround. Glad you intend to address it.
 
 




Similar Threads
Thread Thread Starter Forum Replies Last Post
Cut one stencil into different parts nrk69 OmniGraffle General 2 2010-07-28 07:02 AM
preventing omnifocus from starting up by itself counterpt OmniFocus 1 for Mac 6 2009-01-03 11:08 AM
Scaling group without scaling (some) elements Rolf_schmolling OmniGraffle General 0 2008-04-09 12:35 AM
scaling attached images and graphics kristian OmniOutliner 3 for Mac 4 2007-05-25 01:45 PM


All times are GMT -8. The time now is 07:00 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.