I have a new example too that works with physics. In this example I use an on_time trigger for physics and randomization, and an on_frame trigger to render an image every X-number of frames.
Snippet:
...
with rep.trigger.on_time(max_execs = 5, interval=2):
rep.randomizer.create_props()
manual_trigger = rep.trigger.on_frame(max_execs=5, interval=60)
writer.attach(render_products=[render_product], trigger=manual_trigger)
The simulation by default plays at 30fps, so with an interval of 60 on the on_frame triggers at the end of the 2 second simulation
My simulation drops fruit from above the box, but only captures an image at the end.
