Log in to watch

Log in or create a free account to watch this video.

Log in
Las Vegas 2024
Share
Download slides

Beyond Blueprints: Building the Future of Cities with Python, Blender, and Generative AI

Digital Tools can empower engineers and architects to push boundaries, save time, and unlock new possibilities. Come discover how Python, Blender, and AI can transform our cities with practical applications by showcasing how these tools can transform engineer and architecture projects. Come get a sneak peak into their potential for urban development to make a better world.

Chapters

Full transcript

The complete talk, organized by section.

Tadeh Hakopian

Thanks for coming to the talk this morning. It is "Beyond Blueprints: Building the Future of Cities" — and we'll give an example of how we're building the future of cities today.

Let's get going. A little bit about me. I am Tadeh Hakopian. I am a program manager — at Amazon — with a background in the field of architecture and construction. But currently I do program management and data in buildings, which means I herd a lot of cats between architects, engineers, builders, finance people, legal people. It's pretty fun. And I do a lot of big projects. Historically, I've worked on towers, stadiums, the happiest place on earth (you know, wink wink, Disney). And this talk is about how tools are being used to accelerate the development of buildings and projects.

So here's a picture of our designer, the architect. And what he's trying to do is explain his idea with information. Buildings and structures need information to inform the project team what to do and what to build. And traditionally drawings have been that medium of conveying information: sheets, elevations, plans, annotations, and so on. Sketch the idea out, elaborate, draw plans. And maybe you need 20 drawings for a house. Maybe you need 2,000 for a big project on those big 30-by-40-inch sheets.

But when you have that many and you have a lot of projects, it's not ideal in today's world. It's a very wasteful and limited process. So the goal is: how do we build better data from the design intent? Because at the end of the day, the designers and builders are trying to drive value.

And this is how I describe the value. It's the design intent, the intellectual idea of the design — the data in the building (square feet, size, quantities) — and then geometry, because you need to know what it looks like, otherwise it's gonna be really hard to figure out what you're building. And that's going to funnel into building data, AKA value, which is also known as money. How do we do better with the resources? We have limited resources on the project. So that's the big concept: how do we do better with the information we're trying to funnel into the value proposition of building data.

These days, this is one way we do it. It's a 3D model of the building design. They don't just draw 'em out by hand anymore — that's gone away since the eighties. Everything is done three-dimensionally. And this is not just a 3D model — this actually is a database. It's called a Building Information Model database. It contains all the geometry, all the parts of the building — doors, floor sizes, windows, roofs, rooms, you name it. Everything's in there. And it could also generate drawings and sheets, because it'll create a relational database within it, with key-value pairs that'll connect all the different parts of the building to the total whole of the building, so that you know where everything lives inside the information available. So that's great. We have data in the built environment.

Just a quick example of how it works. The "R" is an authoring software — some people might have been familiar with, like, you know, different software for mechanical modeling. R is for Revit — it's just a Building Information Modeling software they use in the building industry. That's what authors your design. You then get a database — a relational database — out of it. But that database also informs the sheets, the drawings — it can create actual 2D plans with this. So it all comes together and we have our happy little building out of it that tells you what it is, how it looks, and what it's gonna be at the end of the day. Which is great.

But we want to get bigger. This is a lot of keystrokes I just showed you. You have to draw everything manually, you have to open up the software, you have to sketch things out, you have to label everything manually. So we wanna speed things up and make it faster so we can do more. Otherwise this is still kind of a dead end for us. All the keystrokes don't scale.

So we use this one tool here with our authoring software — that plaid logo guy on the right there, it's Dynamo. Not DynamoDB — but a Dynamo low-code tool that takes the geometry. You can see in one, two, and three dimensions with the different data into the model. And you do some cool stuff — you can automate a lot of it.

This is an example of some creative geometry you can do with the tool, where you can have just low-code. You've probably seen this before in many different software — just nodes that you connect with lines. On the left there is the inputs, the values, the geometry; and on the right there are the different outputs that you get — these spiral circles and cones that can help people come up with new ideas quickly. This would take a little bit of time to do manually, but right now with a few steps you can quickly iterate through a design — which is great, that speeds things up.

But can we use some more code to help us automate? Well, that's where Python comes to play. Architects and engineers are really discovering Python in the last five, ten years and helping them along the way as a scripting tool. So it just happens — we can do a Python script within the low-code environment to generate even more automation. So you can just put in your code directly into the low-code and you can get some results out of it. So you can just program all this directly into the model.

You can get some interesting results. For example, all you gotta do here is within 20 lines of code: use the module, tell it I want a building that's 100 feet wide, 100 feet in each direction, starting at the origin point of the middle of the building, rotated about in i iterations — and you get this cool twisty tower. Trust me, this would be really hard to do with the old-fashioned way. So you get these interesting geometric forms in succinct timeframes, but that still generates the building data, the floor plans of information. So now we're scaling up very quickly, which normally would've taken an hour or two — you could do in a second.

You can get more creative. You can do things that are a little more eccentric. Like in this example, you could create curved beams. These are shapes you couldn't do normally. And these are useful when you're trying to come up with more fancy ideas for building.

And get really big. Here's an idea for a train station, where we take those kind of curve-beam examples, and with some low-code and some tooling you can create an entire urban block of a train station that's responsive to the environment. So that's pretty cool. This is something people are doing in architecture today, they've been doing for a couple years now, and they've been really exploring. And you can skip a lot of the tedium of the process and you can get a lot of great information — have something like this: how much steel is involved, how big the spaces are, do you wanna change it?

But the scripting format is not ideal for scaling, and we do want to get bigger. The tooling we have right now is deployed per individual use, per desktop. It's not really scalable. So we take it to the next level. And the next level is this fun tool called Blender. You might have seen it before. It's great for any kind of 3D modeling whatsoever. The examples I showed you before are industry-specific — this is general purpose.

I'm gonna take you into the load — it was supposed to show you a graphic, but if not we'll skip. But there we go. So Blender is a very fluid modeling software. It's very flexible. It could acknowledge just about anything — video games, 3D movies, buildings, you name it. It's not limited to any industry. No constraints are imposed upon it, really, except what it's built with — its 3D engine. It could do anything for making elaborate 3D geometry, generative geometry, or just 2D shapes.

It can help us with the goal of scaling because we can then take the Blender technology. It has a BIM interface — the Building Information Modeling interface. It combines with this thing called IFC OpenShell — and this will come into play a little later. This talk: IFC stands for Industry Foundation Classes, used for the building industry, where we can take general-purpose 3D shapes like a cube and say "this is actually a rectangle for a column." That way that data is useful to us — it's not just a shape. It understands the column, it's a floor, it's a part. That way we can then use it for that data scope, so it can tie that in and get us some useful geometry.

And what Blender does taking that IFC format is that it iterates. Blender's kind of meme is "everything's built on cubes." So in this example you can see Blender as a mesh geometry iterating through cubic shapes and solids. And what's great about that is it's very flexible — again, very little constraints. They could do a lot. And in this example we could take the cube kind of context here and generate an entire building out of it. So what you're seeing here is it going through the primitive geometry, creating shapes, creating parts out of it. And from those parts you can formalize a façade — building windows, openings, doors, roofs. And from that you can then cut that 2D plane at the end. So in a very quick format, you can generate an entire building through a more fluid interface like Blender, with its own plugins and tools you can create quickly.

And you can get pretty dramatic with it if you want. You can create some exploratory geometry that can take something as simple as the two little cubes down here and say: respond to the constraints, and pulls and pulls of the user, to see what kind of building they want. Do they want to get wider, bigger, narrow at the base? — and quickly create a tower. This is great for iteration. And you can toggle constraints as you want and use some very basic modules like those cubes and create an entire building — which is great if you're trying to study the project.

So this is where you can go from that industry-scale of the 3D software they give you for whatever project you're using to something a little more general purpose, a little more fluid. And what's great about it is you can take this kind of geometry, export it as a CSV, export it as a data set, export it as any kind of file format — because Blender is open source. You can get it right now — it's free, and you could do a lot of work with it. Awesome.

Blender is great, but we need to do more than a single building. We're talking cities here. So we want to get bigger, and for that we need some data science and AI. Which brings us to the next point here.

I'm gonna hypnotize you with the urban grid here, because the buildings are complex but cities are even more complex. And so we wanna make an entire land-form faster and more efficiently to develop better cities. So if we can generate towers and buildings, can we generate entire city forms?

And just like we saw before, we need inputs. And in this case we start with the basic input of the city, which is the street-grid system. That ties the whole city together.

And then you can iterate through generative design concepts like this example here. Just like what we described before, it's getting data to work with geometry and design intent with information in place — along with requirements you wanna set, like how much green space, how much density. The model follows a set of procedural rules to automatically generate building geometry so they can discover the shapes and forms. This is useful if you're doing urban redevelopment, campus planning, studying land use for urban planning cases, and so on.

Cities are thinking big on long scale. They're trying to gather more data and more information on how to actually generate the right kind of city of the future — respective of the scale and making sure it makes sense in the context. They're not just landing a UFO into the city. But at the end of the day, all this is is just a data set.

These pixels represent the different land forms like residential, commercial, industrial, civic, and so forth. And you can expand or contract them as you need. It's just a data science model using urban-form criteria to create variations of an urban form of any building type to populate the model, as long as it can be identified with a set of rules. And the use case here is urban development, like I mentioned, civil engineering, and so forth. Which is really great. You can really start experimenting with where the parks should go, how big the city block should be — and it's all just based on using data science and modeling that.

But we cannot do urban planning without the broader context around it, which is climate. Which comes with this next handy tool: to take the building data we've been using, the urban-site data, and the climate data, and process it into analytics. This is just an example from a tool called Forma. There's other tools like it. This one combines cloud data, AI analytics, and ingests a lot of file formats — so I thought I'd bring it up here. I do not work for Autodesk; I just thought it was a cool Autodesk tool, a useful model.

And what Forma does is you can put all that urban-site context information, wise — scale it up and do something like this: a shadow study across the entire city if you like. They can tell you what's going on with the urban form, bring all that data into one place, and not have to worry about tooling it into a data science environment. You could just put it into the cloud and you could see how your projects respond to geographic and climate data — like this example, a shadow study from morning to night. And you could see what kind of effects this has on the buildings shading each other. Those are creating dark spots in places you don't wanna create dark spots like a park or a school. What about the urban heat-island effect? Well, now you can study that in real time, to get data points. And this can be done precisely. There's tools in the past that helps you do it approximately. This is a lot more precise because this is based on the exact geo-location of the project.

And you could take it further. For this example, there's an entire building campus on a block. They're doing a solar analysis to see how hot it is in the sun, see if they need to make adjustments. And we zoom in a little bit, we'll see that we have one façade — a very low façade — and the surfaces. And this is a challenge because — you know, we're in Las Vegas, it's nice and cool in here, but as you can imagine it's super hot outside, and this is exactly the problem they run into. How do I keep my people inside feeling cool? Traditionally I just pump in air conditioning into the building and that solves a problem. But there's a smarter way of doing it. What we can do here is get actual data points. And I'll say for example the façade here gets six and a half hours of sunlight. Maybe that's a place to make improvements in the shading with a louver system to reduce the heat load, so you don't have to spend as much energy to cool the building down. Whereas the roof there gets over eight hours of sun a day — could you put solar panels on there, help reduce the energy load on the building? That kind of analytics is being done more and more in buildings, but now you can do it at the larger scale, the urban scale, and really get good data out of it. And that can help reduce the energy needs of the project, the building, the city, and get really good performance data to inform us of what works and what doesn't work.

And these examples are great, but we do wanna get bigger. Because while we saw some urban-scale form, we're talking sites and blocks and neighborhoods. What if we wanna do a bigger footprint, a more general use case? Somebody to kick it up a notch.

And with that — this example here is showing what we talked about earlier, the IFC data — Industry Foundation Classes — where the format called CityGML data. And what CityGML data is, it makes the model intelligent rather than just a three-dimensional representation of reality. Just like the IFC was trying to take the general geometry and put it in the building format, the CityGML takes the general geometry of say a terrain topography model, tells "this is terrain." So it's a semantic, expandable information model that can describe things like buildings, roads, and pair these relationships in a hierarchy. So it's not all flat across the board — you know that certain things respond to other contexts. The road defines the shape of the sidewalk, and the sidewalk constrains the building, for example. When you pair these two up — the building-specific IFC data and the CityGML data — you can then link it together, for example in this schema, in the graph database. So they relate to each other. Because the buildings will come in one file format, the CityGML data might be from another source, and you want to link together — they can create a database for a query, and from there you can put applications on it.

So that's the scaling up. Whereas before we saw that platform version and some data science examples, you can really start building this up into layers and layers and layers where they relate to each other using these transformations.

And here's an example of an architecture that actually responds to the city scale. It is a project meant to collect civil infrastructure information, including roads, buildings, water, land use, terrain, topography, so on. That's the base layer we see here. And then pair that out to the data sets like the CityGML format, the IFC format, and get actual useful information. Now combine that and classify that into an information model and create a database out of it. They can then build platforms for it that can either be used for data inquiries and dumps, or you can use it for interfaces — based on the combination of the data from the data sources and the 3D geometry — so you can actually see what you're looking at.

And it's exactly what they did. This is actually the city of Helsinki. It's a digital twin of the entire capital of Finland. It's a comprehensive case. It's not just limited to any one purpose. They actually collected everything they could from their city, and you could do with what you want — no restrictions, there's no real structure for it — it's whatever you wanna do with it. But it is structured data. This is a full digital twin they can make for 80,000 buildings to visualize the city's different use cases between the 3D geometry, the geo-location of the buildings and the urban forms, the infrastructure — the water infrastructure, the land infrastructure, you name it. And you can get public data on these buildings available online, including climate. And you can use it for a lot of different purposes.

For example, they used it for a wind-tunnel analysis across half the city. It's a complex simulation to see, for example, do you have like a Venturi effect — which is where you have wind coming into one place and really causing strong gales that could be very uncomfortable, especially in a cold city like Helsinki? Do you need to study this and see how strong that wind is at any given time of the year? And do you need to put trees as windbreaks? Do you need to have a better philosophy for how you build buildings so they don't create funnels of air? Is there opportunity to capture that wind for energy? All sorts of use cases.

So this is an unconstrained data model built on actual publicly available data that they put together in Helsinki. And this is the kind of structured data that's kind of very useful for everybody, because you can literally study precise — not like Google Earth level precision, where it's pretty good 3D model visibility but not precise — these are precise geo-located structures that can give you really good information for climate analysis, urban landform analysis, long-term civil planning and urban planning. And that's kind of where the future's going: how do we make the urban-scale data useful for even a small little project, like putting a restaurant in the corner of a block here? They all relate.

And what's really cool about this — you could play Minecraft in it. They actually made a Minecraft model out of this Helsinki. So if you ever wanna play Minecraft in a geo-located Helsinki model based on the CityGML format — there it is. It's available online, link below if you wanna go nuts. So that's the cool part of these unconstrained models. Instead of using it for a specific use case, it's whatever you feel like doing with it, which is pretty neat. I think that's where everything's going with the city environment.

But where do we go now? We saw, we grew pretty big — we went from drawings and little buildings to urban forms generating those, and then we got this city-scale digital twin. Well, what are we trying to accomplish with the scaling? It's kind of a cool journey, but what's the point of this? Whether it's AI or generative design — well, same point as before: it's building data. It's the integration of that data to drive value, and it's always an integration problem. How to get everything lined up and automated across data sets into a useful purpose. So it's not just geometry, it's not just some numbers — but it's useful. And that's the kind of challenge you have with urban landform data — is that it has to come together either, right, or does it come together at all? So these examples are good for showing you outcomes of data generative design, but it takes a lot of work to get there.

So where's the value? Well, the value is in IoT — IoT sensors and platforms streaming information. I, uh, looped down these examples, but you can actually stream a lot of the equipment information. And somewhat static information like bridges can be monitored to see how much they sway. That's another example of using those wind-tunnel analyses to make sure your bridges are performing correctly. Or just equipment data, how well generators are working — you name it, you can just study that real-time data. That's a huge data source right there.

And also environmental data. Are we creating urban heat-island effects? Are we creating problems for the city? Are we using too much water? Are we just ignoring the benefits of capturing solar power, are we not, are we ignoring something? These are the challenges and use cases we have.

And so, for example, platform services — integration information goes a long way. People — people are smart. People who work on buildings are really intelligent, but it takes so many disciplines to work on a given structure that they aren't really sure what's going on. It's a bit of a blind-men-with-the-elephant situation. They can all tell a piece of the puzzle, but they can't bring it together on their own. So integrating that information — like the digital twin city, or any of those other examples — really helps people find better solutions from the platforms that bring 'em together, like the CityGML and the IFC schemas.

Real-time data can help you do predictive maintenance. So if you can figure out how well your buildings are performing — your transformers, your air handling units for moving air around, if pumps are working properly — you can make sure they're maintained properly. Right now it's kind of hit or miss. Sometimes they have really good remote monitoring of equipment. Sometimes Gus, who works in facility maintenance, has to take his clipboard and walk around, look at things, if they're leaking or breaking — which is not ideal, because that's usually when there's a problem. So how do we monitor those equipment remotely, but also get good information when we have to fix them so we don't have to worry about breakdowns? That's a good long-term shelf life of the equipment.

And environmental data — make sure we have improved building performance, so we are more mindful of the energy we use. We make better habitats, and we're taking care of the planet.

So there are some working groups trying to bring this all together. You might have heard a few. There's the Digital Twin Consortium. They work across the board on digital twins, including exchanges at every level — commercial, government, buildings, aerospace, industrial, Industry 4.0 they call it. And DevOps for a more unified format of emerging field digital twins. I think digital twins on any level, in any industry you can imagine, is just only gonna grow, as we have better services gathering cloud data and also making that visible through remote monitoring. So this is a field where they're working to make sure it's consistent language, so we're not talking past each other, which usually happens in these kind of environments.

There's a great example from Singapore — the Smart Urban Co-Innovation Lab. Singapore is an island country, city-state. They're also trying to see — can we basically do a digital twin of the entire city of Singapore and make it useful? So they've been doing a lot of work, and AWS supports city software cloud-provider, trying to partner with governments and vendors who work for governments, to make better use cases of the data and the platform hosting. There's a lot of growth in that field and it's only growth for years to come.

So — key takeaways. Did it go too far? There we go.

Key takeaways. Value is what we deliver that someone else uses — that's the value of the process. So we discussed some values today. Connected data: data can be gathered and automated even for an old process like building a building. It's all possible. It takes a little bit of grease, of a lot of trial and error, we get there. Traditional process can be automated with AI tools — everything I showed you pretty much from the beginning to the end was at least somewhat affected by AI, machine learning, LLMs, and generative design. Scaling can happen as you get bigger and bigger. We need to think big. So if you think in the terms of like, "we have a digital twin of our city or country," then you can work backwards — just think about how you can get there with the GML data, the IFC, the open-source tools. Automation has an effect on the environment, including artificial landscapes like cities. So yeah — it's great when we go camping, we have, you know, be in a tent — but 99.9% of our time we're in some city, so we wanna make sure those cities are taken good care of, and the automation helps with that. And new technology is evolving and emerging, so try it out. There's a lot of great stuff out there — those user groups, the different standards.

And one final message: think big, then go bigger. The world is more accessible than ever before. What was once a drawing is now a huge data set, and it's only gonna get bigger. So think in terms of scaling the city and the long-term plan and the long-term vision we can have for that, and how you can contribute to the bigger picture for a better future.

I have some references here for those tools, but don't worry — here's the QR code for the entire deck, if you want to look at everything I just made.