Ground control feature request: show the current gcode action graphically

Would it be possible to show the current gcode line action in ground control? At the moment you can see the crosshair move, but you don’t see the starting nor ending position. With z movements nothing is visible.
This is especially useful when something goes wrong (like losing calibration) or pausing (taking up the job at a later time).

1 Like

Yes, I think that should be possible and I really like the idea.

I’m not sure I fully understand how it would look visually. Here’s what I’m picturing: The line currently being run is highlighted green and there is an arrow for example in the case of this part it would look like this when executing the straight line move:

and then this for the next line which is the first part of the curve:

Is that what you are describing? Any sort of visual helps even if it’s drawn in MS Paint :wink:

How would vertical moves be represented?


Yeah that looks good. A colored dot for the starting position and one for the end position (another color) with a line in between is enough to be understood (an arrow is nice, but harder to do?). For z movements you could have a circle with arrows pointing inwards for lowering and arrows pointing outwards for raising?
If possible (scope creep :smiley:), perhaps all lines of the current gcode file could be shown in the log? Executed, current and future gcode lines could have a different color, when hovering over any line it could be shown graphically?

For you, I can do an arrow! :grinning:

How do you feel about the red and green circles that we use now to indicate z-axis movements? (red for in, green for out) I really like the idea of having circles with arrows pointing in and out for up and down, but I’m a little worried that it could be hard to see them if they were too small…although the more I think about it the more it seems doable. I’ll give it a try and see how it looks.

I’ll implement it and then we can take a look at the results and decide what works and what we want to change

Great! Using the red and green circles works as well, but how can you make the difference with all the gcode that is already shown graphically?


Good point! We could make them bold (as in increase the line thickness significantly)

That would work, perhaps the boldness could be in relation to the z movement size?


Oh, yeah! That’s a great idea! So successive lowering of the bit would keep making the circle line thicker


I just edited the topic, the spelling corrector had changed feature into creature :grin:

1 Like

love it!
just a thought form a different point of view. can we please try and stay away from purely color coded as there are many people who cant see them.
use a color and a symbol if possible, makes it more inclusive for everyone!


I like the Idea.
Currently we are limited on how much we can graphicly display.
If it is implemented now, please with an ‘switch off’ option, to allow user with complex projects utilizing the complete sheet.


This is turning out to be harder than I expected :wink:

I’m trying to find the coordinates of the the points (X3, Y3) and (X4, Y4) knowing (X1, Y1) and (X2, Y2).

It’s turning out to be pretty tricky (or maybe it’s just been a long time since I took geometry). I think it’s safe to assume we know the width and length of the arrow head or that we know the angle between the arrow head and shaft if that is an easier approach.

Is there an obvious solution I’m missing?

For the Z axis use a bar indicaticator. Middle is zero above middle is negative below middle is positive (depth of cut)

Something like this but disregard the blac line connecting the two bar indicator. The ball is the height of the router bit solid black line is 0 bottom of the indicator is max depth and top is max height above work surface.

1 Like

This would be a good place to have a representation of Z=0, and show values for step levels relative to the workpiece thickness, Zero, and Max Z height.

We should def be visualizing it all as much as possible…

For me, “In an ideal world”, Ground Control would display something similar to the Fusion360 CAM Simulator, allowing the user to see where in file the machine thinks it is while maintaining a state that allows the machine to start/stop (any of its functions) at any point in the path(s)…

hope this helps,

1 Like

From way back, I think something this will do it:

B = the barb angle from the arrow shaft
L = the barb length

A = arctan((y2-y1) / (x2-x1)) # the angle of the arrow shaft from horizontal

x3 = x2 + L * sin(180 - A + B) # measure from the point of the arrowhead
y3 = y2 + L * cos(180 - A + B)

x4 = x2 + L * cos(180 - A -B)
y4 = y2 + L * sin(180 - A - B)

Checking results, something is off, but it’s late… Maybe in the fresh light of dawn :upside_down_face:

I’m sure it can be solved in a line or two using vectors, but those brain-cells have been re-purposed :crazy_face:


If still wrestling with it, I found this:


I am still wrestling with this and that link looks helpful. Thank you!

If the idea is to put an arrowhead in the segment currently cutting, I wonder whether it is a good idea. Many of the segments are tiny, how would the screen look with an arrowhead and both sets of crosshairs? Perhaps coloring the segment would be enough?


Looks like this thread may not be real active, but I have one or two features I’d love to see in Ground Control.

  1. Grid lines. The current grid lines at 2’ up and 4’ in are ok for center, but don’t help a lot when trying to position a cut to make use of an unused section of plywood.

  2. Some way to retain an image of the last cut as a positioning reference. As above, when trying to minimize waste, it would be great to see exactly where my last item came out of the sheet versus where my next cut is going to be.

Hopefully these aren’t too complex, but I’d love to hear if they are possible.

1 Like