Top-down gCode viewer (WIP)
-
I decided to finally take the time to learn how to create plugins within the framework and thought this would be a good challenge for a first project. Yes, it's really being designed for use within our machines, but we'll likely release a "lite" version (if there is enough interest) as an external plugins outside of the "full" version that's baked into our framework. The only caveat is that this is tied to an SBC implementation (which all our machines use), so converting it to stand-alone might be further than we will want to take it.
We already have @Sindarius excellent gCode viewer - and this is not to take away from that!
A few key features that have been implemented so far:
- Segmentation based gCode rendering (it splits each G1/G2/G3 into microsegments that are rendered at a precise delay so the overall move completes at the exact time expected by the associated feedrate)
- Actual extrusion width instead of approximated (still working on perfecting this)
- Feature type color rendering
- Loads local files, files saved within DWC, and can sync with the current job
- Tons of memory optimizations to keep resource utilization as small as possible
- Play, Pause, Speed controls, and Forward / Reverse functionality
I'm all ears for feedback on this. It is just a side-project I thought of early last week. However, I've already grown quite fond of zoning out while watching it.
Here are some videos and a screenshot of where I currently am with it.
gCode Plugin - recording 1.mp4
gCode Plugin - recording 2.mp4 -
@oozeBot Wow! That's really good. My gcode files are mostly written by my own software and can't reliably be displayed by the gcode viewer of PrusaSlicer and so I use the online ncviewer.com. The display of your viewer is superior even if it is only top-down view.
Can it work on a computer instead of the SBC implementation with a Duet?
Some other feedback: it's not clear from the videos if a user can scrub through to a selected layer. That would be very helpful if I was to use it because most of my problems happen at layer changes.