If you are interested in learning Blender from an API (Python) perspective, check out:
Nathan’s Blender Python Notebook – THE PROVING GROUND

At the moment, the content is primarily along the lines of ‘getting started’ and basic modelling.  I’m sure it will get more advanced very soon…

I played with Blender back in mid-2008.  At the time I was using some of the randomization capability to make some organic forms for ultimate use in Revit.  I used a plugin called Blender World Forge (ver 0.1.0).  I had some success, but it wasn’t total.  Here is an example:

I have since had more success with organic forms in Revit using meshmixer:
Using meshmixer to morph your Revit Topography

Nathan Miller has been working on a number of cool things for some years now.  In one recent post about Slingshot for Revit, he states “the tool will provide different means of connecting Revit (and Vasari) to relational database management systems, including MySQL. More importantly, I am interested in establishing common database schema that will allow for a more fluid workflow between Revit and external design tools like Rhino and Grasshopper. This includes sharing parameters and geometry.

He has been “prototyping some functionality via the RevitPythonShell plug-in in Vasari. Python is giving me a more fluid workflow than the usual Revit development process. Eventually, the tools will become true add-ins…”

via
The Proving Ground by Nathan Miller: Slingshot!… for Revit?

Image from The Proving Ground – “A point cloud in Vasari being created using a MySQL database…”

Nathan Miller of The Proving Ground says:

“As a key component of this, I have added a lot of content to my program lab. The page includes a growing collection of scripts. My focus right now is on documenting code for RhinoCommon and Grasshopper that I think may be useful in scripting workshops. Processing and Revit code is also sprinkled throughout.

via
The Proving Ground by Nathan Miller: The Proving Ground Wiki and Program Lab