Blender membrane scripts

Author: Mehmood Ghaffar

The membrane script can be used to create a 2D array of linearly distributed membrane patch. The script has already reduced a number of steps in this process, however, additional steps need to be taken to get the results as they are presented in the paper. This could be a tediuos job, as it require some baisc skills of Blender suite.

This work will be presented at the VINCI 2018 in Växjö, Sweden (13-15 August 2018):

Mehmood Ghaffar, Niklas Biere, Daniel Jäger, Karsten Klein, Falk Schreiber, Olaf Kruse and Björn Sommer: 3D Modelling and Visualisation of Heterogeneous Cell Membranes in Blender

Getting started with the membrane script will require the following steps.

a) Installing creaprim Plugin:

To create a list of custom objects, a plugin "creaprim" is required. The file can be downloaded from the download section and can be distributed freely under GNU license.


Please download the required files in this ZIP archive:

Blender Membrane Script, M. Ghaffar (v. 1.0)

Steps for 'CreaPrim' Plugin Installation

  1. Download the "" file and keep it in some easy accessible place such as "C:\Downloads".
  2. Start Blender suite.
  3. From File menu, select "User Preferences".
  4. Click on "Install Add-on from File".
  5. Choose "" from "C:\Downloads" and press Enter or click "Install Add-on from File" button.
  6. Click "Save User settings".
  7. "CreaPrim" should appear in the Tools section in the left of the Blender User Interfaces.
  8. Create/model some objects in the scene and give them proper names.
  9. Select all the objects and give them a name 'myList' inside CreaPrim user interface in the left side. 
  10. Click "Create primitive" button inside CreaPrim Panel.

To check your new list of self created objects, click Add -> Mesh -> myList

The required Lipid models in the thylakoid membrane can be found in All_models.blend file

Installing and running the membrane plugin:

Follow these steps to run membrane script.

  1. Open Blender
  2. Change view to Scripting mode.
  3. Click open in the editor on the left side of the view.
  4. Select membraneScript.txt and click ok
  5. Click Run Script
  6. Go to the properties panel on the right of the 3D view. (press N to show the panel)
  7. If you see "My Panel", congratulations to you. You have successfully load the script.

Getting started with the membrane script

Note: The plugin is not yet stable but workable if certain conditions are pre considered.

please follow the following guidelines to enjoy smooth experience.

  1. Before clicking the Run Script button, make sure the scene is emtpy. To delete all objects from the scene, Press 'A' twice to select everything and then press 'X' + ENTER to delete all objects.
  2. Click 'Run Script' button.
  3. From My panel, click 'Add' to create a 2D surface.
  4. Select an appropriate subdivision no in the next field.
  5. Choose, how many lipid types you want to insert into this 2D surface.
  6. Give percentage for each and individual lipid type.
  7. Hit create button.
  8. At this stage, you have successfully divided 2D surface into custom no. of sub surfaces which are randomly distributed.
  9. Apply colors from the available color schemes to see how your membrane patch would look like.
  10. If you are not happy with the current pattern of random distribution of sub surfaces, you can change it via seed no.
  11. Click on the seed no. and change it to see another pattern.
  12. Once you are done with the pattern. click Enable Lipid Packing mode.
  13. This section is tedious as you have to do some manual work.
  14. Load all the lipids from the custom menu of lipid lists.
  15. Select each sub surfaces and replace the percentage with the name of lipid you want to assign to that particular surface.
  16. Click Assign Lipids
  17. Go to object properties, the cube on the right side properties section.
  18. Select Faces under the duplication.
  19. Repeat for all other remaining sub surfaces.
  20. In the end you will come up with a nicely looking randomly mixed pattern of lipids.