Results 1 to 8 of 8

Thread: Python: Why learn it?

  1.    #1
    Junior Member
    Join Date
    August 1, 2018
    Location
    Wenatchee, Washington State
    Posts
    8
    Current Local Time
    07:16 AM

    Not allowed! Not allowed!

    Python: Why learn it?

    TLDR: Who should learn Python, and who will not benefit much from learning it?

    I'm on the fence about learning Python. Not long ago I jumped into the camp of Dynamo enthusiasts, though I am still certainly an amateur with it, and naturally I've come across many conversations where Python is a central theme. These focus on what a person can do with Python, but I want to take a step back and ask why I might learn Python. Another way of asking this is "Who should learn Python and who should not?" For example, I am working in a small architecture firm and working toward becoming a licensed architect. I use Revit daily and am sold on learning it as well as I can, and now am also eager to see what Dynamo can offer to make my workflow even more efficient and smooth. I am the most experienced Revit user in my firm and consequently am the point person for Revit questions from my coworkers. In short, I am two layers deep in digital tools and am my office's personified "Revit for Dummies", and am wondering: for whom is it worthwhile to dive to a third layer, and for whom is this a deviation toward career goals?
    Maybe another way to think about this is asking what are the benefits of learning Python that a non-Python user does not reap?

  2.    #2
    Moderator Robin Deurloo's Avatar
    Join Date
    July 7, 2011
    Location
    Rotterdam, Holland
    Posts
    1,939
    Current Local Time
    04:16 PM

    2 Not allowed! Not allowed!
    I have not jumped into Python myself yet, but do use Dynamo for my work.
    So far most things I want to automate I can do with just Dynamo and that works well. With Python you can do more, get too more stuff in the API, do things quicker and simpler (if you know how to code).

    So who should learn it? I think people that use Dynamo and run into things they can't do with just Dynamo and are interested to learn more and dig into that 3th layer as you say.

  3.    #3
    Junior Member
    Join Date
    August 1, 2018
    Location
    Wenatchee, Washington State
    Posts
    8
    Current Local Time
    07:16 AM

    Not allowed! Not allowed!
    Thanks for your input! That makes sense, I'll become more familiar with Dynamo and will, as time goes on, find its limits, at which time I'll likely have a better idea if learning Python is right for me.

    Any other thoughts, anyone?

  4.    #4
    Member kraftwerk's Avatar
    Join Date
    November 1, 2012
    Location
    St. Louis, MO
    Posts
    129
    Current Local Time
    09:16 AM

    1 Not allowed! Not allowed!
    I would agree with Robin. For the most part, packages that are available in the package manager get what most people need to be able to use Dynamo. Python comes in where you want access to something in the API (which means you've already researched something that you know the API can do and you do not have a node that completes that task). Python provides this access without having to write your own Zero-Touch nodes, which is a long process itself, but allows you to start getting your feet wet with the Revit API in a .Net environment. From there, you can then start migrating over to writing your own Revit Addin, if that's where you want your career to go.

    As for another one of your questions, "Who will not benefit from learning it?" There is not a terribly high return on the investment, though I would argue there is not much of an investment to picking up python. So, if you are a person who is already working beyond 40 hours a week being an architect and you want to continue to be an architect, then there is probably not a lot of value for that person. Someone who wants to create Dynamo graphs and build processes to benefit their firms are going to find that value.

  5.    #5
    Junior Member
    Join Date
    August 1, 2018
    Location
    Wenatchee, Washington State
    Posts
    8
    Current Local Time
    07:16 AM

    Not allowed! Not allowed!
    It sounds like learning Python is more beneficial for people who enjoy improving the workflow and tools available for themselves and others in the industry, and who are less inclined toward directly managing the designs of buildings. In other words, learning Python helps BIM Managers, consultants and add-in sellers more than it does Principal Architects. Would you agree with this, kraftwerk and Robin?

    Quote Originally Posted by kraftwerk View Post
    There is not a terribly high return on the investment, though I would argue there is not much of an investment to picking up python.
    That's news to me, my impressions from looking at Python scripts is that the language would take a significant amount of time (a large investment, in your words) to learn. Is picking up Python quickly dependent on someone already having learned another coding language, such as C# or .Net? Or, since in your opinion "there is not much of an investment to picking up Python," could someone like me with no experience in coding languages learn Python in, say, a matter of weeks, if I spent an hour or so a day reading and watching videos about it?
    Last edited by redrunner26; April 21st, 2021 at 03:06 PM.

  6.    #6
    Member kraftwerk's Avatar
    Join Date
    November 1, 2012
    Location
    St. Louis, MO
    Posts
    129
    Current Local Time
    09:16 AM

    Not allowed! Not allowed!
    Quote Originally Posted by redrunner26 View Post
    It sounds like learning Python is more beneficial for people who enjoy improving the workflow and tools available for themselves and others in the industry, and who are less inclined toward directly managing the designs of buildings. In other words, learning Python helps BIM Managers, consultants and add-in sellers more than it does Principal Architects.
    In my opinion, you are still going to need someone in a firm to setup and establish graphs for those that are principals to use. If you are a BIM Manager, there is going to be benefit to you learning Python or any coding language. I would always urge someone, even a Project Architect, Interior Designer, Intern, to continue to polish your craft. Always be improving yourself. If that is going to trade shows just to learn about new products, or taking an online class about Fire Rated Door assemblies, etc., continue to be a life-long learner. I feel it better helps you to stay in a job if things ever get rough. You as an Architect that knows Dynamo, Revit, Enscape, etc. vs. the Architect that knows CAD really well, positions the first to be able to produce a product they can show a client and respond to what the market wants in today's landscape.

    As a BIM Manager, if you feel that Python is a beneficial thing to learn for your career, I would say go for it! I believe it will be beneficial to learn as well. This get you in to a better mindset to start to understand how to use and abuse Revit and gets you to thinking how coders have to think to bring you that product called Revit. Plus, you can begin thinking about larger concepts, such as Hypar and Speckle (which is where my mind is at these days). But, I could never get to those things without first learning the basics of Dynamo (list management), Python, and (ultimately for me) c#.

    Quote Originally Posted by redrunner26 View Post
    ... my impressions from looking at Python scripts is that the language would take a significant amount of time (a large investment, in your words) to learn. Is picking up Python quickly dependent on someone already having learned another coding language, such as C# or .Net?
    I should mention that I learned c# long before Python. And I'm not great at either one. So I spent a lot more time learning about the Revit API than I spent trying to understand C# or python. Because I wanted both of those languages to do something for me, i.e. manipulate Revit. Same with Dynamo. They are just a means to an end of getting them to manipulate Revit. So I never thought I needed to learn them well. I'm not going to be a professional coder. If it works, (guess what) it works.

    I think picking up Python would not take a tremendous amount of effort. The reason I said that is because it will take a lot, lot longer to learn what Revit wants from the API than it ever will of getting the syntax right in Python. That's what will take a long time.

  7.    #7
    Junior Member
    Join Date
    August 1, 2018
    Location
    Wenatchee, Washington State
    Posts
    8
    Current Local Time
    07:16 AM

    Not allowed! Not allowed!
    Thanks for the detailed response, that is quite helpful. I'll weigh these as I consider learning Python, the Revit API, and other specific tools of the trade.

  8.    #8
    Moderator Robin Deurloo's Avatar
    Join Date
    July 7, 2011
    Location
    Rotterdam, Holland
    Posts
    1,939
    Current Local Time
    04:16 PM

    1 Not allowed! Not allowed!
    Quote Originally Posted by redrunner26 View Post
    It sounds like learning Python is more beneficial for people who enjoy improving the workflow and tools available for themselves and others in the industry, and who are less inclined toward directly managing the designs of buildings. In other words, learning Python helps BIM Managers, consultants and add-in sellers more than it does Principal Architects. Would you agree with this, kraftwerk and Robin?
    To be honest for me there are 2 kinds of Dynamo users. The ones that process data and improve workflow and those that use Dynamo to create a building. I'm one in the first group, so I manipulate geometry that is already there, by changing materials for example of I shift around and manipulate data in a project or create things like Views and Sheets.

    As I do not know Python I'm not really sure if it is useful equally for both those groups of Dynamo users, but I do know that I see people use Dynamo and Python that are 'just' Revit modelers like me and want there life to be easier and less boring, that is why I use Dynamo too most of the time (create x amount of views and sheets is pretty boring if you have to do that by hand).

    I think BIM managers mostly use Dynamo to get stuff out of the model and check things inside the model and with Python you could do more complicated tasks I think (again not really sure).

    For consultants and add-in seller I think Python might actually be to 'basic' and they go with C# for example.

    And then there are people like John Pierson that use a lot of Python to build there Dynamo Nodes and Ehsan Iran-Nejad also uses Python for the pyRevit add-in (guessing going by the name).

Similar Threads

  1. Lineweights - how do you learn what looks right?
    By Kate in forum Architecture and General Revit Questions
    Replies: 17
    Last Post: August 22nd, 2018, 05:54 PM
  2. Replies: 8
    Last Post: April 30th, 2018, 05:00 PM
  3. What's the best way to learn revit
    By thomasw in forum Tutorials, Tips & Tricks
    Replies: 17
    Last Post: May 25th, 2017, 10:46 PM
  4. What Revit Wants: Learn Python Scripting in Revit
    By luke.johnson in forum Blog Feeds
    Replies: 0
    Last Post: September 29th, 2015, 12:15 AM
  5. How Did You Learn Revit
    By domsib in forum MEP - General
    Replies: 18
    Last Post: November 19th, 2012, 10:32 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •