Mentor Announcement #1 Summit 2019

I’m very happy that the committee decided to have a coding class this year.

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

Schedules and Dynamo

Hello everyone,

We have been working on a large-scale Project so far, and I would like to share with you and highlight a very important tool we can use in our workflows to make our work much more clear, fast and consistent:

“Using Schedules with Dynamo”

Especially in large scale projects like multi-purpose buildings, airports, etc, it’s inevitable that there will be lots of model mistakes and corrections, area tags missing, unplaced areas and lots of unestimated things. We shouldn’t forget the fact that, in Revit, everything is processed with data. So every component includes some information. Let’s do a quick example and see how schedules and Dynamo can make our work much faster than the normal way:

Doing Lighting Analysis:

(This is the sample model from Revit)

Let’s create a Schedule that shows our rooms and their information:

As we can see in the schedules, there are some rooms which are unplaced. Let’s imagine that we are designing and modelling a complex and there are hundreds of rooms in the Project. Would fixing this problem one by one be a reasonable way?

Let’s see the Dynamo script:

As we can see, we get all the rooms and filter them very easily. After that, we delete all the unplaced rooms automatically. Let’s go one step ahead.

In lighting analysis with Insight, let’s say that we want to exclude rooms like toilets, corridors, storages etc. Let’s go to Schedule which is automatically created by Revit when using Insight:

In large-scale projects, there will be lots of rooms like this. Let’s dive into Dynamo to automate this process again:

After running Dynamo, we can see the updates in our Schedule:

All in all, the main idea is, we can see schedules where every dirty laundry is exposed, after all, cleaned and folded by Dynamo 🙂