I am very new to Blender. I am an advanced Python user. I want to do with Blender something similar as with OpenSCAD, in case somebody here knows it. So basically I want to use Blender fully from Python scripts, the graphical interface only for visualizing the results. This means that each time I run my main.py I want Blender to be restarted and execute that script from scratch, without any memory from previous runs. Is this possible?
Of course one way to achieve this is to open a new project each time I run the script, reload the script and run it. But this is completely unpractical.
Up to now I have only found this which adds two lines
bpy.ops.object.select_all(action="SELECT")
bpy.ops.object.delete(use_global=False)
to select all objects and delete them. But there are many other things like materials, world settings, etc. etc. that would be nice to restart so I can be sure the script is doing all that I want.
blender -P script.py. Is that what you want? – scurest Sep 26 '21 at 16:50bpy.ops.wm.read_factory_settings()from your script? That's pretty draconian, so maybebpy.ops.wm.read_homefile(app_template="")which restarts from your startup file. – Marty Fouts Sep 26 '21 at 16:51