Coder Social home page Coder Social logo

octoprint-prettygcode's Introduction

OctoPrint Pretty GCode Viewer

This plugin adds a 3D GCode visualizer tab in Octoprint. It displays colored lines to give you some idea what the printer is doing and animates progress during printing.

Screenshot

Features

  • 3D Gcode visualizer
  • Sync progress to print job
  • Full screen and tabbed interface
  • Uses Dashboard plugin from Dashboard github page when installed
  • Customize the UI via CSS injection (see Instructions on tab in OctoPrint)

Screenshot

For and configuration details, please see the instructions on the PrettyGcode tab in OctoPrint. Report bugs via the Issues tab here on github.

Apple Safari

Some users of Apple Safari have reported crashes when the page loads. To fix this you can enable "GPU Process: WebGL" and restart Safari.

Screenshot

octoprint-prettygcode's People

Contributors

beeone42 avatar foosel avatar jneilliii avatar kragrathea avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

octoprint-prettygcode's Issues

Bug - Nozzle sinks into model when Octolapse move occurs

I have Octolapse running which means at some point once per layer it moves the extruder over to left-center (in my case). when this happens in PrettyGCode it just sinks into the model and then pops back when the move is over.

Feature Request - Rotate on Model

Sometimes I print models not in the middle of the build plate. A rotate on model, or center on model (similar to built in gcode viewer) would be helpful

Conflict with Consolidated Tabs plugin

@Kragrathea first and foremost, you know I've been a long time user of your plugin and love it. Hands down one of the best UI improvements to OctoPrint. One thing that I've recently noticed is that the fullscreen mode doesn't like to play nice with the Consolidated Tabs plugin, and I assume it has to do with how you are scoping your resize of the tab content. When I merge your tab into the consolidated tab going into fullscreen mode only fills the panel, not the entire page as expected. Here's a screenshot for reference.

image

Width of line relative to screen not zoom level

The width of the lines when the fatLines option is on is always the same. If I'm zoomed far in or out the width of the lines in pixels will be the same. What should happen is the width of the lines should be relative to the zoom level. I'm going to assume this is an issue because this extension would have to analyze the g-code in order to determine the width of the extrusion in real life. I think a good workaround would be to set the width based on the zoom level and just pick a good value that works ok-ish across most parts. Or a slider could even be added to control the line width.

Feature Request - Themes / Switch GCode Visualizer and Camera

Great plugin, good work.

Looking to see if custom themes can be chosen. Looks like it utilizes themes from Themeify. Using discord theme+dashboard plugin, the text is unreadable on the white background.

Curious if this can be set independently to use the default on the plugin, while discord on my octoprint.

Additionally, would be interesting to switch GCode and Camera, if I'm more interested in the camera view being prominent.

Status does not work

Unfortunately the status (bottom left) does not work. If I click on it nothing happens. (OctoPrint 1.4.0 on OctoPi 0.16.0)

Auto rotation upon resume

I like the "orbit on idle" feature it's cool to look at. However when not idle is it possible to resume to a set orientation matching the build plate view?

Feature Request: Sync Layer Without Animation

I think it would be nice to have an option to sync the layer progress without having the nozzle animation. On a layer change it would show the current full layer, basically like not syncing to progress and manually moving the slider.

I don't need to see the animation of what is happening, but it's nice to know what the layer is going to look like.

Thanks

[BUG] View settings are not saved using Chrome V 84.0.4147.135

Start Chrome and Octoprint and type 192.168.xx.xx and select the tab PrettyGCode. The default view settings are "Show Mirror" & "Orbit when Idle" ON, everything else OFF. Now change the view settings and clear every option except Sync To Progress. Load an object, zoom on it, etc. make sure everything works.

Now close Chrome.... and restart Chrome... and load Octoprint. Go to PrettyGCode. Click View settings. The settings are back reverted to the default ON "Show Mirror" & "Orbit when Idle" and everything else off.

I tested both the PrettyGCode in tab mode and in full view mode. The view settings are NOT saved in either.

Just in case it matters I use the following 3rd party plugins (in alphabetical order):
ArduCamFocus
Consolidated Tabs
Dashboard
DisplayLayerProgress Plugin
Dragon Order
Floating Navbar
Fullscreen Plugin
Navbar Temperature Plugin
PrettyGCode
PrintTimeGenius Plugin
Simple Emergency Stop
TP-Link Smartplug

Does not allow printing with virtual printer

When I try to print with virtual printer prettyGcode does not sync. Regular Gcode viewer does not start either. Terminal does not refresh. Disabling prettyGcode reenables printing fucntionality and regular gcode viewer and refresh of the terminal.

Gcode is not colored

All the gcode i upload only shows up in orange, is there some option i need to select in my slicer or something?

image

Update Loop

You released version v1.0, but the setup.py is still loading v0.3 so results in an update loop. You need to update the line here to be 1.0 as well.

Camera window sizing

It appears that a camera with a higher resolution than 640x480 will take up nearly the entire screen when enabled.

2020-08-29_11-44-00

Won't stop spinning.

After a few seconds, the visualized gcode will start to spin. With no visible option to stop it from doing so.

Could not parse output from pip, see plugin_pluginmanager_console.log for generated output

Error!
Could not parse output from pip, see plugin_pluginmanager_console.log for generated output

Can you have a look please?
octoprint (2).log

plugin_pluginmanger_console
:020-08-26 09:20:57,587 /home/pi/oprint/bin/python2 -m pip --disable-pip-version-check install file:///tmp/tmpnq2PXS/OctoPrint-PrettyGCode-master.zip --no-cache-dir
2020-08-26 09:21:00,656 > Processing /tmp/tmpnq2PXS/OctoPrint-PrettyGCode-master.zip
2020-08-26 09:21:06,238 > Requirement already satisfied (use --upgrade to upgrade): OctoPrint-PrettyGCode==1.2.1 from file:///tmp/tmpnq2PXS/OctoPrint-PrettyGCode-master.zip in /home/pi/oprint/lib/python2.7/site-packages
2020-08-26 09:21:06,239 > Requirement already satisfied: OctoPrint in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,239 > Requirement already satisfied: OctoPrint-FirmwareCheck>=2020.06.22 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,240 > Requirement already satisfied: OctoPrint-FileCheck>=2020.07.06 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,240 > Requirement already satisfied: markupsafe<2.0,>=1.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,241 > Requirement already satisfied: tornado==5.1.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,241 > Requirement already satisfied: markdown<3.2,>=3.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,242 > Requirement already satisfied: rsa==4.0 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,242 > Requirement already satisfied: regex!=2018.11.6 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,242 > Requirement already satisfied: flask<2,>=1.1.2 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,243 > Requirement already satisfied: Jinja2<3,>=2.11.2 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,243 > Requirement already satisfied: Flask-Login<0.6,>=0.5 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,243 > Requirement already satisfied: Flask-Babel<2,>=1.0 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,244 > Requirement already satisfied: Flask-Assets<3,>=2.0 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,244 > Requirement already satisfied: werkzeug<2,>=1.0.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,245 > Requirement already satisfied: itsdangerous<2,>=1.1.0 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,245 > Requirement already satisfied: cachelib<1,>=0.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,245 > Requirement already satisfied: PyYAML<6,>=5.3.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,246 > Requirement already satisfied: pyserial<4,>=3.4 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,246 > Requirement already satisfied: netaddr<1,>=0.7.19 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,246 > Requirement already satisfied: watchdog<1,>=0.10.2 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,247 > Requirement already satisfied: sarge==0.1.5post0 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,247 > Requirement already satisfied: netifaces<1,>=0.10.9 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,247 > Requirement already satisfied: pylru<2,>=1.2 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,248 > Requirement already satisfied: pkginfo<2,>=1.5.0.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,248 > Requirement already satisfied: requests<3,>=2.23.0 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,248 > Requirement already satisfied: semantic_version<3,>=2.8.5 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,249 > Requirement already satisfied: psutil<6,>=5.7 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,249 > Requirement already satisfied: Click<8,>=7.1.2 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,250 > Requirement already satisfied: feedparser<6,>=5.2.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,250 > Requirement already satisfied: future<1,>=0.18.2 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,250 > Requirement already satisfied: websocket-client<1,>=0.57 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,251 > Requirement already satisfied: wrapt<2,>=1.12.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,251 > Requirement already satisfied: emoji<1,>=0.5.4 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,251 > Requirement already satisfied: frozendict<2,>=1.2 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,252 > Requirement already satisfied: sentry-sdk<1,>=0.15.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,252 > Requirement already satisfied: filetype<2,>=1.0.7 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,253 > Requirement already satisfied: unidecode<0.05,>=0.04.14 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,253 > Requirement already satisfied: blinker<2,>=1.4 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,253 > Requirement already satisfied: futures<4,>=3.3 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,254 > Requirement already satisfied: monotonic<2,>=1.5 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,254 > Requirement already satisfied: scandir<2,>=1.10 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,255 > Requirement already satisfied: chainmap<2,>=1.0.3 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,255 > Requirement already satisfied: typing<4,>=3.7.4.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,255 > Requirement already satisfied: singledispatch in /home/pi/oprint/lib/python2.7/site-packages (from tornado==5.1.1->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,256 > Requirement already satisfied: backports_abc>=0.4 in /home/pi/oprint/lib/python2.7/site-packages (from tornado==5.1.1->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,256 > Requirement already satisfied: setuptools>=36 in /home/pi/oprint/lib/python2.7/site-packages (from markdown<3.2,>=3.1->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,257 > Requirement already satisfied: pyasn1>=0.1.3 in /home/pi/oprint/lib/python2.7/site-packages (from rsa==4.0->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,257 > Requirement already satisfied: pytz in /home/pi/oprint/lib/python2.7/site-packages (from Flask-Babel<2,>=1.0->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,257 > Requirement already satisfied: Babel>=2.3 in /home/pi/oprint/lib/python2.7/site-packages (from Flask-Babel<2,>=1.0->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,258 > Requirement already satisfied: webassets>=2.0 in /home/pi/oprint/lib/python2.7/site-packages (from Flask-Assets<3,>=2.0->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,258 > Requirement already satisfied: pathtools>=0.1.1 in /home/pi/oprint/lib/python2.7/site-packages (from watchdog<1,>=0.10.2->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,258 > Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /home/pi/oprint/lib/python2.7/site-packages (from requests<3,>=2.23.0->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,259 > Requirement already satisfied: idna<3,>=2.5 in /home/pi/oprint/lib/python2.7/site-packages (from requests<3,>=2.23.0->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,259 > Requirement already satisfied: certifi>=2017.4.17 in /home/pi/oprint/lib/python2.7/site-packages (from requests<3,>=2.23.0->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,260 > Requirement already satisfied: chardet<4,>=3.0.2 in /home/pi/oprint/lib/python2.7/site-packages (from requests<3,>=2.23.0->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 09:21:06,261 > Requirement already satisfied: six in /home/pi/oprint/lib/python2.7/site-packages (from websocket-client<1,>=0.57->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:05,052 /home/pi/oprint/bin/python2 -m pip --disable-pip-version-check install file:///tmp/tmpIsPQL_/OctoPrint-PrettyGCode-master.zip --no-cache-dir
2020-08-26 13:20:08,202 > Processing /tmp/tmpIsPQL_/OctoPrint-PrettyGCode-master.zip
2020-08-26 13:20:13,818 > Requirement already satisfied (use --upgrade to upgrade): OctoPrint-PrettyGCode==1.2.1 from file:///tmp/tmpIsPQL_/OctoPrint-PrettyGCode-master.zip in /home/pi/oprint/lib/python2.7/site-packages
2020-08-26 13:20:13,818 > Requirement already satisfied: OctoPrint in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,819 > Requirement already satisfied: OctoPrint-FirmwareCheck>=2020.06.22 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,819 > Requirement already satisfied: OctoPrint-FileCheck>=2020.07.06 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,820 > Requirement already satisfied: markupsafe<2.0,>=1.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,820 > Requirement already satisfied: tornado==5.1.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,821 > Requirement already satisfied: markdown<3.2,>=3.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,821 > Requirement already satisfied: rsa==4.0 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,822 > Requirement already satisfied: regex!=2018.11.6 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,822 > Requirement already satisfied: flask<2,>=1.1.2 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,822 > Requirement already satisfied: Jinja2<3,>=2.11.2 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,823 > Requirement already satisfied: Flask-Login<0.6,>=0.5 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,823 > Requirement already satisfied: Flask-Babel<2,>=1.0 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,824 > Requirement already satisfied: Flask-Assets<3,>=2.0 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,824 > Requirement already satisfied: werkzeug<2,>=1.0.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,825 > Requirement already satisfied: itsdangerous<2,>=1.1.0 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,825 > Requirement already satisfied: cachelib<1,>=0.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,825 > Requirement already satisfied: PyYAML<6,>=5.3.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,826 > Requirement already satisfied: pyserial<4,>=3.4 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,826 > Requirement already satisfied: netaddr<1,>=0.7.19 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,827 > Requirement already satisfied: watchdog<1,>=0.10.2 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,827 > Requirement already satisfied: sarge==0.1.5post0 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,828 > Requirement already satisfied: netifaces<1,>=0.10.9 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,828 > Requirement already satisfied: pylru<2,>=1.2 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,829 > Requirement already satisfied: pkginfo<2,>=1.5.0.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,829 > Requirement already satisfied: requests<3,>=2.23.0 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,830 > Requirement already satisfied: semantic_version<3,>=2.8.5 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,830 > Requirement already satisfied: psutil<6,>=5.7 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,831 > Requirement already satisfied: Click<8,>=7.1.2 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,831 > Requirement already satisfied: feedparser<6,>=5.2.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,832 > Requirement already satisfied: future<1,>=0.18.2 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,832 > Requirement already satisfied: websocket-client<1,>=0.57 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,833 > Requirement already satisfied: wrapt<2,>=1.12.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,833 > Requirement already satisfied: emoji<1,>=0.5.4 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,833 > Requirement already satisfied: frozendict<2,>=1.2 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,834 > Requirement already satisfied: sentry-sdk<1,>=0.15.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,834 > Requirement already satisfied: filetype<2,>=1.0.7 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,835 > Requirement already satisfied: unidecode<0.05,>=0.04.14 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,835 > Requirement already satisfied: blinker<2,>=1.4 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,835 > Requirement already satisfied: futures<4,>=3.3 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,836 > Requirement already satisfied: monotonic<2,>=1.5 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,836 > Requirement already satisfied: scandir<2,>=1.10 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,836 > Requirement already satisfied: chainmap<2,>=1.0.3 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,837 > Requirement already satisfied: typing<4,>=3.7.4.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,837 > Requirement already satisfied: singledispatch in /home/pi/oprint/lib/python2.7/site-packages (from tornado==5.1.1->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,837 > Requirement already satisfied: backports_abc>=0.4 in /home/pi/oprint/lib/python2.7/site-packages (from tornado==5.1.1->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,838 > Requirement already satisfied: setuptools>=36 in /home/pi/oprint/lib/python2.7/site-packages (from markdown<3.2,>=3.1->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,838 > Requirement already satisfied: pyasn1>=0.1.3 in /home/pi/oprint/lib/python2.7/site-packages (from rsa==4.0->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,838 > Requirement already satisfied: pytz in /home/pi/oprint/lib/python2.7/site-packages (from Flask-Babel<2,>=1.0->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,839 > Requirement already satisfied: Babel>=2.3 in /home/pi/oprint/lib/python2.7/site-packages (from Flask-Babel<2,>=1.0->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,839 > Requirement already satisfied: webassets>=2.0 in /home/pi/oprint/lib/python2.7/site-packages (from Flask-Assets<3,>=2.0->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,839 > Requirement already satisfied: pathtools>=0.1.1 in /home/pi/oprint/lib/python2.7/site-packages (from watchdog<1,>=0.10.2->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,840 > Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /home/pi/oprint/lib/python2.7/site-packages (from requests<3,>=2.23.0->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,840 > Requirement already satisfied: idna<3,>=2.5 in /home/pi/oprint/lib/python2.7/site-packages (from requests<3,>=2.23.0->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,841 > Requirement already satisfied: certifi>=2017.4.17 in /home/pi/oprint/lib/python2.7/site-packages (from requests<3,>=2.23.0->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,841 > Requirement already satisfied: chardet<4,>=3.0.2 in /home/pi/oprint/lib/python2.7/site-packages (from requests<3,>=2.23.0->OctoPrint->OctoPrint-PrettyGCode==1.2.1)
2020-08-26 13:20:13,841 > Requirement already satisfied: six in /home/pi/oprint/lib/python2.7/site-packages (from websocket-client<1,>=0.57->OctoPrint->OctoPrint-PrettyGCode==1.2.1)

Feature request: Show 'Load GCode visualizer' button

When the GCode file is over the 'GCode visualizer file size threshold' setting, PrettyGCode doesn't display anything until the user goes to the 'GCode Viewer' tab, and accepts to load the file

Having the button to load the file within the PrettyGCode tab will prevent users wondering why it's not showing anything

Model not showing in OBS Browser Source even if GPU enabled

Let me start with how much i love what this plugin provides...

I love to watch the tab in octoprint and everything works perfectly fine there in chrome and other Browsers. However when i want to use it in OBS via Browser Source i dont see the model but i see the printhead with its animations.

Considering the other open Issues I think this is a related pathing issue?

I also tried to use "http://octopi.local:80/?fullscreen=1#tab_plugin_prettygcode" but its the same issue.

printgit

image

Visualizing the position of item on grid

I'm having a weird issue where the pretty item is showing up at the extreme lower right hand corner. Is there any way to place the item in the center of the grid while printing? When I initially open the PrettyGCode tab in the interface, the grid pattern is centered (in the viewing area) but there is no item. I have to zoom the picture way out to locate the item, then use the mouse to get the item in the center of the viewing area. The standard GCodeViewer in OctoPrint does the same thing except the item appears in the upper right hand corner.
zoomedoutPretty
InitialPretty
StandardView
Upper

Possibility to add API / Render the whole thing in different program (OctoDash)

Hi there,

Your GCode viewer definitely is one of the best looking out there! I was just curious whether there was an option to extract the image / data to display or render the whole thing in another application? I know this is asking quiet a lot but I've been looking for quite some time now and haven't found anything as good looking as your renderer.

Just to give you an idea what I thought about (I don't know whether that is possible / you would like something like that):

  • Your plugin sends the preprocessed data (or even raw data) to OctoDash
  • OctoDash would then use a part of your plugin to display the render in the user interface (ideally kind of realtime)

You would naturally receive full credit!

Let me know if you think this is possible / you'd like to pursue this idea and if so at which scope. Thanks :)

Feature request: Recenter model

I accidentally did a two finger swipe while over the visualizer, and the build plate and model went zooming off somewhere into the nether regions of the space-time continuum (I presume that Eddie's there, too*). No way to find where it was and return it into the view. I had to reload (not reboot) the OP instance to get it to return to the default.

A "maintain maximum size view"option would be nice, too, that would constantly make sure that the entire model is zoomed in as close as possible.

[*Obligatory HHGTTG reference.]

Plugin ID is not consistent with that of the repo, causes issues

Plugin ID is not consistent with that of the repo, causes issues (a) migrating to Python 3 and (b) restoring from a backup.

Plugin id is prettygcode - the plugin repository is PrettyGCode.

@Kragrathea - Is it OK if I change the id on the repo? To be honest, you haven't really got a choice since the ID should never be changed within the plugin, as it breaks updates. ๐Ÿ™‚

Store active zoom, rotation, and position

Please consider storing the zoom, location, rotation, etc., along with the prefs.

The issue is, when OctoPrint is reloaded, it loses all this (even during the same print), so I have to re-zoom, re-rotate, and drag the grid back to where I had it before the reload. A "reset to previous view on reload" pref could be added, so if people did not want to have this happen, they could choose not to do so.

BTW, I was told by the "other" team that there was no way to overcome the browser limitation on displaying gcode for very large files (in the built-in gcode viewer). Yet, somehow, you seem to have had no problem doing that (at least so far for files up to 420mb that I have tried). Good for you.

Nozzle Visualization does not reflect Nozzle Size

Hello!

The nozzle size ("0.4mm") displayed on the side of the nozzle is presumably static, but this information can be retrieved from the printer profile's extruder settings.

I appreciate this is potentially a high-effort, low-effect issue to fix but it's been something that's been bugging me :)

Thank you for your hard work on such a fantastic plugin!

[Feature Request] Dedicated Link without acces to Octoprint UI

Would be nice to have a dedicated Link that i can Share.
I do this for webcam with my reverse proxy, so all connections over a specific domain (printcam.domain.tld) is redirectet internally to the webcam url:
http(s)://ip:port/webcam/?action=stream&1597856926977

The Important Thing is that no one can manipulate the url to get to the Octoprint webui.

So if i had a dedicated Link that only Shows the 3d Model, Print Stats (Temp etc) and a Webcam without any navbar or something like that i could share it to my Friends without problems.

Compatibility with 'Floating Navbar'

It seems that there is an issue with this plugin, in full screen mode, with another plugin 'Floating Navbar' where the title bar conflicts with this plugins top buttons.
Capture

Camera View

I have a webcam I use for timelapses etc, but I also have a camera attached to the pi for monitoring filament. PrettyGCode is selecting the "local" printer instead of the camera defined in timelapse and octolapse. I don;t see a way to tell it to use the other camera.

Not displayed: 3D object and webcam.

Hello, thanks for the plugin.

I have duplicate octoprint for two printers. Before the plugin worked for me, the 3D object was visible, the webcam was not visible.

Before I had printers with these names:
octopi.local /
octopi.local: 5001 /

Now:
octopi.local / print1 /
octopi.local / print2 /

They are not accessible for security from the ports.
I think that from that change it is no longer possible to see the objects in 3D.

It would also be nice to be able to choose the webcam address. This would solve the problems of various webcams.

Thanks for this great plugin. A greeting.

Camera shows up under "control" but not in "prettygcode" tab

As the title says, the camera shows up normally under the "control" tab (and when I press the Test button in webcam settings), but doesn't work when I have Pretty Gcode fullscreened.
It used to display nothing, but I tried messing with resizing it to 360x240 using CSS in the setting, but it only made this empty box appear.
Same thing happened before i added the Dashboard plugin (I didn't have it installed in the beginning).
Capture
Capture1
Capture2

edit: I forgot to mention that I don't use a camera over usb, but a stream over wifi using an app on an old phone of mine.

Missing support of G2-G3 - Arc/Circle Move

The plugin is missing G2/G3 support.

Although this is not a new command it is not used in most slicers.
With the introduction of ArcWelderPlugin this support would be useful.

Kindly install ArcWelderPlugin to reproduce the issue.

Using Backup/Restore in Octoprint for some reason doesn't Backup/Restore PrettyGCode

Use the backup/restore function of Octoprint V1.4.2.
I selected the option to exclude uploaded files & metadata from the backup, and I also selected exclude timelapses from the backup.
I then formated a brand new SD card, loaded octopi 0.17.0, updated octoprint to V1.4.2 and tried the Backup/Restore function.
Every plugin that I had before loaded just fine. All except PrettyGCode. And could very well be that the backup function never backed up PrettyGCode in the first place. Either way PrettyGCode was the only plugin out of 11 that did not restore.

Feature request: Show next layers

Would it be possible to have an option to show the next layers?

By default it would be nice to see them at around 25% opacity ๐Ÿ‘

View model is attempted to get bound twice

I just noticed that you are attempting to bind your view model twice. You are instructing OctoPrint to bind to both injector_link and tab_plugin_prettygcode. However, injector_link is contained in tab_plugin_prettygcode (it's commented out in prettygcode_navbar.jinja2 - as is everything else btw, so maybe you should get rid of it too, it's only adding clutter). See https://github.com/Kragrathea/OctoPrint-PrettyGCode/blob/master/octoprint_prettygcode/static/js/prettygcode.js#L1627

Please remove the reference to #injector_link, as attempting to double bind will cause issues in future versions of OctoPrint due to a knockout update (OctoPrint/OctoPrint#3785) that is less tolerant to double bindings attempts like that one.

Intermittent Camera

Camera button in full screen not working... usually...

I have two printers each with their own cameras. One is a raspberry pi camera, the other is a USB camera. They both work fine in every other capacity. I've disabled all other camera plugins (except Dashboard), and have tried multiple browsers (safari, Firefox, edge) and have the same results. I updated to OctoPrint-PrettyGCode 1.2.1 this morning, though I saw this in the previous version too.

The camera doesn't display in full screen mode, but if I go into the Dashboard plugin settings and enable the camera, then I will be able to see it in the Dashboard widget on the lower left. If I then reload the page in the browser, the camera will ALSO appear in the lower right as expected. I can then go and disable the Dashboard camera and switch back to PGC full screen and it works fine, until I reload the page.

Fat lines performance

In either Firefox or Edge (latest) using "Fat Lines" looks amazing but these browsers cant handle it; I have a decent 8650u CPU 16GB RAM, and Intel integrated graphics. Is there some setting I should find on the browser?

Feature Request: Option to switch right click and left click

I switch back and forth between PrusaSlicer and Octoprint. In PrusaSlicer, click and dragging triggers orbiting. Right click and dragging triggers panning. In this plugin its the exact opposite. It would be nice to have the ability to flip it because I keep mixing it up when switching between them.

Error detection

Hi-

Love the plug-in. Wondering if it might be possible to compare the rendered image to the camera to detect a print failure. I know nothing about image analysis, but what do you think? I would think the camera would need to be mounted to the bed for a constant view. And there would need to be a setting to tell the plug-in where the camera is. Then the browser could sound an alarm if it detects spaghetti. Or just stop the print.

GhostModel

Hi, can u add options to show half transparten object with is not printed yet?

Camera view does not respect OctoPrint webcam rotation setting

I just mounted my RasPi camera, and the mount required me to put the camera in a portrait orientation. I corrected this by enabling the OctoPi "Rotate webcam 90 degrees counter clockwise" option.

Unfortunately, the camera view in the PrettyGCode plugin continues to show a landscape view. Refreshing didn't help.

Feature Request: Different color for current layer

In the normal GCode viewer you can limit it to just the current layer and such.

In 3d like it is in PrettyGCode, its hard to tell where we are in the current layer, it would be cool to show 1 color for printed stuff, 1 color for stuff to be printed on the current layer, and stuff already printed on the current layer. Make all of it optional so people can choose what to show, kinda like in the normal GCode viewer.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.