Solved Run command, after c4d fully loaded...

Run command, after c4d fully loaded...

I'm trying to render hundreds of scenes.
Currently using the C4D "Render Queue".
However, C4D is crashing for some unknown reason.
It's very tiring to keep watching C4D.
I found a way to restart C4D whenever C4D crashes.

Now I'm looking for a way to open the "render queue window" and run the "render start" command after the C4D is fully loaded. is of no use as it is done before C4D is fully loaded.

Is it possible in C4D to?
1.Open C4D, Fully Loaded
2.Open "Render Queue" Window
3.Run Command "Render Start"(in Render Queue)

Thank You....

Shouldn't that be possible in PluginMessage() with id == C4DPL_STARTACTIVITY?

Only asking personal code questions here.

I actually sell a plugin that lets you specify a python file to run on startup but before the scene loads. And it also can call another python file after a scene loads. This is mainly used by Render Farms.

You would start C4D like this

c:\Program Files\Maxon Cinema 4D R25\Cinema 4D.exe -runpython "F:\"

Hello @ymoon,

thank you for reaching out to us and please excuse the slight delay in my answer. While the answers given here are all helpful (thanks guys!), I would press for taking a few steps back.

  1. It is neither normal, nor acceptable that Cinema 4D does crash. I would turn to customer support with your problem, to see if either your bug/problem is already known and/or if there does exist a workaround. This is primarily important because that there is no guarantee that turning to Python will make your problem go away. Please note that we are not customer support here, you can get it in the support center of ours.
  2. If your files are so heavy that your machine starts to buckle under the load of running a full Cinema 4D and rendering your scene, you can use one of the two GUI-less Cinema 4D instances we do offer, the Commandline and the c4dpy executables.
  3. In Python you can run the render queue. You can find the documentation for it under c4d.documents.BatchRender.
  4. I would normally either use c4dpy or just a normal Script Manager script for invoking a batch render, but if this is really the only option which fits your case, you could also write a plugin that listens in PluginMessage() for one of the early plugin messages, e.g., C4DPL_STARTACTIVITY as pointed out by Frank. But this solution of writing a full plugin seems unnecessarily complex.


MAXON SDK Specialist

Thank you.. It's Solved.
@fwilleke80 @ferdinand and @kbar

def PluginMessage(_id, data):
if _id == c4d.C4DPL_PROGRAM_STARTED: