[CaseStudy] pyRevit - A welcoming environment for hackers

A forum for research and development of the user interface of FreeCAD

Moderator: agryson

User avatar
Cyril
Posts: 99
Joined: Wed Aug 23, 2017 5:04 pm
Location: Geneva (Switzerland)
Contact:

[CaseStudy] pyRevit - A welcoming environment for hackers

Postby Cyril » Sun Apr 05, 2020 4:04 pm

Hi,

Wanted to point out some qualities of pyRevit which is in my opinion very welcoming for hackers. You can concentrate on the tools/function you want/need to create. Making an UI for basic stuffs is piece of cake. The goal is only to share some UI/UX inspirations from elsewhere.

pyRevit is an open source (GPL3) addin for Revit (proprietary BIM software). I will not discuss about Revit but about what pyRevit creator Ehsan Iran-Nejad brings into it. It was made after RevitPythonShell the first interactive python shell available in Revit by Daren Thomas.

What makes pyRevit great :
  1. No need to restart Revit to take code changes in account. Only need to reload pyRevit within Revit to take UI changes in account. This let you use any external text editor or IDE and see the result immediately.
  2. Easy to create and manage tools/commands including icons, arrangement and translation
  3. Easy to explore : Alt + Click on a tool brings you to the source code
  4. Debug mode by Ctrl + Click on a tool which active log on debug level and more. You can also manage what happen in this mode (eg. activate a local or remote debugger).
  5. Many nice and well made basic inputs and outputs
  6. Easy doc with embeddable image or video in it
  7. Well made documentation
Video demo (sorry about sound I forgot a filter and some other settings. Also about some rough cuts, I tried to make not too long without having to record it again) :
phpBB [video]


pyRevit source code
Developpers doc
Effective Inputs page
Effective outputs page
pyRevit youtube channel

In my opinion making a more attractive UI/UX is not a waste of time for core developers. If you attract hackers you’ll get some nice tools you’d never thought off (as you do now but shorter time you need to get into it and develop the further people will go). Another for example by Gui Talarico : revitapidocs.com which is a great tools to search into Revit API. Not sure if I am clear about the point I would like to demonstrate.

Side note : some other stuff are I think related to .Net. You can subclass or use methods of any C++ class in python, C# or any .Net supported language. In FreeCAD the inability to subclass a C++ class, or use its methods as is without a special python interface which doesn’t look like the C++ one is very disturbing for me.
I blog about HVAC / BIM / Energy : pythoncvc.net. If you like you can follow the RSS feed.
User avatar
Kunda1
Posts: 7546
Joined: Thu Jan 05, 2017 9:03 pm

Re: [CaseStudy] pyRevit - A welcoming environment for hackers

Postby Kunda1 » Sun Apr 05, 2020 9:30 pm

Thanks for this casestudy! I like how thorough you are (also with a previous thread showing how to use work with FreeCAD 'remotely') These are all very valid pain points. I've tried to do some hack on the CLI interface of FC and it's still leaves a lot to be desired. Hopefully this discussion will spur some development in this direction. Honestly, if we get it comprehensive enough, we could write up a proposal for the next GSoC and see if anyone is interested in mentoring.
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
User avatar
Cyril
Posts: 99
Joined: Wed Aug 23, 2017 5:04 pm
Location: Geneva (Switzerland)
Contact:

Re: [CaseStudy] pyRevit - A welcoming environment for hackers

Postby Cyril » Mon Apr 06, 2020 4:57 pm

Kunda1 wrote:
Sun Apr 05, 2020 9:30 pm
Thanks for this casestudy! I like how thorough you are (also with a previous thread showing how to use work with FreeCAD 'remotely')
Thanks a lot Kunda1. I really appreciate (and I learned a new word: «thorough» :lol:).
Kunda1 wrote:
Sun Apr 05, 2020 9:30 pm
These are all very valid pain points. I've tried to do some hack on the CLI interface of FC and it's still leaves a lot to be desired. Hopefully this discussion will spur some development in this direction. Honestly, if we get it comprehensive enough, we could write up a proposal for the next GSoC and see if anyone is interested in mentoring.
I am not very aware of the GSoC process. I only know that people are able to work on some functionalities thanks to this, that some people are mentoring others, and that it is a yearly meeting for Yorik. I'll try to find some info to understand what it is exactly and how it works.
I blog about HVAC / BIM / Energy : pythoncvc.net. If you like you can follow the RSS feed.