The textPosition property in the OmniGraffle applescript library correctly positions text within a "Rectangle" shape, but has a bug which misplaces text in "Circle" shapes.
Code:
property lstTextPosn : {0, 0} tell application id "OGfl" tell front canvas of front document -- ADD A LABEL make new shape with properties ¬ {size:{200, 20}, origin:{120, 50}, name:"Rectangle", draws stroke:false, fill:no fill, draws shadow:false, text:{font:"Verdana", size:16, color:{65500, 0, 0}, text:"textPosition: {0,0}", alignment:center}} -- RUN A TEST: -- RECTANGLE: TEXTPOSITION PROPERTY WORKS make new shape with properties ¬ {name:"Rectangle", origin:{100, 100}, size:{100, 100}, textPosition:lstTextPosn, text:{alignment:center, text:"This works"}} ¬ -- CIRCLE: TEXTPOSITION PROPERTY MISPLACES THE TEXT -- *OFF* CENTER make new shape with properties ¬ {name:"Circle", origin:{250, 100}, size:{100, 100}, textPosition:lstTextPosn, text:{alignment:center, text:"bug: off center"}} end tell end tell