TLDR : sign up for flux, click site extractor, pick region, press extract, open your program, download from flux, have site model (with caveats).
Heard of Flux? it’s the pretty slick project that came out of Google X in 2014 for the design and construction industry. At the time of writing, it supports connections to many stalwart programs in the design and construction industry – 3ds Max, AutoCAD, Dynamo, Excel, Revit, Google Sheets, Rhino, Grasshopper and Sketchup.
In essence, Flux turns your data into digital soup that can then turn back into data that works for different programs. Seems you can do some interesting things to it while in soup form too, but I haven’t explored them myself. Do play with the other stuff too!
Ok enough digressing. The main reason why I want to introduce Flux to you is because it has this really handy osm to your-program-of-choice extractor called Site Extractor.
Those who use Grasshopper for Rhino may have heard of Elk, a plugin that grabs osm data (open street maps ~ the Wikipedia of maps) that can then be subsequently used to create site models.
Well, Site Extractor is not really aimed at you. It’s aimed at your colleagues who have not used Elk and have been slaving away making 3d site models the manual way (by hand. with lines from AutoCAD. across a period of days. you’ve done it before, that’s why you now use Elk.)
The Site Extractor can be used to extract data into many different programs, but I will only focus on Rhino and Grasshopper.
Step 0 – Sign Up
Step 1 – Make New Project
click on, and launch flux projects. this is where you make a folder(project) for you to put your site model information into.
Step 2 – Get Site Model Data
it’s osm! pretty rendering courtesy of mapbox. tick the things you want, click select project, and click extract to ‘your_project_name’.
Step 2.5 – Download and install plugin for your 3d modelling program
Step 3 – Download Site Model from Flux (Rhino)
After you have installed the Rhino plugin (make sure your Rhino is Rhino 5 sr9 and above, or else it won’t work), open your Rhino, and you will see the flux tab.
a. login into your account, and then
b. click connect
click on the Receive Connections button (download arrow)
download the parts that you want. Note that it will download to the current layer, so if you want to keep the data separate, make the layers beforehand, and select each one as current layer before downloading from flux.
You have questions.
Question 1 : why to the meshes look so discoloured?
Answer 1 : they are welded. unweld them (refer to GIF in Question 2).
Question 2 : why do some buildings look like they’ve got transparent sides?
Answer 2 : some meshes faces (single pieces of mesh that make up the total mesh) are facing the wrong way (they should all face outward from the building shape). Use UnifyMeshNormals on them.
Question 3 : Why are the building heights so strange?
Answer 3 : They are random. When osm doesn’t provide height data, Flux will (optionally) extrude your buildings at random heights. Nope Flux doesn’t grab information from the google maps team to make the building heights, for reasons not explicitly stated. How do we fix that? Try setting up your own building height extrusion from Grasshopper (at least you can set how random you want them to be, e.g. random heights between 3-5 floors for suburban areas, random heights between 7-15 floors in town centers)
Question 4 : Why are there no road widths?
Answer 4 : Osm data doesn’t really have that either (there are some, but formats vary quite a bit) One way is to guess them (when you don’t really need correct road widths) with Grasshopper. Here’s a script. It takes a guess at road widths by checking for collisions against building footprints. you still have to stick them together yourself though, because region union/solid union in grasshopper is… something that just doesn’t seem to listen to me.
I have personally only used the ones for Grasshopper, Rhino, and SketchUp, but the steps shouldn’t be too different between them.
And there you have it! Hope you now know how to make (most of) your site model in 3 steps! Use the extra time to do something more intellectually stimulating. 🙂