Changing the openGL colors in the Axis GUI

  • loboy
  • loboy's Avatar Topic Author
  • Visitor
  • Visitor
08 Jan 2012 00:04 #16426 by loboy
Hello,

Lately I have been hacking away at the "axis.py" and "axis.tcl" files trying to untangle and understand them a bit. I have successfully modified the interface, changing button sizes and fonts, etc.

I have dug deep into the "axis.py" file looking for a way to easily change the colors of the openGL plotter window. I have successfully used the file "axis_light_background" with the suggested xrdb merge technique.

However, this change is only temporary upon logging out and I am looking for a way to permanently make these changes. I also poked around some of the openGL code inside "axis.py". I still do not understand how the "axis_light_background" file is called, or where it should be located for a permanent change to the interface. I just do not understand the use of Togl, or how it is implemented.

Documentation on the source code of the Axis interface is near non-existent, and the comments in the code aren't very helpful. If someone could please enlighten me, it would be greatly appreciated. Thanks.

Please Log in or Create an account to join the conversation.

More
08 Jan 2012 05:15 #16429 by cmorley
The authors of AXIS, Jeff Eppler and Chris Radek pretty much do not read the EMC forum.

So to get the best possible answer ask on the EMC IRC or dev mailist.

Please Log in or Create an account to join the conversation.

More
10 Jan 2012 06:09 #16508 by KPA
Loboy,
I'd be interested in seeing a screen shot of your accomplishments. I've been tinkering along the sames lines, but not sure how much time I want to invest in unraveling Axis.

Jay

Please Log in or Create an account to join the conversation.

More
14 Jan 2012 07:16 - 14 Jan 2012 07:37 #16754 by loboy
Hey Jay,

Here is a screenshot of my progress so far. I pretty much revamped everything...



Still working on spacing out some things better, and trying to untangle the Notifications pop up box.
The buttons and text are much larger and easier to read. I removed some of the tabs as well, and I am going to implement the DRO differently.

I have been wanting to do this for a while, and I decided to dive way in.
Attachments:
Last edit: 14 Jan 2012 07:37 by loboy.
The following user(s) said Thank You: tivoi

Please Log in or Create an account to join the conversation.

More
14 Jan 2012 11:19 #16764 by Rick G
Well that is neat new look.

Rick G

Please Log in or Create an account to join the conversation.

More
14 Jan 2012 16:42 #16769 by BigJohnT
Neat! Gotta love open source software...

John

Please Log in or Create an account to join the conversation.

More
14 Jan 2012 18:56 #16771 by KPA
loboy wrote:

Hey Jay,

Here is a screenshot of my progress so far. I pretty much revamped everything...

Still working on spacing out some things better, and trying to untangle the Notifications pop up box.
The buttons and text are much larger and easier to read. I removed some of the tabs as well, and I am going to implement the DRO differently.

I have been wanting to do this for a while, and I decided to dive way in.


Now we're taking it up a notch! It's GUI's like this that help us all in our designs to look more professional and up to date.

After having started deciphering the tcl myself I'd say revamping is an understatement. This look pretty well like a rip out of the old frames and rewrite.

I especially like how you've colored the buttons to make them functionally grouped along the top. Also moving the gcode preview under the backplot makes good sense as I've rarely seen wide g-code lines. As well it frees up quite a bit of space under the left button pane for growth when the additional axis come online, or adding (e.g.) AUX button for various M-Codes. (I was thinking this very same approach earlier this morning).

My eye was immediately drawn to the E-Stop, and active axis control - again smart use of color to draw attention to modal functions.

My only thoughts would be:
-I would hazard a guess that the bulk of EMC2 users only use up to 4 axis - this is worth a survey. Something I've done is added "A" axis to the end of XYZ line. That way XYZA is packed nicely together on a single line. HOWEVER, I'm not convinced that is the right way to go, as it can leave a mess when other axis come online.
- I do like that way AXIS attempts to organize buttons by functional group in the manual control tab, i.e. 1st axis group; 2nd spindle group; 3rd coolant group. It does follow workflow logic.
- The DRO definitely needs help, I'm interested in what your thoughts are for that.
- The Max Velocity slider is a waste of space. Once it's set for a machine when would someone ever need to change it. This is something that should be in the ini file.
- Tabs - may be a necessary evil. They provide growth, let's say we want to add a full blown tool management capability, a tab would be a nice place to put it.

Overall I'd say it has a trendy "Windows Metro" feel to it.

Jay

Please Log in or Create an account to join the conversation.

More
14 Jan 2012 20:19 #16774 by loboy
I have substantially rewritten the code. A lot of the variables and such were a mess to read, and figuring out the button states is headache. I did a lot of commenting.

As for the Axes, I made sure that when all axes are loaded it creates a nice neat 3x3 square, for XYZ, ABC, UVW, like a telephone keypad. This is easy to control with the gridding. Eventually I will pad out the buttons on the control panel.

Currently, the DRO is implemented weirdly. I still haven't deciphered as to why it was written the way it was. There are a lot of math functions operating on the font and the frame, and there is no simple way of changing one setting. I may just re-write it altogether.

The Button states are strange as well. Instead of being booleans, strings are passed around instead, which I don't like and it gets very confusing. At some point I may change this, but for now it is functional.

I agree that the Max Velocity is a waste of space as well.

I have made the code much more modular, so I can shift frames around the window, deciding on placement and such. Tkinter is not the most friendly, when it comes to gridding out the frames and packing stuff...

Eventually I am going to implement a preferences window for changing colors and such.

Thanks for the input about the Tabs. For me personally, I think if there needs to be expansion, I would rather pop a window instead. The tab coding is difficult to manage and not very friendly. It took me a while to figure out how things were being abstracted by the tabs. Plus the tabs are difficult to style.

I want the look to be more inviting and visually appealing, more like a real modern control panel. I always found myself trying to click these little buttons, but now the workflow is much faster as the buttons are bigger and easier to read. I have to say it is a pleasure to use my machine now. In the future, I may purchase a touch screen, so I sized the buttons accordingly.

I have pulled the MDI out of its tab as well. And I am starting to make that a bit more friendly. However, the History section does a weird rewrite to the window, and it is very distracting. I am still working out the kinks.

I'll post another screenshot soon.

Please Log in or Create an account to join the conversation.

More
14 Jan 2012 23:58 #16777 by KPA
Well I for one applaud what you're accomplishing, adding new life to an old friend.

Between what you're doing and where Chris is taking his I think we're going to see a new breed of GUI's for EMC2, and heaven knows we've been needing them.


Jay

Please Log in or Create an account to join the conversation.

More
15 Jan 2012 00:11 #16780 by andypugh
While you are at it, consider splitting the"touch off" button into "Tool table" and "Coordinate set" touch-offs.
The number of times I have forgotten to change the drop-down and touched of the wrong way….

Please Log in or Create an account to join the conversation.

Time to create page: 0.203 seconds
Powered by Kunena Forum