Grasshopper, a parametric modeling platform for Rhino 3D, has been providing users with opportunities for direct involvement in model construction platforms and collaborative graphic construction databases since 2008. This has made the use of Rhino no longer limited to model construction. We can see the extensive applications of GH today, from simulations of structures, sunlight, and material behavior, to even animation production, machine learning, machine control, and operational assistance. This is also the strength of Grasshopper, which can not only cross workflow but also cross-domain integration. In this course, we hope to lead attendees to explore the wider application of parametric design through the teaching of Grasshopper C# programming language. We will introduce the logic of different procedural syntax in Grasshopper to enable students to understand: 1. How to explore the possibilities of design through programming, 2. What role can programming play in the design process besides modeling, 3. How to use programming to assist in complex operations, 4. How to automate repetitive operations and create reusable functions. Attendees will also learn practical skills such as the use of meta data, flow assistance through GUI or system prompts, and more. Finally, Attendees will create a simple GH plugin and learn how to create modeling support tools. The course arrangement also takes into account both design and process applications, making it a rare and exciting opportunity!
One of the most common challenges that designers face when learning a programming language is the unfamiliar syntax and structure. Programmers use specific syntax and rules to write code, which can be very different from the visual and intuitive processes used in design. Learning to read and write code can be a steep learning curve, and it requires designers to develop a new way of thinking and problem-solving. However, with the right guidance and resources, designers can quickly overcome this challenge and learn to leverage programming to enhance their work.
Join us to explore the answers to these common questions:
A. What is the value of learning programming for a designer with existing design skills?
B. In what ways can programming enhance a designer’s work?
C. What are the various roles that programming can play in the design process?
D. Which programming languages are important for designers to learn?
E. How does Grasshopper C# differ from C#?
F. Can programming be used to automate repetitive tasks in design?
G. How can designers integrate programming into their workflow effectively?
H. What are some examples of design projects that have been enhanced by programming?
I. What are some common challenges designers might face when learning programming?
J. How can I customize my Grasshopper environment to suit my needs?
K. How can Rhino users who don’t know Grasshopper benefit from it?
L. What information is available to access from the Rhino/Grasshopper document in C#?
In this course, participants will gain a fundamental understanding of how programming can enhance geometric creation, workflow collaboration, and the creation of custom functions to avoid repetitive tasks. They will learn the distinctions between C# and Grasshopper C#, how to read the Rhinocommon API, and how to use programming to assist in complex operations. Additionally, they will create a simple GH plugin and develop modeling support tools. This course is designed to help designers expand their programming language skills and push design boundaries by providing wider access to third-party libraries.
Ping-Hsiang Chen is a highly skilled computational design expert with more than 10 years of experience. He is a UK registered architect and chartered member of RIBA, currently working as a Senior Architect at Zaha Hadid Architects. Previously, he held key positions at Applied Research Team in KPF and Mamou-Mani Architects, where he was responsible for providing geometric and architectural solutions. In addition, he is the founder of GrasshopperCourse.com, a leading consultancy that offers comprehensive software development and training services to top companies in various design disciplines including McNeel Europe.
a. Introduction to C#
b. Variable and Operators
c. If Else Statement
d. For Loop
f. GH Data Types
a. List and Tree
b. NodeInCode Introduction
c. Code Cluster
d. Code Block Assembly
e. Geometry Assembly
a. GH / Rhino Document
b. Rhino Layer
c. Property Modification
d. Read Objects from Windows
e. Find Objects in RhinoDoc
a. Persistent Data
b. Component GUI Modification
c. Introduction to Visual Studio
d. GH Plug-in Template
e. Create Custom Plug-in
f. Deploy and Test