Adding simple graphics objects to GladeVCP?

More
7 years 5 months ago #134996 by RetrofitTools
Looking for comments on difficulty of adding simple graphic elements in GladeVCP...

Have custom machines, just two axes (one rotary, one linear), currently controlled by ancient DOS PCs with motion control boards. The UI is simple, but does include a machine work envelope (basically some lines/bars/rectangles) and filled and unfilled circles.

Thought LinuxCNC would be an elegant upgrade for control, but haven't done any GUIs from scratch yet. A quick look at tutorials and GladeVCP didn't give any example of adding custom elements like this, so curious for any feedback on this approach. Idea is to give a solution which can be supported a long time... the existing PC program dates from the mid 90s!

Thanks!

Please Log in to join the conversation.

More
7 years 5 months ago #135001 by newbynobi
You can use the Drawimg area to make what you want.

I used that to create a custom widget called speedcontrol.

self.draw = gtk.DrawingArea()
self.draw.connect("expose-event", self.expose)

and in the def expose you can draw the circles etc.

Norbert

Please Log in to join the conversation.

More
7 years 5 months ago #135008 by cmorley
It is possible to add graphics objects to gremlin with programming - I dabbled with it in qtvcp - but as far as I know no-one has demoed a practical working example.

In qtvcp one had to use opengl programming do make the shape.
None of it is documented.

Chris M

Please Log in to join the conversation.

More
7 years 5 months ago #135012 by pl7i92
you may look into the tread of show new Gui there are files of redy made graphics for gscrren(preferd) and gmoccapy

Please Log in to join the conversation.

More
7 years 5 months ago #135206 by andypugh
You can also use an SVG file for a canvas, but positioning control on it can be a bit awkward. I used a table with many, many, empty cells when I did this:
forum.linuxcnc.org/41-guis/26550-lathe-macros?start=150#82743

Please Log in to join the conversation.

More
7 years 5 months ago #135221 by cmorley

cmorley wrote: It is possible to add graphics objects to gremlin with programming - I dabbled with it in qtvcp - but as far as I know no-one has demoed a practical working example.

In qtvcp one had to use opengl programming do make the shape.
None of it is documented.

Chris M


Maybe I miss understood - did you want to add custom objects to linuxcnc's graphics gcode view or graphics to widgets?

Chris

Please Log in to join the conversation.

More
7 years 4 months ago #136054 by RetrofitTools
Chris
I don't think the toolpath viewer would be particularly useful in this application.

Envision if you will a display showing a box full of cans. Each can's position would be either an outline circle (location defined but not used) or a filled circle (location filled).

This is not the actual application, but it gives you the idea. My thought is that use of G-code would be completely obscured, and the user would only have UI controls with X & Y dimensions, number of items to place, etc.

Further input appreciated!

Please Log in to join the conversation.

More
7 years 4 months ago #136055 by RetrofitTools
Andy
That's pretty elegant and impressive. I wish it were possible to dynamically generate a 3D graphic like that, but it's probably beyond my pay grade :)

Basically I want to do the same thing you are... set some parameters via the gui and the operations take place with no worries about G-code.

Please Log in to join the conversation.

More
7 years 4 months ago #136056 by andypugh

RetrofitTools wrote: I wish it were possible to dynamically generate a 3D graphic like that, but it's probably beyond my pay grade.


It very much is possible, but might not be considered trivial.

Generating SVG is pretty easy, it's a human-legible format. However you probably wouldn't do that for a GUI, you would use Cairo (maybe OpenGL) or similar.

The Wikipedia page on Cairo has a fairly illustrative example:
en.wikipedia.org/wiki/Cairo_(graphics)

Please Log in to join the conversation.

More
7 years 4 months ago #136157 by cmorley

RetrofitTools wrote: Chris
I don't think the toolpath viewer would be particularly useful in this application.

Envision if you will a display showing a box full of cans. Each can's position would be either an outline circle (location defined but not used) or a filled circle (location filled).

This is not the actual application, but it gives you the idea. My thought is that use of G-code would be completely obscured, and the user would only have UI controls with X & Y dimensions, number of items to place, etc.

Further input appreciated!


That sounds a lot like an LED - a two state, custom drawn object.
If you want to be able to 'click it' that can be done too.
put a 'box' type static back ground and it sounds similar to your example idea.

rewriting the LED widget to draw something else would be a relatively easy project.
Depends on what you you wish to draw and how detailed.

As Andy says SVG is another way to display different static images.
Would work fine if there isn't a lot of different objects.

Chris M

Please Log in to join the conversation.

Time to create page: 0.111 seconds
Powered by Kunena Forum