Automation in Revit: Python in Dynamo

This 20-hour live training teaches how to extend Dynamo's capabilities using Python and integrating data.

Learn More

About the Training

Overview

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.

Learning Outcomes

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.  

Syllabus

Part 1: Essentials of Python in Dynamo (4 hours)
Part 2: Advanced Python Scripts in Dynamo (4 hours)
Part 3: Data Manipulation and Integration (4 hours)
Part 4: Code Debugging and Optimization (4 hours)
Part 5: Case Studies and Final Project (4 hours)

Training Content

Part 1: Essentials of Python in Dynamo

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.

Dynamo Overview and Basics

  • Introduction to the Dynamo environment and functionality
  • Understanding Dynamo’s visual scripting interface

Python Essentials Recap

  • Refreshing knowledge of Python basics
  • Discussing the use of Python in Dynamo

Python Node in Dynamo

  • Introduction to the Python node in Dynamo
  • Writing and running Python scripts inside Dynamo

Hands-on: First Python Node in Dynamo

  • Element modification in Python
  • Import data into Revit with Python

Part 2: Advanced Python Scripts in Dynamo

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.

Deep Dive into Python Node

  • Exploring the full capabilities of the Python node
  • Understanding the Dynamo Python node's input/output model

Accessing Revit API in Dynamo with Python

  • Leveraging Python to access the Revit API inside Dynamo
  • Writing Python scripts for advanced Revit operations

Developing Custom Nodes with Python

  • Creating custom reusable nodes using Python
  • Sharing and using custom nodes in different projects

Hands-on: Developing a Complex Dynamo Script with Python Nodes

  • Writing a complex Dynamo script that incorporates custom Python nodes
  • Element creation with Python

Part 3: Data Manipulation and Integration

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.

Data Processing and Automation with Dynamo and Python

  • Using Dynamo and Python for data extraction, processing, and visualization
  • Automating data-intensive tasks in Revit

Advanced Revit Elements Manipulation

  • Using Python to manipulate complex Revit elements in Dynamo
  • Writing scripts for parametric design and model alteration

Implementing Design Algorithms in Dynamo with Python

  • Implementing advanced design algorithms with Python
  • Exploring the possibilities of computational design in Revit with Python and Dynamo

Hands-on: Automating a Complex Design Task

  • Using external data in Python
  • Exporting data from Revit with Python

Part 4: Code Debugging and Optimization

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.

Dynamo and Python Script Debugging

  • Understanding common errors in Dynamo Python scripts
  • Debugging techniques for Python scripts in Dynamo

Performance Optimization in Dynamo

  • Techniques for improving the performance of Dynamo scripts
  • Using Python for advanced performance optimization

Best Practices for Dynamo-Python Workflow

  • Discussing best practices for a Dynamo-Python workflow
  • Tips for clean, efficient, and effective scripting

Hands-on: Debugging a Complex Dynamo Script

  • Identifying and fixing errors in a complex Dynamo script
  • Applying performance optimization techniques to the script

Part 5: Case Studies and Final Project

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.

Case Studies: Real-world BIM Use Cases

  • Exploring real-world case studies of Dynamo-Python use in the AEC industry
  • Understanding the real-world benefits and challenges of Dynamo-Python

Dynamo-Python in AEC Industry

  • Discussing the role and future of Dynamo-Python in the AEC industry
  • Evaluating the possibilities of Dynamo-Python in participants' daily work

Final Project: Developing a Complex Dynamo Script for a Real-World Problem

  • Review model quality
  • Clash test using Python in Dynamo
  • Export clashes and quality report

Projects

Element modification with Python

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.

Revit file metadata modification

Just like with Dynamo, Python can be used to set up Revit files in a more streamlined way.

Writing a complex Dynamo script that incorporates custom Python nodes

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.  

Element creation with Python

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.

Using external data in Python

This project focuses on how custom Python nodes in Dynamo can be used to retrieve data for use in a script.

Exporting data from Revit with Python

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.

Identifying and fixing errors in Python  

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.  

Applying performance optimization techniques to the script

A big part of writing Python nodes for Dynamo is the increased optimization possibilities. This project looks at how you start optimizing your scripts.

Final Project: Clash Detection

  • Review model quality
  • Clash detection test using Python in Dynamo
  • Export clashes and quality report
from
1200.00
This is some text inside of a div block.
(Excluding VAT)
Expert Level:
Level-II
Duration:
20
hr
Tech Stack:
Autodesk Revit, Dynamo, Python
Pre-requirement:
Automatisierung in Revit: Python API (1) (oder gleichwertige Erfahrung)
Accredited by German Chambers of Architects