daren-thomas
Scripting Autodesk Revit with RevitPythonShell

Updated 10 months ago

The RevitPythonShell exposes the Revit API to the Python programming language. And to keep with the spirit of Python, it includes a REPL (Read Evaluate Print Loop), the interactive shell that let's you try out code snippets inside a running Autodesk Revit instance! This offers a totally new way to create addins for Revit and Vasari with a more hands-on experience.

Features:

  • Python language scripting (IronPython)
  • Syntax highlighting
  • full access to the Revit API
  • export RevitPythonShell scripts as standalone-addins
  • access to the batteries included python standard library as well as the .NET framework - mix the best of both worlds
  • edit + run scripts without restarting Revit

Brainstorming chapters / sections:

  • Callum: Ideas for chapters could include interface creation (I use winforms, but this opens a whole other realm - I find I spend more time coding the interface than I do manipulating the database!), and a whole lot of simple examples (geometry, revisions, sheet manipulation, family placement, family purging/renaming) etc.
  • mention places to learn about Revit API programming (The Building Coder)
  • mention guides to convert c# code to IronPython
  • go through the Revit API examples, translating them
  • Contribute (tell people how to get in contact with bug fixes and new features from the community)
  • including python libraries
  • InitScript with src attribute
  • can we have multiple StartupScripts?
  • interactive non-modal REPL
  • sample scripts from the SDK? go through them one at a time
  • in fact: new goal: every friday, try out some new piece of API and blog it?
  • Close Revit from the API (in StartupScript e.g.)