Hi All,
I ran a short GHPython workshop at the AECtech+ event in Barcelona. I used this GitHub repository for sharing files with the workshop participants, and thought I’d share all the content here as well. Here is the workshop and content descriptions/links from the GitHub readme file:
Dynamically Drawing and Reacting to Things with GHPython
There is more to running GHPython components in SDK Mode than compiling plugins. We will demonstrate, explore, and combine these overlooked features that are enabled once you step out of procedural mode. This includes full access to the Rhino display pipeline, enabling custom 2D and 3D drawing features (e.g. double-sided materials and other methods not exposed in vanilla Grasshopper), drawing into/above screen space for developing legends and heads up displays, and subscribing to Rhino events for developing dynamic geometry pipelines and mouse interaction. Although still in flux, everything we learn should be directly applicable to the IronPython mode of the Rhino 8 script editor.
Slideshow and Exercises
I have prepared this 44 page PDF slideshow (mirror) and a collection of accompanying exercise files for our AECtech+ workshop at the McNeel Europe headquarters in Barcelona. You can click the green Code
button above and select Download Zip
if you want to download all the exercises at once (note: on GitHub).
Prerequisites
If you are unfamiliar or rusty with GHPython, I would suggest flipping through this 197 page PDF slideshow (mirror) and its accompanying exercises. I have been using these when teaching our in-house BIG Academy GHPython beginners course (note that it has been slightly redacted for confidentiality).
We used Rhino 7 for the workshop, but I think the files should work in Rhino 8 now. You might need to explicitly set the components to preview stuff for some of them though, see slideshow for details. Also, many thanks to McNeel Europe for hosting the workshops/dinner/drinks (@fraguada @pedrocortes @carlosperez) and TT CORE studio for the invitation/organising (@DavidMans)
Best,
Anders