Course curriculum

    1. May 5 - Rhino 3D | Intro to programming

    2. May 13 - Rhino 3D | Data structures

    3. May 19 - Rhino 3D | Intro to the Rhino API

    4. May 25 - Rhino 3D | Hands-on theory

    5. June 2 - Rhino 3D | Building your first plugin

About this course

  • 5 lessons

Register for the course

Includes live webinar access, recordings and example files

In this course you will start from a beginner level of knowledge in programming to an intermediate level. The course will dive into the Rhino API through C# in Grasshopper providing the building blocks for advanced workflows.

Description

Rhino/Grasshopper C# Programming: Beginner Course

  • Intro to programming in a general sense: data types, variables, constants, control flow, etc.

  • Intro to data structures: what are data structures? C# data structures, Grasshopper/Rhino3d data structures.

  • Intro to RhinoCommon: what’s an API? How to navigate the documentation. Using basic commands.

  • Hands on: algorithmic complexity/optimization, translating pseudo code to code, concurrency.

  • Student project: pick your poison.


Rhino/Grasshopper C# Programming: Intermediate Course

  • Building a C# plugin for Grasshopper.

  • Complexity in simplicity: chaos theory, fractals, IFS (Iterated Function Systems).

  • Simulation: basic physics recap, methods of integration, visualization.

  • GPGPU: fragment, vertex and compute shaders, OpenCL.

  • Student project: pick your poison.



In this course you will start from a beginner level of knowledge in programming to an intermediate level. You will learn the basics of programming from a practical point of view in which abstract concepts will be grounded into problems that are usually seen in the industry.

 

The course will dive into interacting with the Rhino API through C# in Grasshopper, allowing the problems to have a 3D/2D geometrical sense in which abstract concepts can be literally materialized. The choice of software is given thanks to the easy beginner level needed to get into computational design while also providing the building blocks for advanced workflows. No longer will existing technology be a factor for not being able to create amazing stuff. Felipe Gutiérrez, graphics engineer will lead the course maintaining a back and forth interaction with students providing and receiving feedback for hands-on projects created during the course.

 

Topics include:

 

  • The C# Grasshopper editor.

  • The Rhino geometry engine: RhinoCommon API.

  • C# basic concepts.

  • Geometrical operations using the Rhino API.

  • Creating complex objects from basic rules.

  • Shaders.


After taking this course you will be able to express your thoughts in a mathematical/programmatical manner that will increase your ability to solve complex problems not only by being able to translate some steps into computer code, but to think in a structured way that will benefit how you approach problem solving.



About the Instructor 


Felipe Gutiérrez Duque is a software/graphics engineer. Like a true engineer, he likes pulling things apart to see how they work. His passion is bridging the gap between different disciplines through computers to bridge the gap between art, design and engineering.

Outline

Introduction to programming

  • Data types
  • Variables
  • Constants
  • Control flow

Data structures

  • What is a data structure?
  • Why should I care
  • C# data structures
  • Grasshopper data structures

Introduction to the Rhino API

  • Learning to explore the documentation
  • Overview of the ObjectedOrientedProgramming paradigm
  • Using the API as an engine for simple geometric operations

Hands-on theory

  • Time complexity
  • Pseudo code
  • Concurrency
  • Parallel programming

Building the first plugin

  • What is an interpreted programming language?
  • What is a compiled programming language?
  • Why should I care.
  • Porting our interpreted examples into our first shippable plugin!

Complexity in simplicity

  • Chaos theory
  • Fractals
  • Iterated Function Systems

Is reality a simulation?

  • Quick physics recap
  • Methods of integration
  • Build your first physics simulation
  • Using meshes to be able to visualize 2D/2.5D simulations

GPU

  • What is a GPU?
  • OK that's parallel so what
  • Fragment/Vertex shader programming
  • OpenCL

Register for the course

Includes live webinar access, recordings and example files

In this course you will start from a beginner level of knowledge in programming to an intermediate level. The course will dive into the Rhino API through C# in Grasshopper providing the building blocks for advanced workflows.