I’ve talked before about Project Discover: the project where The Living used generative design to explore layout options for the new Autodesk office in the MaRS district of Toronto. As the project was run before Project Refinery was available – and so didn’t make use of a Refinery-compatible graph – we’ve been working on a new iteration of the tool that can be used with the Autodesk GD toolset for AEC workflows (i.e. Dynamo + Refinery). Internally we’re affectionately referring to this project as Project Rediscover.
Things are moving along well: thanks largely to the Space Analysis package (and yes, Project Rediscover was a major driver for us to create that) we’ve been able to build a graph that has the main metrics found in the original project. We’re using the package’s pathfinding capability to help calculate Adjacency, Buzz and Visual Distraction (which detracts from Productivity), while we’re using visibility to help calculate Views to Outside. The hard work on this graph has been done by friend and colleague Simon Breslav: I have to admit I’ve been rather jealous of Simon getting to dig into this and have fun while I’ve been travelling around talking to people… when I have found the time to contribute it’s mostly been to spend time making the graph layout easier to understand.
The latest addition Simon has made has been around Daylight. Rather than integrate with an external package, Simon decided to use raycasting from a number of fixed sun positions (calculated for various times of year and day) to the various visibility grid points. So this doesn’t really depend on data structures created by the Space Analysis package: we use it to get the points to cast towards but that’s really just a detail. We’re currently considering how best to do this in the final version: we’re talking to the Dynamo team about how we might solve this without firing rays, and we’ve also discussed the idea of adding some kind of wave propagation capability to Space Analysis that might help us approximate it using the existing core data structures Rhys Goldstein has implemented for pathfinding and visibility. We’ll see how that turns out.
On a side note, Simon has been making us of .NET’s Parallel.For[Each] from Python to speed up the current metrics. We’ll see whether this is worth pursuing: for the current graph – admittedly running in a Windows VM on my Mac – I’m only seeing a 22-27% performance boost, and I’m not sure even those increases will be sustained when Refinery runs the graph multiple times in parallel. Again, we’ll see! Either way you should expect a blog post or two detailing what we’ve explored, as I do think this is technique is going to be of interest and benefit to people for various scenarios.
Anyway, the long and the short of it is that great progress is being made, and I can now confidently predict that we’ll be unveiling the graph at AU London 2019: Lorenzo Villaggi and I are presenting a session entitled “How Autodesk Research Uses Project Refinery to Deliver Generative Design Workflows for AEC” at 10:45am on the second day (June 19th), during which I’ll dive into the details on both the Campus Layout sample and this new one, too. We’ll also be posting the Project Rediscover graph publicly for people to try for themselves, of course.
Here’s a quick preview of the latest state of the graph. Apologies for the lack of detail, but we still have some way to go before publishing it.
I’m really pleased we’ll soon be making this available to the community: the original Project Discover has inspired many people to start learning about the Autodesk technologies that can be used to implement this kind of workflow, and I do believe it’ll be a fantastic resource for anyone wanting to solve a similar kind of problem in the future.