UNSOLVED Clear global cache


I'm developing a c++ plugin, for c4d r23, to render multiple images.
I'm using octane renderer.
But every like 15 images octane and c4d crashes.
When i'm doing it "manually", one by one, I can use the clear cache button from the picture viewer and it does the tricks but i can't seem to find a way to do it programmatically in the SDK.

Is there any way to clear the global cache with the API ?

Thanks in advance.

I'm writing in c++

Hello @giveforfree,

welcome to the Plugin Café and thank you for reaching out to us.

Almost all things that have an icon and/or a menu entry in Cinema 4D are realized as commands. Commands can be invoked with CallCommand and discovered in multiple ways. One of the more convenient methods is the Command Manger in Cinema 4D, which will also tell you the identifier of a command.


So, you can invoke the "Clear Caches" command of the Picture Viewer with CallCommand(465001715). For many integer identifiers, Cinema 4D also does provide symbols. The workflow is then to grep the Cinema 4D resource folder for such symbol, using the integer identifier. However, in this case no such identifier does exist, and you must use the raw integer value instead.


Hi @ferdinand

Thank you for your answer and your welcome 🙂

It seem to be exactly what i'm looking for.
I'm going to try it and i'll tell you the outcome when i'm done.
Is it, by any chance, possible to check all the commands in the documentation ?

Thanks again.

Hello @giveforfree,

well, there is the Command Manger of Cinema 4D as shown in my first posting. But no, unlike for many other identifier types, there is no dedicated (call) command identifiers documentation in the manuals. Documented are some of the special command categories, e.g., MCOMMAND, but these special categories are all not invoked with CallCommand but special methods as SendModelingCommand, SendPainterCommand, or CallUVCommand.

There is usually not much to document for call commands as there are no input arguments for them. There are also thousands of such commands and inserting them into the documentation would not yield much benefit, since most of them do not have symbols and must be called by their integer plugin identifier.