Building upon the foundation of "Automation in Revit: Python Revit API (1)" this training delves further into the use of Python within the Dynamo environment. The curriculum includes learning how to extend Dynamo's capabilities using Python, manipulating and integrating data from different sources, optimizing Python scripts for improved performance, and tackling real-world problems with hands-on projects.
After completing this training, you will have a firm grasp of the usage of Python in Dynamo for advanced scripting tasks, handle and integrate data from multiple sources, debug and optimize Python scripts in Dynamo, and develop solutions for real-world architectural and engineering problems. This advanced knowledge will allow you to further enhance productivity, design quality, and coordination in architectural and engineering projects.
The section introduces the use of Python within the Dynamo environment. You will learn how to create Python nodes, interact with data from Dynamo to Python scripts, and manipulate this data to fit your needs.
Part two covers advanced usage of Python scripts in Dynamo. You will learn to create complex functions, use Python libraries, and develop custom nodes. This will allow you to extend Dynamo's capabilities beyond what's possible with built-in nodes.
In the third section, you will delve deeper into handling and integrating data from different sources using Python and Dynamo. You will learn how to import and manipulate data from CSV files, Excel files, and databases and integrate it into your Revit models.
The fourth part focuses on debugging and optimization techniques for Python scripts in Dynamo. You will learn how to troubleshoot errors, understand Python's debugging tools, and adopt best practices for writing efficient and optimized Python scripts.
The last part will showcase case studies demonstrating the power of Python and Dynamo in solving complex architectural and engineering problems. This will be followed by a final project where you will apply all the learned skills to solve a real-world challenge.
In this project, we will rewrite one of our earlier scripts where we modified a parameter through Dynamo. We will investigate the differences between how to tackle automation goals in Python versus Dynamo.
Just like with Dynamo, Python can be used to set up Revit files in a more streamlined way.
In this project, we look in depth at how Dynamo and Python nodes interact with each other in one script and how one can use the best of both worlds to create a script that is efficient and easy to understand, easy to share, and reusable in other projects.
How can Python be used in element creation? This is something we investigate in this project. We look at creating elements based on some Revit-based data and user input.
This project focuses on how custom Python nodes in Dynamo can be used to retrieve data for use in a script.
After using internal or external data, the user might want to export it in a specific format or to a specific place. This project shows how this can be done with custom Python nodes.
Python nodes in Dynamo can give rise to errors just like any other Dynamo node. Troubleshooting them is a different beast, however. This project looks at errors in Python nodes and how to solve them.
A big part of writing Python nodes for Dynamo is the increased optimization possibilities. This project looks at how you start optimizing your scripts.
Kristoffer is an accomplished technology and BIM expert who brings a wealth of knowledge and experience to automation and coding in digital construction.
Yashar is a seasoned technology leader specializing in coding and automation, with a background in civil engineering and Geographic Information Systems (GIS).