Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Mark Thompson
  • Do you have specific workflows that you wish were built into Revit's core functionality?

  • Are there activities that you do on every project that you wish you had a more efficient way of completing?

  • Do you wish you could automate the more tedious and time consuming tasks on projects so you can focus on design?

Read more
  • Do you have specific workflows that you wish were built into Revit's core functionality?

  • Are there activities that you do on every project that you wish you had a more efficient way of completing?

  • Do you wish you could automate the more tedious and time consuming tasks on projects so you can focus on design?

Harness the power of the Python programming language to create your own tools and scripts to speed up your work within Autodesk Revit. By using freely available software you will learn how to access the Revit Application Programming Interface (API) to take advantage of functionality of the software that is not available out-of-the-box.

After setting up the required software and resources you will be guided through the process of creating simple tools using Python. All of the scripts and content created as part of the course will be downloadable, allowing you to follow along by whichever means you prefer.

You'll also gain exclusive access to an AI assistant powered by OpenAI's custom GPT (requires ChatGPT Plus subscription). This means you can ask any questions about the course and get instant, insightful answers; making your learning journey smoother and more engaging than ever.

This course is independent of Autodesk, Inc., and is not authorized by, endorsed by, sponsored by, affiliated with, or otherwise approved by Autodesk, Inc.

Autodesk, the Autodesk logo, Autodesk Revit are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries. All other brand names, product names, or trademarks belong to their respective holders. Autodesk reserves the right to alter product and services offerings, and specifications and pricing at any time without notice, and is not responsible for typographical or graphical errors that may appear in this document. © 2023 Autodesk, Inc. All rights reserved.

Enroll now

What's inside

Learning objectives

  • Use the python programming language to create custom tools in autodesk revit.
  • Become familiar with the revit application programming interface (api)
  • Understand the key concepts used when creating custom tools and plugins for revit.
  • Create your own script based on a task that you feel would benefit from a custom tool.

Syllabus

Introduction
What is Revit
What is Python
RevitPythonShell
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Teaches how to leverage the Revit API, which allows users to extend Revit's functionality beyond its out-of-the-box capabilities and tailor it to specific project needs
Provides downloadable scripts and content, which allows learners to immediately apply the concepts taught and adapt them to their own projects and workflows
Covers adding custom tools to the Revit ribbon, which streamlines access to user-created scripts and enhances the overall user experience within the Revit environment
Requires a ChatGPT Plus subscription to access the AI assistant, which may present a barrier to entry for some learners due to the additional cost
Uses RevitPythonShell, which may require learners to adapt to a specific scripting environment, though it is well-integrated with Revit
Explores Python in RevitPythonShell, which is a specific environment that may not directly translate to broader Python development skills outside of Revit

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Automating revit tasks with python

According to students, this course offers a practical approach to leveraging Python for automating tasks within Autodesk Revit. Learners particularly appreciate the clear explanation of the Revit API and the hands-on examples provided for common workflows. While some mention the setup of RevitPythonShell can be a bit tricky initially or that prior basic Python knowledge is helpful, many report successfully creating custom scripts by the end. The course is seen as highly valuable for improving efficiency and automating repetious tasks, making it a solid foundation for Revit users looking to enhance their capabilities with scripting.
Assumes some prior basic understanding of Python.
"While not explicitly stated as a strict prerequisite, a basic understanding of Python syntax is very helpful."
"If you're completely new to Python, you might need supplementary material to grasp the core language concepts."
"The course jumps into the API quickly, so having some Python background is beneficial."
"It's a Revit API course using Python, not a Python programming course itself."
Helps automate tedious tasks to save time.
"I can now automate many repetitive tasks that used to take hours, significantly increasing my efficiency."
"Learning to script has allowed me to focus more on design rather than manual data entry or checking."
"This course gave me the tools to speed up my workflow in Revit."
"Highly recommended for anyone looking to streamline their Revit processes with automation."
Provides a good starting point for scripting.
"This course provides a solid foundation for beginners looking to start scripting in Revit."
"It gives you the fundamental knowledge needed to explore more complex scripting tasks on your own."
"Feeling confident to start building my own simple tools after completing this."
"A great introduction that demystifies the process of connecting Python to Revit."
Features many practical examples for real-world tasks.
"The examples like deleting unplaced rooms or getting total wall area were directly applicable to my work."
"I really appreciated the practical scripts demonstrated, they helped solidify the concepts learned."
"Creating scripts based on tasks like importing data from CSV was a key takeaway for me."
"The hands-on approach with real-world examples made the learning process very effective."
Provides a solid introduction to accessing the Revit API.
"The course does a great job explaining the basics of the Revit API and how to interact with it using Python."
"I learned how to access parameters and properties of elements, which is fundamental for scripting."
"Understanding the FilteredElementCollector was made much clearer through the course materials and examples."
"This course provides a very good foundation on understanding how to connect Python to Revit using the API."
Setting up the environment can sometimes be tricky.
"Getting RevitPythonShell configured correctly took a bit of troubleshooting for me."
"While the course covers the setup, users should be prepared for potential minor installation hurdles."
"The initial setup was the most challenging part, but the course instructions were helpful."
"Could maybe benefit from more detailed guidance on potential setup issues across different Revit versions."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Python for Revit: Building Custom Tools with these activities:
Review Python Fundamentals
Reviewing Python fundamentals will ensure a solid foundation for understanding the Python scripts used within Revit.
Browse courses on Python Basics
Show steps
  • Complete a Python tutorial covering basic syntax and data structures.
  • Practice writing simple Python scripts to reinforce understanding.
  • Review object-oriented programming concepts in Python.
Review Revit API Basics
Familiarizing yourself with the Revit API will help you understand how Python scripts interact with Revit elements and data.
Browse courses on Revit API
Show steps
  • Read the introductory documentation on the Revit API.
  • Explore the Revit API documentation to understand the object model.
  • Look at sample code snippets that demonstrate basic API usage.
Follow RevitPythonShell Tutorials
Following tutorials will provide hands-on experience with using Python within Revit and expose you to common scripting tasks.
Show steps
  • Find tutorials that demonstrate using RevitPythonShell for simple tasks.
  • Replicate the steps in the tutorials to create your own scripts.
  • Modify the scripts to experiment with different Revit API functions.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Read 'Mastering the Revit API'
Reading this book will provide a deeper understanding of the Revit API and its capabilities.
Show steps
  • Read the book cover to cover, taking notes on key concepts and techniques.
  • Experiment with the code examples provided in the book.
Create a Simple Revit Tool
Starting a project will allow you to apply your knowledge and create a practical tool that solves a real-world problem within Revit.
Show steps
  • Identify a repetitive task in Revit that could be automated with a script.
  • Design a Python script that performs the task using the Revit API.
  • Implement the script in RevitPythonShell and test its functionality.
  • Refine the script based on user feedback and testing.
Contribute to RevitPythonShell
Contributing to open source will provide valuable experience working on a real-world project and collaborating with other developers.
Show steps
  • Explore the RevitPythonShell project on GitHub.
  • Identify a bug or feature request that you can contribute to.
  • Submit a pull request with your changes.
Document Your Revit Tools
Documenting your tools will help you solidify your understanding and share your knowledge with others.
Show steps
  • Write a blog post or create a video tutorial demonstrating how to use your Revit tools.
  • Share your documentation on online forums and communities.

Career center

Learners who complete Python for Revit: Building Custom Tools will develop knowledge and skills that may be useful to these careers:
Revit Customization Specialist
A Revit customization specialist focuses on developing and implementing custom tools and workflows within Revit. This course directly aligns with the responsibilities of a Revit customization specialist by teaching core concepts within the Revit API and how to apply them to build custom python scripts. The course's in-depth focus on Python programming in Revit, with practical examples, provides the perfect training for this role. A Revit customization specialist would benefit greatly from this specific curriculum. The course material can serve as a starting point for further development.
Plugin Developer
A plugin developer creates and maintains software add-ins or extensions, often focusing on one particular piece of software. This course directly aligns with the work of a plugin developer, particularly one specializing in Revit. With its focus on using Python to access the Revit API, learning custom tool development will teach the core concepts of how to create a custom plugin. The practical, hands-on nature of the course makes it especially well-suited for a plugin developer.
Computational Designer
A computational designer develops and implements custom digital tools and workflows, often using programming to enhance design processes. This course helps a computational designer by providing knowledge of Python and the Revit API, enabling them to automate tasks and create custom tools within Revit. The course's focus on practical scripting and tool creation directly translates to the kind of problem solving required in this role, equipping a computational designer with the concrete skills needed to optimize their workflows.
Building Information Modeling Specialist
A building information modeling specialist is responsible for the creation, management, and implementation of building information models. This course is highly relevant to a building information modeling specialist as it teaches how to use Python to customize Revit, the primary software used in Building Information Modeling. By learning to automate tasks, such as extracting data and manipulating elements, a building information modeling specialist improves their efficiency and the quality of the building information model. The course's focus on practical scripting will help a building information modeling specialist become an expert user of Revit.
Design Technology Specialist
A design technology specialist supports the implementation of digital design tools and workflows. This course directly supports a design technology specialist by providing them with hands-on experience using Python for Revit customization. This allows the design technology specialist to develop the skills necessary for creating custom tools within Revit. The course's focus on practical applications of the Revit API allows for the design technology specialist to improve processes within their organization.
Architectural Designer
An architectural designer creates and develops designs for buildings and other structures. This course is valuable to an architectural designer since it teaches how to use Python to extend the capabilities of Revit, a critical piece of software for them. This course will help an architectural designer to automate routine tasks, generate design variations, and analyze building information more easily. The course's focus on custom tool creation can help an architectural designer to streamline their workflows and be more efficient in their design process, focusing on design rather than tedious operations.
BIM Coordinator
A BIM coordinator is responsible for the management and coordination of Building Information Modeling processes within a project. This course helps a BIM coordinator improve their skills in customizing a critical piece of sofware that they must be proficient in. This course is useful in that it may allow BIM coordinator to automate some common tasks or processes related to the management of their building model. The course is relevant to anyone who wants to improve their mastery of building information modeling software.
Architectural Technologist
An architectural technologist uses technical expertise to develop detailed designs, often using software such as Revit. This course is very relevant to an architectural technologist as it provides the skills needed to harness Python and the Revit API. By learning how to create custom tools, they can automate routine tasks, improve workflows, and more efficiently manage large projects. This allows the architectural technologist to focus on delivering quality designs rather than tedious manual processes.
Digital Design Specialist
A digital design specialist utilizes digital tools and technologies to streamline design workflows. This course may be useful for a digital design specialist because it teaches the crucial skill of using Python to tailor Revit to meet specific needs. This means a digital design specialist can create custom tools to automate and optimize repetitive tasks in Revit, or to access data not readily visible out of the box. The practical focus of the course, with its emphasis on hands-on coding and tool creation, provides a strong starting point for a digital design specialist.
Automation Engineer
An automation engineer designs, develops, and implements automated systems to streamline processes. This course may be useful for an automation engineer who is interested in creating better workflows in Revit. The course's curriculum on scripting using Python aligns well with the general knowledge of an automation engineer. Automation engineers leverage similar skillsets of tool development and scripting. The course material on working with APIs can also be beneficial in this role.
Construction Technologist
A construction technologist applies technical knowledge to the planning, management, and construction of projects. While this role has a wider scope, this course may be useful to a construction technologist who uses Revit. The course will help them master the Revit API, allowing them to automate tasks and improve data management within Revit. The ability to create custom tools can lead to more efficient construction workflows. A construction technologist who wishes to maximize their mastery of Revit would benefit from this course.
Software Developer
A software developer designs, develops, and tests software applications. While this course is not directly focused on general software development, it may be useful for a software developer who has a focus on the built environment space and is interested in Revit. The course introduces programming concepts with Python and the Revit API, skills that are essential to software developers. The course also gives practical experience in building and debugging custom add-ons, making it a useful starting point for some software developers.
Parametric Designer
A parametric designer utilizes computational design tools and techniques to create complex forms and systems, and often relies on custom scripting. While this course does not go into the higher level theory of parametric design, it may be useful to a parametric designer who uses Revit and would like access to the Revit API. An understanding of the Python language and the ability to create custom tools would be helpful in this role. A parametric designer who wishes to maximize their mastery of Revit would benefit from this course.
Data Analyst
A data analyst collects, processes, and analyzes large datasets to identify patterns and insights. While this role is broad, this course may be useful to a data analyst who deals with building information or project data. The course teaches how to use the Revit API to extract data and properties from elements. This is useful for extracting data for further analysis. A data analyst wishing to explore data arising from building models may benefit from this course.
Project Manager
A project manager is responsible for planning, executing, and closing projects. While this course focuses on customization of a specific software, the concepts can be useful to project managers who wish to have a deeper understanding of the processes involved in their project. A project manager with technical skills can use this course to understand how digital workflows in Revit can be optimized through the use of Python, leading to more streamlined projects. The course can help with overall workflow management.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Python for Revit: Building Custom Tools.
Provides a comprehensive guide to the Revit API, covering a wide range of topics from basic concepts to advanced techniques. It valuable resource for anyone looking to develop custom tools and plugins for Revit. This book is commonly used by industry professionals and useful reference tool. It adds more depth to the existing course.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser