PAC Display examples

I was looking for some “analog” meters to use in my display project. The only thing in the Symbol Factory is an image called Tick Marks. That won’t cut it. So, I decided to start making some of my own analog/gauge meters. The first one I made was an analog clock (since that would cover ticks for 360 degrees) and some sample needles (pointers).
Use the Rotate Attribute for the needles.
The Rotational Anchor point is as follows:

Hour Hand Hor = 0, Vert =23
Minute Hand Hor = 0, Vert =33
Second Hand Hor = 0, Vert =35

I have included all the .png images needed to build one. Use the Edit>Paste from File>Import PNG… I will eventually make a bunch of different styles/sizes and just export the window and post it if anyone wants them. Also included is a rotational effect image that can be used to show how fast or slow you are communicating to a control engine (using some code and the Rotate Attribute). Let me know what you think.


Oh Sweeeeet!!!
Thanks very much for offering these.
(And they are great looking!).

I just tested the “Seconds” hand and it doesn’t look too appealing in PAC Display. Since the update is so fast. it makes it look choppy on the actual display. Oh well, just kickin around some ideas. Without the seconds hand, it looks pretty good.

I made this one last night. I think I’m addicted… heh.

The Rotational Anchor Point for the pointer is Hor = 0, Vert = 39.
After you label the ticks (unfortunately, there is no easy way to get it perfect), it should look similar to the ex_Meter.png

So, I just did a test with these images (at work I’m running 9.3, at home I’m running 9.5) and there isn’t a Edit>Paste from File>Import PNG in version 9.3. Also, I noticed when I uploaded the .png image to this forum it does NOT keep the transparency of the .png (big problem if you wanted to use this meter). Sorry about that… I’ll have to export the entire screen in PAC Display and post it at a later time.

Again, sorry if I caused some confusion here.

Love the look of this dial… Ok on the forum stripping the transparency, did not know about that, not sure there is a setting I can tweak to fix that… Will just have to zip them up and attach the zip file.

BTW, have not had a chance, but totally want to take what you have done here and use it in groov… They are great looking gauges.

I have made a bunch of these Gauges/Meters. I did a test using a Floating Point value for the pointer/needle attributes. Every time the value changes (which is a lot since it is a floating point value), the pointer image blinks as it refreshes and rotates. So in real time, it just looks like a glitching mess. If it is at rest or the value changes slowly, it is fine. I am assuming this is a PAC Display problem (maybe it really isn’t a “problem”) and I’m also assuming this is something that can’t be fixed. I am including the latest gauge/meter I have made, but it will only look good in real time if your value is changing at a slow rate. If the rotational attribute ever achieves that smooth transition I was looking for or there is something I can change, please let me know.

I don’t have PAC Display open right now, but some of the gadgets have a ‘hysteresis’ setting. This would help the re-draw on every value issue I suspect. (Just not sure if the rotate object has that as an option).

[Edit]. More thoughts on this… Firstly, your right, its not broken, that is the way it is supposed to work. If the value changes, the graphics needs to redraw the object, it cant tell what sort of object is connected to it, so it can’t know how its going to look by doing the redraw, so it just does it… If you are not happy with the look then you have some options;

  • Set analog filter weight. If the value is coming from an analog point and will not impact on the process, then by filtering the analog signal, it will calm down the jittery redraws.
  • Move the value to another value and use the Truncate command or Modulo command to remove some (all) of the decimal places. I often did this at the hospital, use the real value for the process and then had another cleaned up value for the PAC Display operators.

Yes, the rotate attribute has a deadband setting. Which works to an extent without compromising accuracy.
I think that I was expecting it to be a smooth rotation. Obviously, if you were monitoring outside temperature, the increase and decrease in temperature would not be so fast --Which this rotation attribute is ideal for.

I wanted to use an analog meter for seeing Hz and Amps off of some AC Drives (via an analog input). So when the motor sped up the dial would be updating frequently and it’s like as the pointer is rotating (which is a .png image with transparency) it fills the transparency part of the pointer with black pixels and then rotates it to the desired degree and then deletes the black pixels. Which in turn gives it an effect as if the pointer is blinking. Maybe it’s a graphics card or monitor refresh rate issue. I’m not going to worry about it though. At first thought it would be very cool to see this rotate at a smooth rate (like for servo applications), but I think I’m asking too much when considering refresh rates and other things related to that.
Thanks for the input.

I think these gauges look great. It’s a shame about the flickering.

Maybe the Opto devs can look into double buffering the redraws on the next version of Display to get rid of the flicker?

Thanks Ben and Philip.
I have been working with Kathy on this issue. I haven’t heard from her yet to let her know what I found out, but wanted to give an update. It appears when you overlay a .png image (the pointer/needle) over top of a different .png image (the dial) it creates this issue. So I saved my image (the dial) as the .jpeg format (which it loses its transparent properties which kinda stinks, but oh well) and it looks exactly how I wanted it to look. The pointer is smooth and the “placeholder” as it rotates, is gone. The pointer blinks at random times but nothing like it was. I am satisfied with how it performs.

The downside for losing the .png image is I can’t maintain a “circular” image and when I decide to change the background color of the window, I will have to load my image program and recall the image and save the image with the same background that I just changed my display background to. Just extra steps, but I’m pretty happy that this looks pretty good. Maybe the developers will know what to do to fix it.

Ok, 1 last thing. I just reassembled my meter and added the numbers that label the ticks and it seems the .png pointer affects the the transparent “text” (numbers I made in PAC Display) too. So, it must be anything that has a transparent property will be affected by a rotating .png image.

Everything is looking good in Version 9.6 after I applied the newest patch for 9.6. Thank you.
I made 2 more gauges (similar and basic, but oh well) and a new pointer. Please see .png images. The completed gauge was specifically designed for psi and bar measurements 0-200 psi and 0-14 bar (you could use 0-100 psi and 0-7 bar, etc.). I got the bar scale as accurate as my image program would allow.
Also wanted to mention, you can always scale these to a smaller size (I don’t recommend going bigger) and if you do use a smaller size, make sure the width and height are the exact same ODD number to keep the center of the image correct.

Thanks again,

1 Like

Wanted to say thank you for these, they’ve provided a wonderful jump start to my first Display

1 Like

You’re welcome. Hope they get used. I have another one of my favorites I would like to share.

If you put that all together you get this.




Thank you again. All beautiful and all gives me tons of options for differentiating my UI :^)

Hi - I think these Analog Gauges look swell. I’m interested in trying them out. How does one get these?
Thank you

Right Click the image you want and choose “Save Image As”(remember where it is saving to). It should save as a .png file. Then in PACDisplay Click Edit>Paste From File> Import PNG… Choose the location where you saved it.

Just wanted to drop in to this thread to show your gauges at work! Thanks again!

1 Like