Access to Bongo API

Hi,

Is there a way I can access Bongo’s API?
Am I allowed to do so?
Is there documentation of the API?

Thanks in advance.

1 Like

Thanks @wim,

Just Cpp? No C#?

Correct. P/Invoke is your friend.

What is that?

:slight_smile: a wiki for c# developers
All good but I’m not even that :rofl:

https://duckduckgo.com/html?q=pinvoke

The .NET way of calling into native code.

1 Like

Damn, I thought I was gonna read a lot (if it was c#) now I’ll have to do even more.

And all I really need is access to the time-line of Bongo.

To do what? Something like this?

Experimenting. Prototyping. Not sure what I can do with it.

I need time variable that I can control in Rhino.

I managed to run counting using System.Diagnostics.StopWatch in pure IronPython, but I’d love to see if I can use Bongo gui with it.

Hmm, the Bongo timeline and the sd.StopWatch are very different things. The timeline isn’t continuous, whereas the stopwatch is.

I’m interested to see what you can come up with to use with, right now I can’t think of anything useful as driven from a stopwatch/timer.

Yes, I thought so, but since I didn’t have access up until now the only think I thought of experimenting with was StopWatch and Time.

I don’t know, I have very little experience with programming as you know.

My rationale is: I have time variable, I can make things move.

Maybe come up with a game-loop of a sort.

Unfortunately, I’ll also come to a blocking point when Rhino simply hangs waiting for this game-loop to finish.

I wanna know how Bongo does it.

If implementing a Particle System makes Rhino ignore user interaction with objects (besides zooming and rotating the view). How can I make a script or plugin such that while there’s an object moving, I can still interact with the object (and other objects in the scene)

Rhino doesn’t have a game loop, nor has Bongo.

The animation playback is done AFAIK with dynamic transforms, as does Snapshots animated restore.

The timeline in Bongo is there to help interpolate a state between keyframes.

Perhaps you could do a (continuosly) animated particle system with a conduit, but you still don’t have a game loop that would help you drive your particles.

The viewports aren’t drawing all the time like a game, but only when necessary.

I suppose you could create a RealtimeDisplayMode that once active would signal the pipeline on a timer to redraw. That comes closest to a game loop.

1 Like

:), that explains why FPS drops to 1 when Rhino is idle.

Interesting…Thanks, I’ll try it out. Hopefully I won’t crash Rhino too many times :smiley: