The Omni Group Forums

The Omni Group Forums (
-   OmniGraffle General (
-   -   Fine control of magnets and connecting lines (

louabill 2006-11-16 07:49 AM

Fine control of magnets and connecting lines
I'm getting rather frustrated trying to something which appears rather simple: make a diagram which consists of circles connected by curved lines (if anyone out there knows what Markov chains are, this is what I'm trying to draw).

Magnet woes:
I'd like to have circles with magnets in places halfway between the 8-magnets, but when I try to place the magnets, I'm forced to place the magnets on a grid I don't understand. I have the grid shut off...

Arrow woes, copying:
Making a template custom curved arrow is truly frustrating. When drawn, all seems fine, except there is no way to drag the arrow so that it is near available anchors, and have it recognize that it should anchor in place. This means that it needs to be dragged close to the object, and then have its endpoints manually linked. This then means that it is difficult to align all the arrow perfectly.

Labels, placing:
I wish there were a numerical entry box for the placement of the labels. Sometimes I would like them at 50%, but it seems that they are always just slightly on one side or the other... especially when there is a midpoint for a line which is 50% of the way down the line.

Both, adjusting:
One of the nice things about OmniGraffle is that objects can be placed carefully by using the geometry inspector. This same care doesn't apply to magnets, midpoints, so it is really hard to place them carefully.

Am I missing something badly? I've poked around in the help and googled all the terms I could think of...

I'm using OmniGrafflePro 4.1.2.



Dan Thomsen 2006-12-04 01:32 PM

This is over kill, but you can put them in programatically EXACTLY where you want them with applescript.

I made an annotation script and I needed to put three magnets on an side of an object. The position of magnet is figured out by a coordinate system where the center is 0,0

Here is an applescript that does the job, just edit one of the magnet lists to have the points you want the magnets.


-- select an objects to add magnets to in omnigraffle

-- these are examples lists of points for each edge of an object
-- the two corners and the middle each get a magnet

set left_edge to {{-0.5, -0.5}, {-0.5, 0}, {-0.5, 0.5}}
set right_edge to {{0.5, -0.5}, {0.5, 0}, {0.5, 0.5}}
set bottom_edge to {{-0.5, 0.5}, {0, 0.5}, {0.5, 0.5}}
set top_edge to {{-0.5, -0.5}, {0, -0.5}, {0.5, -0.5}}

tell front window of application "OmniGraffle Professional"

-- this will add magnets to all selected objects
set objects to selection

repeat with obj in objects
set magnets of obj to left_edge
end repeat
end tell[/CODE]

All times are GMT -8. The time now is 04:19 PM.

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