Domanda

I know Python is the standard scripting language for use inside Blender, but I didn't find a way to create a .blend file with python.

What I want to do is not to use python inside blender, but rather "use blender (libs?) inside python".

My planned workflow would be the following:

  1. Define some parameters for my model;
  2. Define a "generative recipe" to create appropriate Blender objects that will be saved to file;
  3. Create a python script to store the parameters and procedures. When the script runs, some .blend file is created in the same folder;
  4. Use Blender to visualize the model. If model needs to be changed, make changes to the script, run it again, and open it again.
È stato utile?

Soluzione 2

You can start a new Blender process from any application (a C++, Python app or even command line) and tell the new process to run a script file (written in Python). This script will generate your geometry and then can save the new scene to a blend file.

To start a new Blender process and force it to execute a script use:
blender.exe --background --python "c:\path to\script.py"

Altri suggerimenti

There is an experimental option that allows you to build your own copy of blender as a python module to use like a standard python module. This page is about all the help you will get for it.

I would recommend you write your python script as a blender script to be run inside blender. You can automate saving the file using bpy.ops.wm.save_as_mainfile(filepath="path/to/myfilename")

You can run a script inside blender that generates a blender text block that you can then run as a python script, select all, delete and re-run. You can also easily reload an external file as a text block in blender if you prefer an external text editor for it's features.

You can also use your plan to generate the script yourself which you can then run using blender with blender -b -P myscript.py the -b option tells blender to run in the background without a GUI.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top