Snapshot output

But no way to export as an animated GIF then?

No(t at this moment). I think it is planned to have keyframes-to-bongo at some point, so that you can then render out with Bongo.

Until then your best bet is to use a screen capturing software - if you’re looking for something cheap (free) you could try Open Broadcaster Software. Despite its name it also does recording. It takes a moment to set up and get used to, but you should be able to create high quality recordings.

Here a quick result of a recording with OBS, with minimal editing (trimming at start and end).

(use this link to view in high quality from the start)

The 3dm file I used is MaterialSwitcherAndAutomatedRendering.3dm (1.2 MB)


Thanks mate. I will see how my boss wants to handle this. Cheers!

Pro tip: If I ever let my bosses (when I had them) decide what technology/tools/hardware/software/solutions to use at work, my career would be over by now.


1 Like

There’s no “letting” where I work, Its do it this way or there’s the door.

Sorry to hear Dan. Especially when talking about being pro-active about finding ways to be more productive. And on stuff as trivial as a gif-maker.

We are now slowly switching from Octane to Vray because even though I run the team and it was my decision to use Octane, one of my employees made a very good case why Vray makes more sense for us.

We are also bringing in two new hires, both great at Siemens NX, and guess what? I have said: “We’ll never pay for that expensive shit!!!” …this afternoon I have a meeting with Siemens. (Stop laughing Bob, I can hear you from here :rofl:)

HAHAHA I was laughing too! :joy:

Hi @nathanletwory,

I wanted to add this tool to our scripts /workspace so we can output screen captures to file that match the names of our snapshots.

Right now I have a really dumb manual/macro way that can only restore a predefined list of snapshots names. So getting this approach to work wold be a lot better.

I know you mentioned that we can “add your view capturing as you like” and linked to a scrip from @dale, but I have no idea how to incorporate this.

I’d like to have a macro when I can be prompted a folder location and write put all the snapshots as .pngs to that folder. And have a place in the script where I can replace the pixel height and width that I want for that viewcapture to file.

For example, when I look at this code below:

…I have no idea where I have to put the resolution that I want, like 1920x1080 for example.

Also this script most likely will overwrite .png files with the same name on that folder, since the whole point of this script is to update .pngs after a design/rhino file change, so all the documentation with screenshots about that file get updated, and our Indesign documentation file gets updated with new linked .pngs.

Could you guys please help? Thanks!

here’s an example .3dm file w/ 3 saved snapshots to work with.export_all_snapshots_vecaptures_byname_gf_190414.3dm (3.8 MB)


Hi Gustavo - I’ll take a look…


Hmm, I think I already posted on this forum a script that captures all snapshots. Searching.

I sent over something that seems to work OK. (Although I have not heard that from Gustavo… so maybe keep looking)


I can’t find it from my collection of scripts, but I’ll also post a script in an hour or so.

hi Guys, I’m buried in GH deadlines, still working on that, I’ll check what Pascal send me tomorrow am and I’ll report back. Thanks!


Here is my script:

# script to capture all snapshots in a file to PNG files.
# assumes all captures are going to be at the one
# asked for resolution.
# will overwrite existing PNG files without asking questions.
# Nathan 'jesterKing' Letwory, 2019.04.16

import scriptcontext as sc
import rhinoscriptsyntax as rs
import Rhino as r
import System

def capture_viewport(path, name, width, height):
	av = sc.doc.Views.ActiveView
	view_capture = r.Display.ViewCapture()
	view_capture.Width = width
	view_capture.Height = height
	view_capture.ScaleScreenItems = False
	view_capture.DrawAxes = False
	view_capture.DrawGrid = False
	view_capture.DrawGridAxes = False
	view_capture.TransparentBackground = False
	view_capture.RealtimeRenderPasses = 10
	bitmap = view_capture.CaptureToBitmap(av)
	if bitmap:
		filename = System.IO.Path.Combine(path, name+".png")
		print "saving ", filename
		bitmap.Save(filename, System.Drawing.Imaging.ImageFormat.Png)

width = rs.GetInteger(message="Width for capture")
height = rs.GetInteger(message="Height for capture")
folder = rs.BrowseForFolder(folder=System.Environment.SpecialFolder.Desktop, message="Select folder to save snapshot captures to", title="Select folder to save snapshot captures to")
if None in (folder, width, height):
	print "aborted capturing all snapshots"
	path = folder
	snappies = [n for n in sc.doc.Snapshots.Names]
	for snappy in snappies:
		r.RhinoApp.RunScript("-_SnapShots _Restore \"" + snappy + "\" _Enter _Enter", False)
		capture_viewport(path, snappy, width, height) (1.6 KB)

Remember to disable animation of restore for fastest capture process.

1 Like

hi @pascal, @nathanletwory,

Just finished work but I had to try these. They both work great!

also Pascal’s script is attached: (3.8 KB)

Here’s is a dummy file with 3 snapshots for anyone to try it.
export_all_snapshots_viewcaptures_byname_gf_190414.3dm (3.8 MB)

Here’s the documenation:
Run ! _-RunPythonScript “F:\assets\rhino\scripts\” for Pascal’s version (or whatever path you saved your script)

! _-RunPythonScript “F:\assets\rhino\scripts\” for Nathan’s version (or whatever path you saved your script)

Thanks so much!


1 Like

looks like the script from @pascal is a bit nicer in that it retains settings for the duration of a Rhino session. And scripted transparency control.

Thank you so much for sharing this script. It saved about 2hours! :grin:

Hi Everybody,

I was wondering if in this section of the discourse someone could advise me on how to get rid of all menues, when/while playing a snapshot-slideshow.
It would be nice, if I/we could asign keyboard shortcuts to the respective commands, in order to be able to grab unobscured screens in Full-HD (< in my case). There is a button named ‘Fullscreen’ in the snapshot menues, however it does not provide a ‘total’ fullscreen.

Any suggestions would be much appreciated,

Thanks in advance, Klaus
(btw - I sadly am a NO-Coder)

Hi Nathan, how did you get rid of the snapshots menus, while capturing the above video ?

I had some pretty nice results with ATOMI Active Presenter, if only I could get rid of the
snapshot menu in fullscreen mode.
Sadly one can’t even assign the ‘start_slideshow’-command to a keyboard shortcut. At least I can’t.
I tried to move the mini-menu into the lower right corner as far as possible and
if I could then hit a key and - voila - it would execute the slideshow-animation, I would be saved.
Did you find any new infos on this snapshot-stuff in the meantime ? Best and thanks in advance, Klaus