Animating running clock


Hello all, this is my first post…
I’d like to add to my Bongo animation a running clock, showing times read from an excel sheet. I have been using Rhino Script to add the other components of the animation from the sheet and it works.
For the clock, I thought to add all the timestamps in text. Then animate and use _BongoAddkeyframe Object Properties Visibility for the first keyframe. I select “State” to turn off the visibility for all the texts and it works.
When I try to add a new keyframe for each timestamp text, the Visibility is still “State: On”, when I know they are hidden. I would expect to see “State: Off”, as the text is not visible after the initial keyframe.
Why does that happen? What do I forget to click? Any thoughts welcome.
I have had very good results with Rhino so far, thank you!

(Luc Adriaenssen) #2

I have a hunch this is a bug. Indeed Visibility appears continuously with option “State: On”, whereas one would expect the options “On Off”.
I’ll pass this on to the developers.


Thank you!

(Luc Adriaenssen) #4

Can you please tell me:
Which tick-number is used to make the objects ‘invisible’ – is it tick 0?
How do you select the object you want to make visible; i.e. what tick is the timelineslider positioned at and what tick do you want the ‘visible’ keyframe to be set?
Do I understand correctly that you feel unable to make a ‘visible’ keyframe using the BongoAddKeyframe command?


For the “clock” to work, I have all the times imported and then need to make them disappear and individually reappear at the correct tick for each.
It doesn’t matter if it’s tick 0 or a tick a little before the animation start. Because of the code, 0 is just the input start and my data may begin a lot later .
Say I have a clock that I want to run every 5 minutes, for 25 ticks, at 5 ticks intervals. I have text for 00:05, 00:10 etc, to 00:25. The text data is input, then at tick 0 or tick 1 I hide all the time stamps. Then for tick 4 I want to make 00:05 appear, then disappear at tick 6, at tick 9 I want 00:10 to appear and disappear at tick 11 etc. I can do that manually, but my goal is to automate the procedure. That is why I’d like to use the command “_Bongoaddkeyframe " & numberofkeyframe & " object properties visibility”. Before scripting, I tried using the command in Rhino command line. I can select all the required input for the command. When I reach “Visibility”, the command states “State: On”. I type “s” to turn the state off and move to the next tick, but when I reach “Visibility” it is still on, when it should be off. The first time it works, in that it turns the text off, but it doesn’t record the visibility state as “off” and so I cannot turn it back on again. The text is invisible, but the command responds as if it is visible. So my problem is the Visibility property does not record as Off and therefore I cannot turn a selected text back on.

(Luc Adriaenssen) #6

Have you tried to run

to set the visibility?


No, I haven’t tried that particular sequence.
I have been typing the commands in the Rhino command line, and the arguments update automatically. So when I type “r” for Properties, the “Choose transform (Color Visibility Diffusecolor Glossycolor Transparency Glossfinish)” comes on. I choose “V” for Visibility and then it’s just State = On. I attempt to change it by typing “s” for State. At that tick then, the text disappears. If I try to add another tick, the State is still = On, but the text does not appear.

Here is a copy of the commands typed in, in an example:
Command: Text
Start point: 0,0
Command: SelText
1 text added to selection.
Command: BongoAnimate
Animate button ( Enabled=Off ): e
Animate button ( Enabled=On ):
Command: BongoAddKeyframe
Choose option ( Object View Light Layer Document Content ): o
Timeline tick <0>: 5
Choose keyframe type ( Empty Precalculated Transforms Properties ): r
Choose transform ( Color Visibility Diffusecolor Glossycolor Transparency Glossfinish ): v
Visibility ( State=On ): s
Tweening Parameters ( MatchInputOutput Input AutoThreshold ): m
AutoThreshold ( State=On ):
Add another keyframe at timeline tick. Press Esc to cancel. <0>: 10
Choose keyframe type ( Empty Precalculated Transforms Properties ): r
Choose transform ( Color Visibility Diffusecolor Glossycolor Transparency Glossfinish ): v
Visibility ( State=On ):
Tweening Parameters ( MatchInputOutput Input AutoThreshold ): m
AutoThreshold ( State=On ):

The second visibility argument is still On, even though it was changed in the previous tick.

I have found a work around for now, in that for each tick I can make all my text appear, select the one I want shown, invert the selection and hide the rest. I have not tried to put it in code yet, but it seems that Animation can only hide selected items. When choosing Show, all items are shown, which is why the inverted “Hide” is necessary.

I really appreciate your help and your continuing interest to help me. Many many thanks.

(Luc Adriaenssen) #8

Thank you for your elaborate report.
Meanwhile the developers agree that when the default State=On is there and one presses ENTER the value does not get accepted. It will be fixed.
Good you found a workaround. I’m told using State=On or State=Off should work for you in scripts.
Personally I’m not accustomed to scripting :cry:


That’s great, I am glad I could help.
I’ll try the scripting commands. I’m only getting accustomed to scripting myself, so it is probably something I overlooked.
Thank you for your help!