Codes used in the Thesis sessions 2020.
Please note that this material is a compendium to in-person teaching, so, several implied instructions, premises and cautions given during the dat-to-day development have not been included. - tutor: Alessio Erioli
These are the required installations:
. Rhinoceros 3D v6 (includes Grasshopper)
. Visual Studio Community 2019 (install .NET desktop development workload)
. topmostviewport - a useful floating topmost window if you have a single screen
. Anemone
. Dendro
. Fattener - requires forum registration
. FileToScript2 - if you have an older Rhino SR and the .gha is not compatible you will have to compile it from Visual Studio (instructions are included)
. Human
. Impala
. Meshedit
. MeshTools - requires forum registration
. Plankton - read the "Using Plankton with Grasshopper" paragraph
. froGH 1.3 ALPHA - extract the froGH folder from the zip file and place it in the Grasshopper User Objects folder: %AppData%\Grasshopper\UserObjects
. Noises.dll - library with Simplex Noise generation functions, it can be used to embed Noise calculations (including Curl Noise, which is based on Simplex Noise) in a custom C# script.
Extract the .dll from the zip file and place it in the Grasshopper Libraries folder: %AppData%\Grasshopper\Libraries
Contains .gha assemblies and general purpose .gh definitions used in the workshop.
3Dpeople_20200120.3dm - 3D people as meshes in 3 different resolutions
base meshes.gh - reference mesh models that can be use in exercises
bitmaps in CS.gh - generate, load and save bitmaps from within C# components
Curl noise.gh - uses Noises.dll library to compute SimplexNoise and CurlNoise functions
Custom material preview.gh
Custom material preview.3dm
Use custom-generated materials in Grasshopper preview (works for Rhino rendered modes)
interpolate mesh data.gh - interpolate scalar and vector data while performing a Catmull-Clark subdivision of a mesh - sometimes Millipede can be slow on big geometries. This definition allows the use of a lower-resolution mesh for faster analysis and interpolate data to use on a high-res mesh
Isosurfacing - Dendro.gh - isosurfacing curves and meshes with Dendro plug-in
M00_Millipede FEM field.gh - simple use of Millipede Grasshopper plugin to generate a scalar and vector field of structural information over a FEM model of a mesh surface
M01_Millipede graphics generator.gh - generates and bakes geometry for 3 different diagrams of Millipede generated data
Millipede_data.ghdata - this file is a sample of how data is passed between M00 and M01
Symmetric noise - displace.gh - Computes Noise functions in a symmetric fashion along meshes and generates a displaced mesh accordingly
Util_Clipping plane - Turntable base.3dm
Util-01_clipping plane anim.gh
Util-02_turntable.gh
Util-03_view capture.gh
Util-04_Anemone run, turntable and capture.gh
These files are helpers to generate, respectively: an animation of a moving clipping plane (for a model tomography), a turntable of one or more geometries, capture a Rhino viewport from Grasshopper, and record an animation of an Anemone loop as it executes
Contains a bunch of customized Display Modes for Rhino 6 - they can be installed in Rhino from:
Tools > Options > View > Display Modes > Import
Contains reference definitions for the required Grasshopper knowledge to step beyond basics.
EXPL_00 - DataTrees.gh - Data Tree breakdown: structure, commands, navigation - anything you need to know to master Data Trees in Grasshopper.
Rhino files and Grasshopper definitions for basic Mesh modeling (low poly to subdivision techniques)
The codes are organized as follows:
The introduction to C# has been moved to a separated repo: intro to C# in Grasshopper
This folder contains some introductory iterative strategies developed with standard components + Anemone plug-in for a more intuitive approach
01-00_iterative strategies - intuition.gh - introduction to iterative strategies in Grasshopper
01-00-bis_gradient descent - intuition.gh - simple, geometry based gradient descent algorithm in Grasshopper
01-01_environment and field - intuition.gh - reading information from an environment/field
This folder contains Visual Studio Projects and related .gh files for the following examples:
AgentBodiesOnMesh - agent bodies interacting on a mesh surface
AgentBodiesVolumetric - agent bodies interacting in a volume
AgentSystemFlock - implementation of classic Craig Reynolds flocking model
GradientDescent - simple gradient descent algorithm on mesh (with mesh erosion)
MTSerialization - advantages of parallelization (of a for loop) and conversion to GH_Types to speed up execution
Stigmergy - example of stigmergy on Mesh, with evaporation and diffusion
This material is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.