Creating a knob with parameter for its setting


#1

I am new to automation in Omnigraffle. I want to create a diagram of a sound board with a large number of knobs. Each knob would basically be a circle or two with an arrow pointing to the knobs current setting.

I would like to create a knob template, where I could enter it’s setting ( 0 - 10 or some other scale) and it would rotate the arrow to point to the corresponding setting; like the hands of a clock.

I can read up on how to create a parameter or property, but how do a programmatically create the arrow that will rotate like the hands of a clock?

Any hints would be appreciated.


#2

JavaScript would be a great way to do this (In OmniGraffle Pro only). If you create your knob template, then create the line with the arrow in each location that you want, select it, then Copy as JavaScript. That will give you an example of what is different between the positions (which will be the head and tail point location and/or the rotation depending on how you want the line to move).

Then you can use the information at https://omni-automation.com/omnigraffle/index.html to create a script that will create the objects, get the graphic that you want, and rotate it the amount desired (or to the location desired depending on which approach you take).

If you want to impact the graphic that is selected, you can use the script at https://omni-automation.com/omnigraffle/graphics-00.html for Checking for a Single Selected Graphic.

Ultimately, the part you will change will come down to changing the locations of the line tail on the knob which you can do by specifying the exact points, or by using math in your script. Learn more about automating OmniGraffle Lines at https://omni-automation.com/omnigraffle/lines-00.html.

I hope this gets you started! Happy scripting.

Lanette