[Plugin Idea] 3D visualisation of print preview

I don't know if this plugin exist or not..
but in another slicer program called simplify 3D
when we click "prepare to print" we are shown a Preview mode screen
so we can click play/pause which does the printing visualization in 3D mode vs 2D of octoprint.

We can also manually scrub through the print preview printing the model by dragging the bar (like scrubbing a video etc)

It also shows the printed preview model in different color code to show what print speed the different layers are..

There also different options we can select to show in the print preview like
-build table
-Travel moves
-Toolhead
-retraction

There is control options
-Preview by Layer or Line
Can also choose what layer to only show

Then finally there is also option to enable
Live preview tracking which would show the model print in the print preview
as it is also actually printing the real model

You have print preview in almost every slicer out there. The best print preview so far is by CraftWARE slicer (not the best slicer out there, but IMO best preview, on of the few, if not only, previewers that can show output of velocity printing in the preview), but you have the preview in Ideamaker, slic3r, prusa slicer, cura...

Making a preview plugin is certainly possible but the one that already exist (that show 2d preview layer by layer) is used by almost noone, not sure if anyone want to put the effort into something not lot of ppl will use, but if you like to, give it a try.

1 Like

You might want to take a look at this thread (in these forums):

The reason why 2D preview is not use much as you stated is because it pretty crap to view it in 2D
compared to print preview in 3D.

If you used Simplify3D print preview you can see that it is more useful to view it in 3D
which gives you much better information about how the model would print each layer etc..

I know you can print preview it in those other slicers
but if you already got the gcode uploaded
and have no access to a pc, it is convenient to preview it within the octoprint.

"but if you like to, give it a try"
If I could, I would done it already
I wouldn't have created this thread.

looks like any development is stalled..

thanks for that link..

I do use S3D but for g-code preview I use CraftWARE as it is much much better. Try it out :smiley: .. s3d is maybe better for slicing but for preview craftware rulez :smiley: (and it's a decent slicer, also have manual supports and it's 100% free :smiley: they have regular updates, very active community where they disclose their plans...) https://craftbot.com/craftware/

as for "3d preview being more useful" actually it depends, for checking out print issues and debugging 2d is way more useful then 3d as your printer prints many 2d layers, but yes, 3d has it's uses of course... it's just that, if you did not check your g-code when you made it there's not much you can do with it post festum .. that's just reason why noone is running to make it .. it's not the first time it was asked ( Idea for a new plugin: 3D preview of files ) , probbly not the last time

I just installed the plugin referenced in the other thread and it works. Using the OctoPrint Plugin Manager, just plug the URL into the "...from URL" and click "Install". Did this not work for you?

It is pretty ugly and I'm not sure much can be done about it but if you need it, it works.

Think of this as a very expensive/intensive plugin to build and maintain. For whomever accepts the challenge, they'll be rewarded with months of work and little financial reward. If you want something like this then the best way is to offer someone money to build it otherwise, it's not likely going to happen.

I can say from experience that 3D rendering and the involved libraries and subsystems on Raspbian/Debian/Linux are problematic and subject to breaking with every major release of the operating system. They're pretty much guaranteed to require hardware acceleration from the GPU and tweaks to the RAM ratio between CPU/GPU. It's going to be a headache for anyone who takes this on.

2 Likes

oh yes!!! and if you take into consideration that not everyone run this on rpi but also opi, different x86 boards etc etc...

now, tbh I'd rather just shoot the whole g-code into browser and let browser do the visualization .. webgl is powerful enough to handle that and I guess whatever user looks the octoprint web trough is more powerful than soc board octoprint is running on :slight_smile:

1 Like

Well, sure. Webgl should be able to tackle it... if only it has the mesh file rather than the gcode file.

  1. Use the github 3D rendering technology by somehow getting it the mesh file, outsourcing the work to them in the cloud in realtime
  2. Similarly, use wikifactory's 3D rendering technology in realtime
  3. Use webgl to render the mesh file on the browser in realtime
  4. Use the (Cura) slicer to include a nice preview image, uploading this to the .octoprint/uploads area before the print has even started

Personally, I've just not seen many good-looking results from attempting to render a 3D graphic from the gcode tool paths.

1 Like

there were few decent STL preview libraries for javascript that were doing pretty good job, dunno if they are still around or not.. anyhow previewing mesh is not a big deal, visualizing g-code on the other hand is a big deal and good visualizers are rare.. as I mention one that I really like I'll up a preview image :smiley: so what I find a "good looking result of a rendered gcode toolpath" :smiley: (both files were sliced by S3D)


The approach that I'm taking now with the project I'm on is to use Cura to slice for an Ultimaker S5 printer. This produces a .ufp file which unzips to reveal a good-looking preview. (I don't have an Ultimaker S5, for what it's worth.)

You don't have to slice for an UM S5 to save an .ufp file; File -> Export after slicing should give you the option to save as Ultimaker Format Package with any printer.

Brilliant. Now all I need is a Cura plugin that will—with an added button—just do that to a temp folder locally, upload that to a folder on the Pi, rename/uncompress that and then drop/rename the preview file into another folder.

Is there a template-y Cura plugin tutorial somewhere? I guess I should just go to school on your own connection plugin.

1 Like

This is going rather off-topic, but wouldn't it make a lot more sense to write an OctoPrint plugin that accepts and unzips .ufp files? If you do, I'll make sure they are supported in the OctoPrint Connection plugin.

2 Likes

For the average-use case, yes (that would be great). For this particular project I can't have the user trying to initiate a print job via Cura since they haven't yet prep'd the printer (laser sintering).

That sounds like an interesting project. I don't personally use Cura but could probably throw something together for that. Now I need to download Cura I guess. What version should I use to create a ufp file?

Any version starting from Cura 3.3 can create .ufp files, but I would just go with the current version (4.2.1).

1 Like

did you stop development of your 3D preview plugin ?

It would be good if you can implement a 3D print preview like simplify 3D

Pretty much. I don't have the time to get into the complexity of webgl. That plugin was basically just enabling the parts that were left out from the original gcode.ws library used for the gcode viewer tab to enable the 3d view.

1 Like