Draws chemicals in Blender using common input formats (smiles, molfiles, cif files, etc.). For details, read my blog post.
####Caffeine, ball and stick
####Penicillin, ball and stick, Cycles render
####NU-100, ball and stick
####NU-100, 3D printed from Blender output
In order to locally convert files to the required format, you will need the Open Babel library and Python bindings for chemical file format parsing, which is best installed from source. For more, read through the Open Babel installation instructions.
git clone https://github.com/openbabel/openbabel
mkdir build && cd build
cmake ../openbabel -DPYTHON_BINDINGS=ON
make && make install
From here, you can convert files to Javascript Object Notation with something like
python format_converter *data* *in_format* json > molecule.json
format is any format in this list,
and data is either a string or a file containing the data specified by format.
From here, use blender -P molecule_to_blender.py
to load the molecule.
The shell script is a light wrapper around these two commands. For example,
sh draw_molecule.sh "CC(C)(C)C1=CC2(C=C(C(C)(C)C)C1=O)CC2(c1ccccc1)c1ccccc1" smi
will convert the input data (string or file path) and load into Blender.