Recently, generative design entered the interest of the AEC industry mainstream when it was included in Revit 2021 as a new feature. In this article, I explore the various challenges and opportunities offered by this way of working -- many of which aren't often marketed openly.
Any given design process we engage in typically involves a myriad of interconnected variables, whether they be compliance-driven or simply personal preferences. Capturing all of this in a code-based workflow can be challenging, if not impossible (at least to the time-frames we work within). Long story, short: generative design is difficult.
Many industries have been benefiting from generative design for many years now (such as medical research and industrial design), however this is typically from a pure optimization perspective. Usually the generative goals are not focused on aesthetic appeal, a much harder aspect of a building to objectively measure. Generative outcomes are often quite 'ugly’; as evidence, just check out this study by Fusion 360's optimization of the Golden Gate bridge. See figure 1.
Figure 1. A bridge not even a mother could love (image source engineering.com)
To further understand how difficult it has been for the AEC mainstream to embrace generative design, we only need look at the fact that there have been AEC-relevant tools (like Grasshopper) able to work in a generative manner for at least a decade now. Will another tool entering the industry change this, or are we simply witnessing a hype cycle?
Barriers to Implementation
Generative design faces barriers to realized success. The primary one is probably perceived return-on-investment (ROI). If a generative study cannot save time or money in a provable manner, it is difficult to take it beyond a curiosity.
One way to combat this is to develop generative tools that can assist on a wide variety of projects, but in this case we encounter another issue: generative outcomes are often overly simplified and cannot handle later exceptions to their predefined rules.
Some companies have successfully developed generative tools for their own internal use, some prominent examples being the dashboards of NBBJ Digital (see figure 2), or Gensler's forays into modular building generation. In both cases, the setup and management of these systems require a significant investment in terms of time, maintenance, and staffing to generate a significant return on investment.
AEC firms are not usually known for taking such deep dives into the fiscally unknown, and so examples like these have proven this is usually the only way to get started.
Generative Design LT
It is worth noting that nearly all major firms investing in generative design are not using the newly introduced tool in Revit to make their studies, and I expect they never will. Whilst the newly added tool is a welcome addition to the collection of 'nobs and whistles' progressively being grafted onto Revit, I believe its true benefit is simply introducing the concept of generative design to the unaware. From here, I expect most will move to other, more fit-for-purpose platforms once they encounter some limitations.
The primary limitation of Revit's Generative Design tool is that it relies on its geometry engine, as well as Dynamo (Autodesk’s computational design software for BIM), for its execution. No matter how smitten users may be with Revit, few will defend the speed and ease of using it to generate complex geometric forms that a generative study would typically rely upon.
Historically, AEC users have leveraged Rhino 3D and its scripting environment Grasshopper to produce generative tools and studies. Such add-ons as Galapagos evolutionary solver (integrated since v5), Wallacei multi-objective optimization engine, and Octopus parametric problem solver provide a wide variety of methods by which to create complex and meaningful studies, further enhanced by analytical add-ons, such as Ladybug weather tools. The Human UI add-on also provides the ability to flexibly design custom user interfaces for Grasshopper, such as the one previously shown by NBBJ.
In comparison, the Generative Design tool in Revit has a restricted UI, as well as three pre-defined methods of undertaking and filtering study results -- limited potential, with the trade-off of greater ease of use. The types of studies used to market the Generative Design tool must also be scrutinized: a furniture layout and the optimization of three boxes. One could argue that these are telling of the tool’s self-aware nature of its inherent limitations.
Setting Up a Generative Design Study
(The script in this article can be downloaded from https://tinyurl.com/y6spk8hw)
Let us imagine we are designing a simple single story residential dwelling. The script we will be using to undertake the generative study in this case looks a bit like figure 3:
Figure 3: Script for a simple study
All generative studies rely on the measurement-of-fitness for numerical goals. These goals come in many forms, but ultimately they will be the key to defining how we develop and review our study – the end justifies the means. Such goals we may wish to measure are the following:
- Space planning fitness
- Maximizing areas
- Minimizing areas
In the case of our study, we will focus on measuring four concurrent goals:
- Maximizing living room area
- Maximizing back yard area
- Minimizing front yard area
- Minimizing corridor area
It is important to note that our script uses a predefined spatial layout; for example, the master bedroom is always at the front of the house. Whilst we will allow a range of flexibility to the sizes of rooms in the generated layout, we will not give the script the ability to rearrange these spaces at will. Such a change to our study would, at the very least, double the complexity of how our study is conducted and built.
Establishing Initial Constraints
Before we even begin the design and layout process, we have to contend with the following development constraints that are beyond our control:
- Height restrictions
- Front, rear, and side setbacks
- Maximum and minimum areas
- Other LEP/DCP [Australian Local Environmental Plan / Development Control Plan] requirements
These must all be captured in an initial portion of a generative design study in a scripted form. In the case of our hypothetical study this is achieved by the following steps:
- Capturing site controls as scripted inputs
- Beginning from a start point (origin)
- Establishing a site boundary
- Establishing a compliant building outline
The script portion that handles this part of our study looks like this:
Figure 4: All this just to create a box and a line
If this already looks too complex for your liking, this is just the tip of the iceberg.
Introducing the House Contents
Once the boundaries of the study are established, the remainder of the script deals with working inwards from these boundaries to script the layout of our house. Note that we cannot simply model our house like we would in Revit; a generative study requires a fully coded workflow.
The requirement of coding a solution is often the main stumbling point for newcomers to generative design. They only see what marketing shows, which is a nice end product and a clean user interface: how complex can it really be? Very complex, it turns out.
By working inwards from our building boundary and corner points, we can code all the rooms into our study as rectangles that report their areas. From this, we can generate what is leftover (the living area). Note that we are also introducing some optional criteria:
- The alfresco [outdoor covered living area] at the rear can be combined with the living space
- The third room on the right (a media room adjacent to bedrooms 2 and 3) can be omitted. See figure 5.
Figure 5: Well, that got a bit more complex!
As before, if the above is looking too complex, then I have some bad news for you: we are not done yet. We still need to visualize our results and measure our goals.
Finishing the Study
Whilst so far we have been viewing our study in coded format, we must construct a visually discernible outcome for the end of our study. We could simply report back the numerical results; most users, however, require visual aids to interpret the numerical goals/fitness. See figure 6.
Figure 6: Looking a bit more like a house
Note that everything is still contained within Dynamo, the coding environment. Our study does not necessarily generate a house in Revit with walls, floors, rooms, and so on. This would require an additional 'back-end' that would likely need the same amount of coding.
This leads to a common narrative I try to promote to others: we are not typically setting up a workflow to automate the model setup process. The real value is derived from using the tools as planning and decision-making aids. If you simply want an automated house layout, send some money overseas to an outsourcing firm; you will save time and money vs. attempting to automate your design process.
Running and Reviewing the Study
Once we have set up the Dynamo script (and defined the inputs/outputs), we can export the study to the Generative Design tool itself. See figure 7. This process will also capture any graph dependencies, such as custom packages that may be involved in the study. (In our case, we are using none.) Note that if you are using the educational version of Revit 2021, you will only be able to run your study from within Dynamo itself.
Figure 7: The Export (left) and Define Study (right) dialogues
The tool presents us with a few methods to generate our study, each supporting a different means of generating and reviewing its results:
- In the case of Randomize, our inputs are generated at random and we will see every result generated.
- If we use Optimize, Revit instead creates sub-studies from a population size; for example, in the above study we will see the most successful result of ten studies, with 20 sub-studies undertaken for each.
- If we use Cross Product, Revit exhausts every possible combination the study can produce.
(An important type of study that is not offered by the tool is an Evolutionary method. In this case, each iteration of the study takes results from the previous population to generate the next, essentially forming an evolution that optimizes itself progressively until an ideal solution is reached.)
Once the study is undertaken, we can review and filter the results. In the case of the above study, I have sorted results so that I see first the studies which generated the most living room area. See figure 8. As we would logically expect, the alfresco is not present in any of these outcomes. (Which lends to the question: did we even need to include it in the first place?)
Figure 8: Results of the generative study
I also applied a filter on the third-to-last goal (GOAL_AreaLiving) to isolate a smaller sub-set of results for detailed review. By selecting one of these, I can review the inputs that generated the successful outcome, which I then can use to inform my actual design.
(In the bottom right of figure 8 is the option to Create Revit Elements, should the study be designed to allow this to occur.)
Problems to Solutions
As I previously mentioned, this study works with a predefined housing layout and known setback requirements. If I were to conduct this study with a different layout or planning requirements, I would probably need to edit the base script, or begin again. Generative studies are often tailored to very specific problems, and so they might not provide broad use cases beyond their initial setup.
In the case of the above study, the entire process took me three hours to set up and conduct. Given that this is for a very specific use case, it is unlikely I would have generated enough ROI on such a study to justify its setup. Whilst on the surface it may wow a client, the conclusions drawn from the study are not revelations by any means:
- If I want to make my living area larger, I should remove the alfresco.
- Likewise, I should exclude the media room.
- Likewise, my rooms should all be as small as possible.
- To maximize my backyard, I should work close to the front setbacks.
I intentionally set up my study to demonstrate that when the goals are too simple, the results will be too predictable and not generate an outcome different from what we could have simply predicted ourselves. Maybe we should have asked more specific questions like these ones:
- Which side of the house should my bedrooms be on?
- How can I maximize sunlight to living areas?
- Which results achieve the most cross ventilation?
- What if I rearranged room locations in each case?
All of the above are more loaded questions, with less predictable outcomes. Each of these would also compound the complexity of the script to set up. For all of them, there must be a break-even point identified for the time invested vs. the results obtained.
Conclusion: Question the Answer
All of the above challenges lead me to these burning questions:
What is the problem that generative design ultimately solves for our industry?
Are we ready for it and, if not, when will we be?
Simply put, I believe that generative design does not answer any questions unless we ask the right ones in the first place. As is the case with BIM, generative design is far more than a set of tools – it is a process. The tools necessitate that the answers they provide must be to questions we cannot easily prove to our clients.
I commend all those out there leveraging generative design to improve their design workflows, but I encourage all those considering exploring this field to focus more on the questions, and less on the answers.
- - -
Gavin Crump is a BIM consultant and the founder of BIM Guru, a Revit training and consulting firm in Australia. (h/t: R. vD.)
[This article was reprinted with permission from BIM Guru and first appeared at bimguru.com.au/post/generative-design-problematic-solution.] |
|
Here are some of the posts that appeared on our WorldCAD Access blog recently:
|
|
You and I (and many others) are extremely fortunate that during our life path our early careers intersected with a brand new (and soon to be burgeoning) industry: CAD. For me, it was 1984 and my first job as a drafter helping implement an Intergraph MEDS dual InterAct CAD system hooked up to a VAX VMS mainframe.
I remember CADalyst and the elusive CADReport, and watched an industry morph from 2D CAD, to wireframe, to 3D Parametric solid modeling into the behemoth that it is. Your writing over all these years has provided us a beacon of direction, and a comfort of reliability.
I have often wondered, as hard as it is to just focus on ONE aspect of CAD, how is it that you have been able to cover the many aspects and industries it entails? Truly amazing, and a dedication to such an industry.
It’s been such a pleasure sharing this professional road with you. Congratulations on 35 years of guidance! - Randy Mees, Sr. Manager, Designer Transcather Heart Valves, Edwards Lifesciences
The editor replies: In my early years at CADalyst, I was only-AutoCAD, always-AutoCAD. After I left, book publishers asked me to write about other CAD, so I got exposed to Microstation (the most un-AutoCAD-like CAD package ever!), Generic CADD, Visio, and then all the IntelliCAD clones. They were relatively simple to pick up.
Grasping 3D history-based sketch-based parametric MCAD, like Inventor and Solidworks, took me years, mainly because I was spoiled by AutoCAD's simple 3D, and so I could not figure out why you would want to be dependent on history, need to start from sketches, or bother with parametrics.
A great help to me over the years was all the interviews I have done at shows and online. Experts at firms explain to my audience (and me) how things work.
Color me cynical, but after a while, there really isn't much new. Cloud CAD is just a rehash of what Alibre tried two decades ago, which was a copy of the terminal-mainframe system I used two decades before that. BIM is a newer version of smart architectural software from the 1990s, which did exactly what we expected architectural CAD should do -- insert a window symbol and slide it along the wall. Generative design is just a better version of iterations of a FORTRAN-like DO loop. Mobile CAD is just desktop CAD with fewer commands.
In my opinion, AutoCAD is EOL [end of life]. Nice to have for a quick and dirty drawing, but no longer for every day use. That's a job for the verticals.
I think Autodesk is of the same opinion, seeing the 'improvements' over the last years releases; mostly bells and whistles, although importing PDF is a nice addition, for the time being. - Simon Weel
Re: Open Design Alliance DevCon 2020
You wrote, "The problem lies in the file format. Once a model is in Revit, it is not effortless to move it to another system."
Even with a common file format, things are nearly impossible without a common data format or at least common data naming.
Case in point: I hand my architectural model to a furnishing consultant and to a medical planner. They use their own developed libraries of content; each could have data fields for the same information using different names. Once I receive the model back, how do I then combine the fields to do scheduling and cost analysis?
I know there are default fields, but not all of them are required for a project. There are attempts at this, such as OpenRFA, but without industry support, they don't get widely accepted. - Dave Edwards Dave Edwards Consulting
The editor replies: Then there is the whole issue of intellectual property. Architects, who spend time (ie money) on developing a BIM model aren't keen to hand it off to others. This can be overcome if it is agreed that the owner owns the BIM model, pays appropriately for its development, and so allows it to be shared.
Mr Edwards responds: No kidding. We are required to turn over our entire model, including all the Families [Revit's parametric block libraries] we have developed or purchased; they ended up with copies of all of our hard work. We feel some system of copy protection is needed so that they can use the model to print and do scheduling, but not extract the Families for use on other projects.
- - -
Thirty and more years ago the “standard” for translating between systems was IGES [Initial Graphics Exchange Specification]. Most systems were pretty good at writing IGES files, but all systems were horrible at reading the files -- except those that originated in their system, so round-trip conversions usually worked.
To successfully translate between systems, you almost always had to use IGES Flavoring software, which would take the IGES file from system A and modify it to be able to be properly interpreted by system B, usually by massaging it to use the round-trip capabilities. By writing customized Flavoring software you usually could, but not always, get something useful into the second system.
So, it seems that the more things change, the more they remain the same. - Scott Taylor, founder Tailor Made Software
The editor replies: It appears BuildingSmart wants to do some kind of flavoring approach with IFC v5.
Re: Bentley Files for IPO
FYI: https://www.sec.gov/Archives/edgar/data/1031308/000110465920105086/tm1922834-5_s1a.htm Bentley Systems prices $17-19/share IPO for selling shareholders - Jimmy Bergmark, owner JTB World
Now you're talking my language, Ralph! Always good stuff from LEDAS, but I disagree with Ivan's conclusion that it is better to not make the base visitor class abstract.
I think the top-level base class should *always* be abstract, a pure interface. An intermediate second-level base class can be introduced with empty implementations of all virtual functions. In this way you can have your cake, and eat it, too. Then, each implementation scenario can decide which base class is most appropriate for it: the top-level abstract base that ensures compile-time errors in case the abstract interface changes; or the non-abstract second-level base if the implementation doesn't care about changes in the top-level interface. - Owen Wengerd
Your piece struck a reminiscent cord with me, particularly those early computer days. My first exposure was to a Digital, I do believe, PDP-80 (maybe? I think). Shortly thereafter, it was replaced by an HP. This was at the Nova Scotia Institute of Technology circa 1972/1973.
I recall programming with cards, where you could mark or shade boxes with a soft pencil. If memory serves correctly, once programmed with cards you could get a punched paper tape copy and/or backup for subsequent use.
The photo shows a punched tape copy of a program for solving quadratic equations (no claim that it actually worked is implied). As always, thanks for your work. - Jim Longley Canada
The editor replies: I never did work with punch tape, but the blank punch cards were used for everything else in university life, like notepads, signs, study sheets... |
|
Thank you to readers who donate towards the operation of upFront.eZine:
To support upFront.eZine through PayPal, then the suggested amounts are these:
Should Paypal.me not operate in your country, then please use www.paypal.com and the account of [email protected].
Or mail a cheque (US$ or CDN$ only, please) to upFront.eZine Publishing, Ltd., 34486 Donlyn Avenue, Abbotsford BC, V2S 4W7, Canada. |
|
|
|
Comments