Script help needed

Hi,

I’m looking for a little (button) script to force an enter during the command _EnscapeTakeScreenshotCommand is running. The command needs an “enter” only. I tried

_EnscapeTakeScreenshotCommand _enter

but it doesn’t work. Is it possible?

Finally I will use it for test per Bongo. My hope is to start the little script per frame. The Bongo functionality allow to start a script/command.

-Micha

1 Like

Hi @Micha,

could it be you’re missing the - in front of the command to get rid of the dialog ?

_-EnscapeTakeScreenshotCommand

_
c.

@clement It doesn’t help. I tried this, but the Enter is shown after I manually pressed “speichern”.

_-EnscapeTakeScreenshotCommand _Enter

Hi @Micha, what do you mean by “the Enter is shown” ? Does the - in front of the command supress the dialog and can you pass the file name from the commandline ?

Maybe make a little video to get sure we understand what you see.

_
c.

Hi @clement, the “Enter” was from my little code shown at the command line after I closed the save dialog. The save dialog can’t be suppressed by the -. It looks like at _-EnscapeTakeScreenshotCommand the button script is stopped and waiting for the input.

Enscape create a good unique file name, but the dialog wait for pressing “speichern”. I hope there is a trick for an automatic.

Hi Micha, you could as the guys at Enscape if they could respect the “RunMode” of the command and then allow to pass a path to the commandline instead of showing the dialog.

Apart from that there is only a way to press Enter by using AutoIt scripting which waits for the dialog and then presses Enter automatically whenever it is shown.
_
c.

Hi Clement, thank you for detailed explanation. I will ask the Enscape guys and hope for a “run mode” solution. (I afraid they are to busy since they create a monster. :wink: )

-Micha

Hi @Micha,

You may try one more way to get this done - I didn’t install Enscape yet so could not test that particular case, but I tested with other dialogs and seems to work OK here.

You will need to update the path in the .rvb file to where you save the .html file to make it work.
The way it works is the RhinoScript file opens a HTML modeless dialog, from which the opening dialog command and “Enter” press are invoked, with some wait times (you may need to tweak these in the HTML).

This way it can trick Rhino into accepting Enter input while dialog is open. Pretty hacky but maybe it will do for now until Enscape implements scriptable version of their command.

hth,

–jarek

KeyPresser.zip (850 Bytes)

Hi @Jarek,

I get the script running, the HTML is started, but in the background behind Rhino. I see the little html window if I press alt+tab and than the Enscape save UI is opened by the script, but not saved and closed.Without alt+tab the html stay invisible in the background.

Thank you for taking time to find a solution. My idea is to start a screenshot event per Bongo later. I’m curious to see how an Enscape object animation would be looking.

-Micha

Hi Micha, how are you running the script? From editor, button or drag-drop?
Also, the Enscape screencapture window doesnt get called until the html is in front?
There should be a way to make it work… I can try to tweak the script a bit.

-j

Hi Jarek,

I use this button script:
_-LoadScript “C:\Program Files\Rhinoceros 5.0 Beta (64-bit)\Extra64\KeyPresser.rvb”

I tried it again and now the html starts in the foregroud and the screenshot UI is opened. Only the “enter” doesn’t work. The script is finished and the save UI is still open. If I manual press enter now, this works.

Hmm, maybe the Enter is sent too fast for that type of dialog. You can try changing the Rhino.Sleep value in html file; the one before SendKeys {Enter} to, say, 1000, 2000 or even 3000 (1000=1s)…

Jarek, I restart my machine and now it works. Great, thank you very much!!! :slight_smile:

A little bit later … I’m back to the problem before, the HTML script stays in the background … .

The whole thing isn’t so important, it’s only a test to see the potential of Enscape. So, maybe you like to look on it in the future later, if you should evaluate Enscape. Thank you for trying to help me.

Interesting… I will try more once I have Enscape installed. Maybe by then they will update the scriptable command though! Nice idea with trying to use it for animated objects renderings.

-j

I have try the way running a python script (Change geometry) and using snagit to record screen, but with no luck. The problem is, if you want to trigger a series action then you need to run a python script. But when you are running a python script Enscape would thinks you are within a rhino command and waits untill it ends…Enscape doesn’t update before the script stops.

I think maybe we should try using grasshopper to control the rhino geometry, but grasshopper normaly cannot edit rhino geometry even though you want to simply move it. Gasshopper can only add a new geometry at another location

I have another idea but it would sounds a bit silly – you need to prepare layers of objects. Then let grasshopper to switch on and off layers one by one so give you a illusion that the object is “Moving” or “Changing its form”. I think in this case Enscape would update. And you need snagit to video record the screen.

I think an Enscape animation should base on Bongo. Maybe a script could jump from key frame to key frame and trigger a Snagit screenshot after a short pause.

You don’t need to trigger snagit per frame… Once you press the record video button. It can record everything happens on screen. Just like people how to record their youtube tutorials. You can record your voice at the same time.

I always think the critical part is how to let rhino and Enscape geometry moves simultaneously. It has to be done by scripting, either python/grasshopper. Because you don’t wanna do every motion manully.

OK, but if something is moved at the scene than Enscape needs a little time to recalculate the scene and the animation would be looking better if we could enable a short record pause for this time.

You can speed up the afterward in aftereffect or premiere.