Dynamo is used to create algorthims that take input(s), extract and process the input's data to return an output or outcome. Often, these inputs and/or outputs interact with a Revit file. Dynamo is good at reading and analyzing information, sometimes from multiple sources. In this lesson, you need to illustrate Dynamo's value with real-world examples, which will lead into a discussion of how to adopt a programming mindset to solve problems and build tools that boost efficiency. Dynamo can be launched in the Project, Conceptual Mass, and Family(?) environments
- [Voiceover] Let's begin the course by talking a little bit about Dynamo, what it is, how it's used, and why it makes sense for you to learn it. First, let's answer the question, what is Dynamo? In short, Dynamo is graphical programming for design and BIM. We're going to talk a little bit about what that means in a second. But in short, Dynamo is what you decide to make of it. It's an extremely flexible environment that presents lots of brand-new opportunities for architects, engineers, and construction professionals. Working with Dynamo, to put it most simply, is writing algorithms. Algorithms are a procedure, process, or a formula that's followed exactly in order to solve a problem.
Because Dynamo users tend to be architects, engineers, and construction professionals, the set of problems that Dynamo is most often used to solve are analyzing BIM data, automating tedious and repetitive documentation tasks, and exchanging information between software formats that don't always play together nicely. Writing an algorithm is a lot like writing a recipe. A recipe includes a list of ingredients that are required, specific instructions regarding how they all need to be prepared, processed, and the conditions under which they're ultimately combined together into a final outcome.
When you work in Dynamo, you're writing a series of instructions that the computer will follow exactly. You'll need to tell Dynamo what data or information to start with which we'll call the inputs of your algorithm, how those pieces of information need to be organized, analyzed, and how they need to interact together in order to achieve an end result or an output. There are plenty of opportunities for working with algorithms in a design and BIM workflow. For example, an algorithm might be used to inform a designer working with complex building geometry of parts of the design that are overly expensive to structure or manufacture and need to be resolved.
Or maybe at the very start of a project, zoning restrictions like setbacks, lines of sight, and other limitations can help define the project's zoning envelope. Sometimes algorithms are written to report information. Perhaps your script runs a test on all of the windows in your Revit project to identify specifically which ones have a line of sight to a nearby landmark. Other times, algorithms are written to perform a process of multiple steps that otherwise you would have needed to have performed manually. Maybe you're adding a line of text to whatever is already in the comment field of all the families of a specific type.
Or you need to convert all the notes in your drawings to uppercase, but you don't want to spend the time to search through the entire drawing set for a couple lowercase characters. Now these are just a few examples. There are tremendous amounts of possibilities. While you're learning Dynamo, try to pay attention to the things in your day-to-day work that could potentially be automated using algorithms. How is Dynamo different from learning to code? Dynamo was developed to make the power that comes with coding your own software accessible to people that haven't studied a programming language. Dynamo is what's called visual programming, meaning that you are in fact programming.
But instead of typing out lines of code, your algorithm is composed of a series of what Dynamo calls nodes. This is a brand-new way of thinking for most architects, engineers, and construction professionals with no background in programming. Because you're likely learning to program for the first time, this course is going to cover a handful of basic programming concepts. During the beginning of the course, it might not seem to be directly related to your day-to-day work, but these are important concepts to understand to get you properly equipped to introduce greater efficiency and accuracy to your BIM workflow. So what's the advantage to working this way? Programs written in Dynamo which are called graphs can be reused from project to project.
It might take you a little bit more time to build a Dynamo graph than it would take you to solve the problem. But if this is a problem that you expect to have to solve again, you can reuse this script for an instant solution next time. In the long run, it can save you a lot of time. You can also build your script so that the same process is run on lots of inputs at once. While you're working, how often do you find yourself performing the same command or sequence of commands over and over on a different set of elements? Dynamo might be able to help you. When you write a script, you can choose all of the elements that you need to perform the task on at the beginning and run the process on all of them simultaneously.
Getting the computer to save you time means you can spend more of your time and attention on design. It's even possible to use Dynamo to test multiple design iterations at once. You can also work with a greater degree of precision and accuracy. If you're getting the computer to run calculations, execute commands, or perform data entry, there's a major reduction in the possibility for human error. Dynamo is also capable of reading and writing information from a wide variety of sources and formats. You might have found this course or become interested in learning Dynamo because it's the next big plug-in for Revit.
But Dynamo is far more than just a hyped-up Revit add-in. It's a technology that enabling easier exchange of data between software packages that traditionally haven't played very nicely together. In this course, you're going to see an example that begins with information in an Excel spreadsheet. We'll use Dynamo to read the Excel file, perform some calculations and analysis, and ultimately write the data to several parameters in a Revit project. There have also been recent examples of a workflow allowing users to extract structural design information from their Revit project using Dynamo, then automatically generate an analysis model in robot or reactor simulation, and then send the results of the calculations back into Revit to adjust their structural models.
You might also use Dynamo to read crash report data from a Navisworks file which you could then use to generate 3D views of the Revit elements that need to be adjusted to resolve the clashes or format and write the crash report data to an Excel spreadsheet. These are just a few of the possibilities thanks to Dynamo's open source nature in an active community of users. There are plenty of developments enabling geometry to be read from other formats like Rhino, Autodesk Maya, Trimble SketchUp, and other raster and vector graphic formats. Now that we've covered what Dynamo is and why it makes sense for you to learn it, let's fire up Dynamo and get started.
- Placing and connecting Dynamo nodes
- Understanding Dynamo's data types
- Performing math functions
- Creating number lists and text strings
- Writing data to an Excel spreadsheet
- Creating points, curves, surfaces, and solids
- Analyzing geometry
- Linking a Dynamo-driven SAT into Revit
- Placing Revit families with Dynamo
- Creating Revit views and sheets with Dynamo