Parametric Product Design Setup Guide¶
This guide covers setting up your computer for this class.
In this course you are free to use any kind of computer and operating system you wish as along as it can run the software listed. The course will be taught using the macOS based version of Rhino and Grasshopper. Currently, Rhino and Grasshopper for Windows is still an industry standard tool and many plugins only work on Windows. I don't anticipate needing many specialized plugins that are not yet macOS compatible but there are always exceptions.
Hardware¶
- A recent Apple Macbook (2013 and newer) with macOS Mojave (10.14) or Catalina (10.15) or a Windows 10 based system.
- At least 30 - 50 GB extra hard drive space to install software and work.
- At least 1 TB external / portable hard drive or USB drives to move files around and between computers as needed.
Software¶
This class will mainly use Rhino and Grasshopper but may end up using other types of design and engineering software. Some tools are essential and required to complete a task while other tools are based on personal preference and workflow. Access to the following software is recommended.
Required Software¶
- McNeel Rhinoceros 6 - Educational licenses available at CU Bookstore.
- Adobe Creative Cloud
- Formlabs Preform - Formlabs slicer
- Markforged - eiger.io is the cloud based slicer/print controller for Markforged machines.
- Bantam Tools - Controller for Bantam Desktop CNC Machine
- Ultimaker Cura - Ultimaker slicer
- Autodesk Fusion 360 - Useful for both CAD and CAM workflows.
Additional Software¶
- Night Owl - Nice free utility to manage which apps are in light or dark mode.
- f.lux - A utility that gives you control of your screen temp.
- Visual Studio Community 2019 for Mac or Visual Studio 2019 Community for Windows
- Visual Studio Code (aka VSCode)
- Unity 2019.2 (Installed with Unity Hub)
- Xcode 11 (macOS only)
- Processing
- Blender
- Adobe Dimension
- Autodesk Maya
- Autodesk Mudbox
- ZBrush
- Substance Suite
- Meshlab
- Meshmixer
- Voxelizer
Learning Resources¶
Rhino¶
- Rhino for Mac - Good list of topics to better understand similarities and differences between Mac and Windows Rhino versions.
- Rhino for Mac Forum
- Rhino for Mac Users Guide
- Learning Rhino for Mac - Linkedin Learning Course on Rhino 5 for Mac
- Rhino 6 Command Quick Reference
- Rhino 6 for Windows commands not in Rhino 6 for Mac
Grasshopper¶
- Grasshopper Components Reference
- The Grasshopper Primer - It's a little dated and doesn't cover Rhino / Grasshopper for Mac. The concepts all still apply though.
- AAD Algorithms-Aided Design: Parametric Strategies using Grasshopper by Arturo Tedeschi - A good book from 2014 that covers how to use algorithms for designing parametric systems.
- Visual Programming in Rhino3D with Grasshopper by Luis E. Fraguada - This is a great intro and overview of Grasshopper. About 1/2 of the content is similar to what you get from the Grasshopper Primer.
- Essential Algorithms and Data Structures - A brand new free book from McNeel that introduces Computational Design in Grasshopper.
- Parametric House - A website with many tutorials covering a variety of topics in parametric design. Most of these tutorials are technique or case study oriented and typically work with a set of built in or library based components.
- Explode Breps @ UVA - A collection of definitions spanning various techniques used in architectural design.
- Nature of Code for Python in Grasshopper - A list of tutorials showing implementations of Nature of Code algorithms in Grasshopper with Python.
Parametric Design¶
- Elements of Parametric Design - A foundational book covering the parametric design field and applications.
Math & Geometry¶
Computers & Code¶
Creative Coding¶
- Learning Processing
- Processing: A Programming Handbook for Visual Designers and Artists
- The Nature of Code: Simulating Natural Systems with Processing
- Generative Gestaltung
- The Coding Train
Programming¶
It's not critical to understand C# or Python to use Grasshopper. It does however offer advantages for designing new functionality through built-in code based scripting components (GHPython Script, C# Script) and through developing custom components (plugins).