Modelling molecules for 3-D printing

From Appropedia
Jump to navigation Jump to search
This list is not exhaustive, please feel free to add more!

Useful tools for 3D modelling molecules and crystal structures.

On this page, we discuss tools for modelling 3D crystal structures for 3D printing (eg. for classroom demonstrations) using free and open source software.



Lead developers: M.D. Hanwell et al, Journal of Cheminformatics (2012)

License: GNU v?

Avogadro, developed by academics at various institutions in the US, is a library not inherently designed for 3D printing, but instead for generating visual models of advanced molecule and crystalline structures, with inbuilt plugins for computational chemistry, molecular modelling, and other simulation tools, as well as in-built reference to the PDB chemical database for accessing already existing structures. These models can, however, be the basis for 3D printable models, or exported for 3D printing in their own right.

It was inspired by the lack of open source software for generating editable 3D molecular structures, and the lack of platform support for commercial alternatives, as well as their lack of expandability, for example with plugins, due to their closed nature and lack of a public API. This, in addition to the usual problems with commercialised software. Since it's founding in 2007, the library has seen much use, and expanded by many contributors outside of it's original development team, with the original paper having in excess of 900 citations at the time of writing. To quote the authors, it has seen use in spectroscopy, catalysis, materials chemistry, theroetical chemistry, bio chemistry, and molecular dynamics, among many others.

Written in C++, the core framework takes advantage of other open source software, such as Qt for plotting, OpenGL for rendering, OpenBabel for chemical file IO, and Eigen for linear mathematics, among others. Full documentation surrounding the development can be found in the paper cited above.


There is a very well written manual for use of Avogadro available at, which is updated regularly.

Basic operation is intuitive within the GUI. To access pre-designed models, simply go to [File/Import] and choose from the options available. For a crystal structure, an exhaustive list of structures from antimonides to zeolites is available in their basic unit cell form.

All models are editable, with additive, destructive and translation tools built into the framework.

Preparing for 3D printing

Avogadro provides a number of diplay types, randing from the simple ball and stick approach, to Van der Waals spheres, which are perhaps more inherently 3D print-able.

The native 3D object export option is the now retired VRML format, VRML (“vermal”, .WRL file extension) stands for “Virtual Reality Modeling Language” – is a digital 3D file type that also includes color, so it can be used on desktop 3D printers with more than one extruder (i.e. two more nozzles that each can print with a different color plastic), or with full-color binder jetting technology.

VRML can be converted to the more prevalent STL or OBJ formats using open source software such as Meshlab, and further sliced with your favourite slicing software.



Lead developer: Spencer Bliven

License: GNU Lesser GPL v2.1+

Self described as the OpenSCAD crystallographic toolbox, SymmetryCAD is a library that can be added to OpenSCAD for adding symmetry operations on 2D and 3D operations, with an exhaustive list of symmetries available, originally developed for bioinformatic and computation structural biology purposes.

It contains functions for the 17 possible 2D tilings (wallpaper groups), the 230 possible 3D tilings (space groups), 14 non-periodic symmetries (point groups), which include functions for the 7 basic unit cell symmetries.

Basic usage is given in a demo.scad file available at the linked repository.

Diamond, for example, is generated using

  a = 35.23 //define alpha interatomic spacing 35.23
  cell = cell3_cubic(a) //Define a cubic basic cell 
  regular_lattice([1,1,1],cell,true){ //define the number of repeats in the lattice
    unit_cell_frame(cell) //define the cell frame
    unit_cell(sg_Fd_3m,cell){ //define the fcc space group (sg) Fd-3m, for diamond, which can be found from any crystallographic database to define the symmetry.
      color([1,1,1])//define the colour
      sphere(r=7/2); //define the atom size
      line([0,0,0],[a/4,a/4,a/4]); //add the lines

As this is an OpenSCAD library, exporting to STL is native.

DIY Molecule Kits

Molymod(R) [1] is a very popular physical toolkit, currently in use in educational establishments globally for building visual chemical models. The design is simple, and the building block approach is very versatile for assembling a range of models.

Unfortunately, the market is still somewhat niche, and therefore production costs are high.

Several makers have taken the challenge of producing similar themed designs for 3D printing your own molecule building blocks, with customisable geometries for specific uses.

Here are some examples:

There are many others, all of which can be printed on demand at your leisure.