📐

Beginner Grasshopper Course Notes

Jun 30, 2024

Beginner Grasshopper Course Notes

Introduction

  • Learning Grasshopper: Two Waves
    1. Controlled and Structural Learning
      • Gain technical knowledge about tools.
      • Understand the computational design mindset.
    2. Learn by Making
      • Learn through projects and tutorials.
      • Struggle and search for solutions via Google and YouTube.
  • Course Goal: Get over the first wave, build a knowledge foundation.
  • Chapters for Refresher: Divided into chapters for easy reference.
  • Mindset: Grasshopper is about designing systems, not just shapes.

Course Chapters

Chapter 1: Introduction to Grasshopper

  • Starting Grasshopper
    • Launch via tool icon or command.
    • First launch presents a starter tutorial window.
    • Suggest keeping tutorial browser ticked for beginners.
  • User Interface
    • Understanding the ribbon, tabs, and modes.
    • Descriptive icons and tabs based on functionality (Math, Surface, Intersections, etc.).
    • Add-ons and plugins enhance the base.
    • Using nodes to build scripts.
    • Creating the first node (example with addition).
    • Saving Grasshopper files.
    • Multiple files handling in Grasshopper.
    • Autosave feature.
    • Node operations (inputs, outputs, greyed/colored states).
    • Understanding nodes' color codes (white, orange, red, grey).
  • Important Tools
    • Creating panels to display values.
    • Connecting values between nodes.
    • Shift key to add multiple inputs.
    • Introduction to different types of nodes and changes they facilitate.
    • Accessing and using math formulas, surface tools, intersection tools, etc.
    • Example: Creating a circle with a defined center point and radius.

Chapter 2: Containers and Referencing

  • Types of Geometry Containers
    • Point, Curve, Surface, Mesh, SubD.
    • Geometry container for referencing all types.
  • Referencing Geometry/Meshes
    • Selecting appropriate containers based on the dimension and type.
    • Referencing geometry in grasshopper.
  • Primitives and Empty Containers
    • Understanding geometry types and operating logic.
    • Utility of parameters tab for operands.

Chapter 3: Simple/Basic Operations

  • Non-Geometric Operations
    • Addition, division, power with basic UI example.
  • Geometric Operations
    • Creating points and lines between points.
    • Example: Polyline, Nervs curve, intersection tabs.
    • Creating surface and extruding along axes.
    • Node interplay and visualization.

Chapter 4: Lists and Domains

  • Understanding Lists
    • Lists of items (example with Divide Curve).
    • Using panels to check lists and their points.
    • Creating geometry automatically from lists.
    • Random number generation and control.
  • Domains
    • Definition and construction of domains.
    • Mapping numbers with remap operation.
    • Examples with distance remapping and applying to geometry (circles).
    • Output values and directional vectors.

Chapter 5: Vectors and Planes

  • Vectors Basics
    • Creating and visualizing vectors using display tools.
    • Unit vectors, amplitude, and vector display nodes.
  • Planes Basics
    • Creating planes using reference points.
    • Example with standard/named planes.
    • Intersection of geometries (example with mesh plane intersection).

Chapter 6: Meshes

  • Introduction to Meshes
    • Mesh vertices, edges, faces.
  • Constructing Meshes
    • Examples with polygons and triangular faces.
    • Deconstructing meshes into vertices.
    • Measuring areas and volumes.
    • Boolean operations with meshes: difference, union, intersection.
  • Advanced Mesh Tools
    • Using tools like 'Quad Remesh' and 'SubD Tools'
    • Examples of surface fitting and simplification.
  • Generating Surfaces from Meshes
    • Tools like 'surface from points' and planar surfaces.
    • Example of defining geometry with evaluated points.

Chapter 7: NURBS Geometry

  • Introduction to NURBS
    • Differences from meshes, examples of infinite resolution.
  • Creating and Manipulating NURBS Surfaces
    • Tools and primitives for NURBS (boxes, spheres).
    • Boolean operations.
    • Iso trim, manipulation, and visualization.
  • Example Projects
    • Complex geometries and interpolation.
    • Generating structures/ facade systems using NURBS.

Chapter 8: SubD Geometry

  • Using SubD Tools
    • Introduction to SubD modeling and transition to NURBS.
    • Tools for mesh manipulation and subdivision.
    • Creating SubD forms and examples of geometry operations.

Chapter 9: Transform Tools

  • Translating, Moving, and Orienting Geometry
    • Commands for movement, rotation, scaling.
    • Using frames and anchor points for transformations.
    • Morphing and projection.

Chapter 10: Text Operations

  • Working with Text in Grasshopper
    • Manipulating text entities and strings.
    • Tools and operations for splitting, joining, and transforming text.
    • Practical examples of text-based parametric operations.

Chapter 11: Visualization

  • Introduction to Custom Previews
    • Tools for color and transparency.
    • Using gradient and text tag nodes.
    • Practical features for changing display settings and outputs.

Chapter 12: Fields

  • Creating Forces and Vectors in Fields
    • Point, line, and spin charges.
    • Evaluating fields using points and vectors.
    • Practical simulations of force fields and geometry transformations.

Chapter 13: Data Trees

  • Understanding Data Trees
    • Introduction to data structures in Grasshopper.
    • Flattening, grafting, simplifying, and reversing trees.
  • Data Operations
    • Using tools like flip matrix, combine, clean, and others for practical purposes.
  • Example Project
    • Practical usage in complex definitions, operation synthesis.

Chapter 14: Physics Simulations

  • Introduction to Kangaroo Plugin
    • Setting physics goals and simulation engines.
    • Creating tensile structures and mesh operations.
    • Practical simulations and force applications in geometry.

Chapter 15: Plugins and Extensions

  • Installing Plugins
    • Steps to install through Package Manager and food4rhino.
  • Commonly Used Plugins
    • Weaverbird, Cocoon, Animon tools and practical application.

Conclusion

  • Practical Applications and Further Learning
    • Recommendations for continuous learning and simple project execution.
    • Exploring community resources and example files for further mastery.

Additional Notes

  • Data Dams
    • Controlling heavy data flow in scripts for efficient processing.
  • Clustering and Grouping Nodes
    • Simplifying complex definitions by grouping nodes and creating reusable clusters.