Computational BIM Community (from

Friday, 21 December 2018

Anaconda-Python Setup Records

If you encounter problems below:
  • twisted 18.7.0 requires PyHamcrest>=1.9.0, which is not installed.
just install below:
  • python.exe -m pip install PyHamcrest
If you encounter problems below:
  • Command "python egg_info" failed with error code 1 in C:\Users\yourfolder\AppData\Local\Temp\pip-install-8s57p4nw\fiona\
just install below:
  • python.exe -m pip install -I
  • python.exe -m pip install --upgrade setuptools
  • python.exe -m pip install ez_setup
  • python -m pip install --upgrade pip
  • python -m pip install psycopg2
  • pip install -I
  • pip install --upgrade google-cloud-datastore (this will prompt the PATH issue)
Still doesn't work? Try follow this (if you have install Microsoft visual studio 2017):

Thursday, 20 December 2018

GeoPandas, Shapely, Fiona, PySAL, Pyliburo & Py4design

'GeoPandas is an open source project to make working with geospatial data in python easier. GeoPandas extends the datatypes used by pandas to allow spatial operations on geometric types. Geometric operations are performed by shapely. Geopandas further depends on fiona for file access and descartes and matplotlib for plotting.' to find out more...

Above passage via

'Shapely is a Python package for set-theoretic analysis and manipulation of planar features using (via Python’s ctypes module) functions from the well known and widely deployed GEOS library. GEOS, a port of the Java Topology Suite (JTS), is the geometry engine of the PostGIS spatial extension for the PostgreSQL RDBMS. The designs of JTS and GEOS are largely guided by the Open Geospatial Consortium’s Simple Features Access Specification [1] and Shapely adheres mainly to the same set of standard classes and operations. Shapely is thereby deeply rooted in the conventions of the geographic information systems (GIS) world, but aspires to be equally useful to programmers working on non-conventional problems.' to find out more...


'Fiona is designed to be simple and dependable. It focuses on reading and writing data in standard Python IO style and relies upon familiar Python types and protocols such as files, dictionaries, mappings, and iterators instead of classes specific to OGR. Fiona can read and write real-world data using multi-layered GIS formats and zipped virtual file systems and integrates readily with other Python GIS packages such as pyproj, Rtree, and Shapely. Fiona is supported only on CPython versions 2.7 and 3.4+.' to find out more...


'PySAL is an open source library of spatial analysis functions written in Python intended to support the development of high level applications. PySAL is open source under the BSD License.' to find out more...


'Urban design optimisation is a powerful method for the exploration of multiple designs. In performing an urban design optimisation, we need to link and automatically execute multiple domain-specific applications, a technically complicated setup. Current solutions resolve the technical obstacle by embedding the applications within a single Computer-Aided Design (CAD) application to streamline the setup. The solution leverages the CAD application’s modelling workflow and capability to process the urban geometries for analyses. However, this solution is workflow specific; users either do not have access to optimisation algorithms or are restricted to the capabilities provided by a specific CAD application. For optimisation to be accessible to a wider community, we develop an open Python library, Pyliburo, to provide optimisation capability to all design workflows. Pyliburo aims to be easily integrated into a user’s existing design workflow to provide or enhance optimisation capability. To do so, Pyliburo emphasises interoperability, platform independence, ease of use, integration flexibility and extensibility. to find out more...


Python Library for Rapid Development of Design Workflows (Py4design)(Previously known as Pyliburo) to find out more...


Discussion and further reading:

Sunday, 16 December 2018

Saturday, 15 December 2018

Building Performance Optimisation

Optimised Building Form for Environmental Sustainability
Simulation-Based Building Envelope Design Optimization Methodologies for Indoor Thermal Comfort – A Review
Optimization as a design strategy. Considerations based on building simulation-assisted experiments about problem decomposition

Bjarne Stroustrup on C++ and Generic Programming

YouTube by Bjarne Stroustrup - C++ inventor:

Autodesk.Dynamo - Python


Generative making by AI - ML

On Artificial Intelligence:

Thursday, 13 December 2018

Free Design

As a digital designer, what you need is the capability to program! to find out more...


Python Blender

To repeat a task in blender - CTRL + R

By GDquest:

Project Fractal with Power BI

Something you cannot miss with power BI.

Generative Design

'Generative design is a form finding process that can mimic nature's evolutionary approach to design. It can start with design goals and then explore innumerable possible permutations of a solution to find the best option. By using cloud computing, generative design can cycle through thousands or even millions of design choices, test configurations and learn from each iteration what works and what doesn't. The process can enable designers to generate brand new options, beyond what a human alone could create, to arrive at a most effective design.' to find out more...

Passage via

Related reading: with YouTube video:

KNN Algorithm

K-d Tree


Wednesday, 12 December 2018

Genetic Algorithm

'Genetic algorithms operate on a set of possible solutions. Because of the random nature of genetic algorithms, solutions found by an algorithm can be good, poor, or infeasible [defective, erroneous], so there should be a way to specify how good that solution is. This is done by assigning a fitness value [or just fitness] to the solution. Chromosomes represent solutions within the genetic algorithm. The two basic components of chromosomes are the coded solution and its fitness value.' to find out more...

Codes from Matlab:

Online findings:

Computational Spatial Layout Planning (10 years research project by Prof. Dr. Ludger Hovestadt For the latest works of former Kaisersrot members look at and work since 2017 at
Related YouTube:

Related reading:

Generative Algorithms in Architectural Spatial Layout Planning:
Parallel planning
Augmented space planning: Using procedural generation to automate desk layout:
Analysis of space layout using Attraction Force Model and Quadratic Assignment Problem:
Automated space layout planning for environmental sustainability:
K-d Tree Structure and Evolutionary Algorithms:
Optimising Spatial Adjacencies using evolutionary parametric tools
The computational method in building programming:
Architecture MIT:
Stanford University:
Bartlett School of Architecture (Space Syntax Lab)
Designing with Space Syntax: 

Space Syntax Workshop

Space Plan Generator


Subdivision Modelling in Blender by UH Studio Design Academy

How to Cad in Blender by BlenderZen posted in 2016

Not that I wanted to CAD but it is just the fundamental skills needed before leaping to another stage :)

Blender Architectural add-ons

A very useful series of youtube videos by UH Studio Design Academy recently. One of it is the architectural add-ons needed in Blender.

Blender for Architectural Concept Design by Matthieu Dupont de Dinechin at Blender Conference 2017

Besides the video below, there is also a paper written by Tihomir Dovramadjiev on specialised architectural features in Blender retrieved from research gate:

Sunday, 9 December 2018

Python & Blender for Architects - by Yorik since 2012

Sharing by Yorik:
Open Source CAD
Python Spatial Analysis Library

Quick navigation in Blender with keyboard shortcuts

Quick Navigation
  • Shift + Space - to initiate quick menu for modification
  • CTRL + Tab - Mode
  • F2 - Quick Menu
  • F3 - Window
  • A - Select All
  • AA - Deselect All
  • Space - play animation
  • CTRL + Shift + Space - Reverse play animation
  • CTRL + Space - close pallette
  • CTRL + Alt + Space - max. view in expert mode
  • CTRL + Space + Tab - previous             
  • ¬ - Views Pie Menu (Important for quick view navigation)
  • CTRL + ¬ - manipulator on
  • Shift +¬ - flymode (like video game)

Simple functions:
  1. How to select - shift space - B
  2. How to zoom - center mouse
  3. How to move - shift space - 4 / click drag under select mode
  4. How to edit units - Under Scene (On the right palate) - Units

Blender for Architecture

Research has proven the use of evolutionary design (Fraser, 1995Janssen, 2005) with Houdini (Janssen, Basol & Chen, 2011).

Questions -
  1. Blender is meant for animation, rigging, rendering, can it be used for engineering or architecture? 
  2. Is it worth the effort to learn and hack the tool for architectural design since it is cost-free?
My personal view:
Q1: It is not impossible. Some community found in below links.
Q2: Blender's poly modelling is awesome, and it is offered as a freeware! Supported with Python Scripting Environment, real-time rendering update, Animation and so on. Anyway, Python skill is needed to explore using Blender for iterative architectural design with the algorithmic approach. I think the key is not about the software but the programming skills developed along the way of using it for generative designs.

Manage to get the answer from Prof. Ludger Hovestadt:
With an amazing series of know-how on YouTube by Prof. Ludger Hovestadt [accessed 15May2019]:

There is a community of practice found here:
Other Versions:

Saturday, 8 December 2018

ODS Studio Free Modules 6 yrs ago

'Free modules to get started with learning to use the ODS Studio modelling platform. For full professional functionality please download the PRO modules below. Note: Please pay attention to the third-party software stack requirements and have the correct requirements installed. ODS Studio v1.x is designed to work on Blender 2.63; EnergyPlus v7.1; OpenFOAM-2.1.1; and Radiance v4 only. And ODS Studio v2.x is designed to work on Blender 2.71; EnergyPlus v8.0; OpenFOAM-2.3.0; and Radiance v4 only.' to find out more...


Predictive Modelling & Tessellation

Predictive modelling:

On Python

Basic Python Scripting for Blender by Dr. Sybren A. Stüvel at Blender Conference 2017: