I’m very happy that the committee decided to have a coding class this year.
![](https://biltacademy.org/wp-content/uploads/2019/06/gif_temp-1.gif)
The mentor of this workshop will be*drum roll folks*..
Frederic Beaupere
Background
Frederic Beaupere is an architect working at Herzog de Meuron since 2012, where he joined the Digital Technologies Group team, working as a BIM Manager. Beside the usual tasks like setup, training and support, he enjoys helping teams with Python scripts on all kinds of tasks. Before joining HdM in Basel, Switzerland, he worked at various offices in Hamburg and Berlin: Laura Jahnke Architekten, Zaha Hadid and Barkow Leibinger, after his diploma at TU Kaiserslautern. He enjoys writing Python both at work and at home.
Motivation
“Standing on the shoulders of giants” is a phrase you can often hear in talks in the Python community. To me this also seems the perfect fit to describe my motivation to run a Python workshop at BILT Academy: Without all these numerous smart people writing Python, pyRevit, and RevitPythonShell, I would not be able to give a Python workshop. So in turn I think it is only fair to contribute back with my humble share, and hope this helps with open-source and collaboration.
Key Learning Objectives
We go through the steps of implementing a pyRevit/RevitPyhtonShell script as we would in the office. These are:
- Python Basics Intro
- Write Python Script in RevitPythonShell
- Port Script to pyRevit
Short Q&A
How and when did you code for the first time, especially with python?
The first time I remember I ever coded something useful, was during university
with autohotkey: I was so annoyed by my scanner driver having to set my preferred settings and open the scan page dialog for each single page, that I created a little helper script that would keep scanning pages with my preferred settings as long as caps lock was active.
Probably one of the first things I’ve written in Python was about 3 or 4 years
ago, when I wrote a little helper, to fix the PDF bill file naming of my telecom provider from “ebill.pdf” to the something like: “20160601_providername.pdf” from information inside the pdf and having it sorted directly from downloads into the correct directory. This is a very common pattern to me: I often start with some useful yet basic and simple script or pieces of logic, before I begin to write or assemble something larger.
How important is coding in the AEC industry?
As nowadays there is hardly any industry without interactions with computers,
I would say coding/scripting is a valuable skill for everybody.
More specifically: I would like to second what I already heard in a couple of coding podcast: Everyone should learn a little bit of coding – not to necessarily to become a professional programmer, but to amplify what they are already doing.
Especially for architects who are on the creative side of thing, I guess it should feel natural to rather create tools than just consuming what is given.
Why is coding fun to you?
To me coding is both a very creative, fun and useful process. Learning a general purpuse programming language which can be applied anywhere from data science to web or iot on any platform, helps with countless tasks and also makes work way more fun! Often enough a smoothly running program still feels like magic..
What is your favourite coding project?
There are actually already a couple of favourites, but I will name one here
that probably has the best visibility: “rvt_model_services” is an open-source Python project I started, to perform actions (mostly other scripts) on Revit models. The most common task is probably to run quality control and statistical checks on models on a scheduled basis. So it helps to see growth and detect
abberations in models, but as it runs fully automatic, it does not create additional tasks for me, regarding the checks. (Apart from hooking it up to
the system once) Besides this useful functionality, it also informs our teams
via email and chat in case of model corruption so that our maximum potential
rollback for broken models time is reduced. (which obviously saves nerves and
money especially in big projects)
link to the repo