Tuesday, April 16, 2019

Exclusive – Interview with Ehsan Iran Nejad, Author of pyRevit

Please briefly describe pyRevit, both from user and developer standpoints.

pyRevit, at its core, is an application development environment for Autodesk Revit. It makes it very easy to develop production-quality add-ins for Revit in python, and to distribute them to teams. I created pyRevit to be the platform that I make my own tools on Revit and that is the main reason pyRevit is accompanied by a decent set of useful tools. Most of these tools are the answers to the challenges that I faced while working as an Architect.

Why Python?

I answered this question extensively in my Why Python post a couple of years back.

But to simplify,
  • Python has a easy learning curve and is a very powerful general-purpose programming language and is worth the investment, IMHO. The knowledge and skills that one gains learning python, is transferable to many other applications and environments. For these reasons it is easier to train the existing team members on computer programming using python than C# which has a much steeper learning curve.
  • The development workflow for python on Revit doesn’t take as much time as C# since python is an interpreted language and does not need compilation. Developer can test the tools in-place without reloading Revit. Python basically acts as the scripting language for Revit.

Who are the users of pyRevit? What is your target audience?

Anyone interested to develop for Revit plus everyone else that just need a decent set of tools to solve annoying everyday issues.

We found a released app that was built on pyRevit, pyRevitMEP. Are there any others that we should be aware of?

There are a couple of extensions built for pyRevit and they are all free and installable through pyRevit’s extension manager. There are also more extensions built for pyRevit that are used internally by companies who developed them and they are not publicly available. pyRevit documentation has instructions on how to make the extensions publicly available by adding them to the pyRevit extensions list.

You’ve been on a swift pace for releases. What are your future plans for pyRevit?

pyRevit’s major version number, currently 4, is really the number of times that I have re-written pyRevit’s core from scratch. Currently I don’t have any plans to move to version 5 since the current core is fairly stable and going to 5 would require a major innovation or change in the core. Other than that, me and my team, still use pyRevit on a daily basis and I will keep adding tools for the foreseeable future. The top three goals for the near future are to finish the documentation, incorporate localization, and to build a unit testing framework that helps avoiding development bugs. The community support is a a major factor is keeping pyRevit open, tested, and available to everyone.

A huge “Thank you” to all pyRevit supporters and patrons. You all help me stay positive and moving forward.

Thank you for your time Ehsan!

No comments: