Presentation and Questions for a Blender addon


My name is Thierry Maes, cg architect and I code some addons for Blender (House Primitive and City Maker for mass accurate building and city creation).
Those can be found here:

I’m now improving the house primitive to store address, gps coordinates, etc.
And I was wondering if there was a clever way to store those data to be compatible with osm 3d (API, naming rules…)

Does anyone have an idea or references?

Thanks in advance.


Hi thiery,

yes a good workflow in combination with Blender would be wonderful (für CG and OSM mappers) :slight_smile:

Currently we have a plugin (Kendzi3D) for one of our editors, that allows a 3D WYSIWG edit to model some details to a house. On the other hand there is OSM2World that is a general OSM->3D framework and I’m working on a COLLADA export (that can be read by Blender3D again).

I’m not sure if it’s possible to extract your details in a generic way, as we basically just add a building outline and add attributes describing a height for 3D interpolation during rendering.
Maybe you could explain you approach a bit more?

Hi and thank you for your quick answer. The link you posted is already quite useful.
The approach:
I maintain a Primitive for Blender named House.
One important difference between House primitive and usual blender primitives is that it is easy to modify (by its parameters) (long time) after creation thanks to ‘House Tools’. See the videos on my site for better understanding (they are boring but understandable I think :wink: )
I can give as many parameters as I want to the primitive here are the basics (length, width, base floor height, floor thickness, ridge height, number of floors…).
I use this primitive both for city modeling (one tool of ‘House Tools’ creates lots of primitives using single 2 point lines), and for Energetic Evaluation (I maintain an other Blender Script ‘Energetic Performance of Buildings’ that reports all the objects surfaces volumes ans orientations).

The reason why I post here is that I want to perfect this primitive adding more useful parameters (year of construction, GPS position, unique id, address, materials…).
A collaborator told me about osm, and it seems now obvious to me to develop all those parameters, in relation with what is done on osm.
I saw that an import from osm exists for Blender, I haven’t tried yet and I wonder if the ground and maybe relief is accessible.
A basic and major question for me is how to geo-locate the place I’m modeling? Blender has no space limit I think, but working 1000Km of the (0,0,0) of the scene is not a good way to work(I think). I would answer by creating an empty geo-referenced object that helps to give ‘real world’ position to ‘local’ objects. (I’m a total newbie in geo-referencing etc…)

So any idea is welcome at this stage. I’m going to test the import osm addon.



What !i! didn’t mention is that OSM2World can already be used to export OSM data to files readable by Blender (not via Collada yet - I’m still waiting for his patch for that :wink: - but via Wavefront .obj). As far as I know, no exporter supports more of OSM’s building attributes than OSM2World at this point in time. It exports the 3D models generated from OSM data as simple triangulated geometry, though, so most of the original attributes are not preserved through the conversion. As I’m not really proficient with Blender myself, I would appreciate feedback on how to make this more useful for Blender users.

If you are interested in a list of attributes that might be relevant for buildings, I suggest you start here:

For addresses, we use the attributes listed on this page:

Of course, the one “attribute” that all buildings have in OSM is the footprint - which is a sequence of latitude/longitude coordinates that will often not be perfectly rectangular, and there might even be holes in the building and other complications. From your video, it looks like your House primitive specialises in rectangular buildings?

Ground and relief data is not stored within OSM, we always use external sources (such as SRTM) when we need it.

OSM2World randomly chooses a local origin (0,0,0) for each scene that lies somewhere within the bounds of the data extract. It also stores the latitude and longitude that corresponds to this coordinate in the real world (as a comment, though, so this information is not automatically available to programs importing the file).

Sorry for the long silence. I was on another project.
Thank you for the informations I also think that longitude and latitude are the logical solution. And giving to Blender origin a world position as a comment is also the smartest solution.
I will study the given attributes to implement them.
Yes for the moment my buildings are still rectangular. In the future the ability to inject custom floor plans is planned.