nursery

Grasshopper Nursery

Nursery is a behavioural design framework for Grasshopper. It consists of a set of tools for creating Agents and Behaviours and executing these behaviours on a multithreaded simulation core.

Related Lessons & Examples

Ceiling Lamp Particles
Ceiling Lamp Particles
In this Grasshopper example file you can use the Culebra plugin to simulate the flocking behaviour o...
Decorative Room Divider
In this Grasshopper example file you can use the Nursery plugin to simulate a series of random field...
Nuclei Particles
Field Carving
In this Grasshopper example file, You can carve a field based pattern on a mesh using the Nursery an...
Field Dome
Field Dome
In this Grasshopper example file, you can create a parametric field based pattern on a dome using th...
Field on Sphere
In this Grasshopper example file You can use the Nursery plugin to simulate a set of fields on a mes...
Flocked Floor Lamp
Flocked Floor Lamp
In this grasshopper example file you can use the agent-based modeling plug-in “culebra” to run a flo...
Force Field Lines
Force Field Lines
In this Grasshopper example file you can use the field component to design a parametric 2D pattern.
Geometry Slide
Geometry Slide
In this grasshopper definition we have used the Boid plugin and Nursery plugin combined to simulate...
John Lewis Facade
John Lewis Facade
In this Grasshopper Example File, you ca model a parametric facade similar to the John Lewis center.
Kangaroo Tensile Structure
Kangaroo Tensile Structure
In this Grasshopper example file you can use the Kangaroo 2 Plugin to model a tensile mesh by moving...
Magnetic Field Facade
In this Rhino Grasshopper example file, You can design a parametric facade by defining force fields....
Mesh force field
Mesh force field
In this grasshopper definition we have used a mesh to create a force field using the Nursery plugin.
Mesh Noise Carving
In this Grasshopper example file you can create a Noise-based parametric mesh sphere using the Nurse...
Minimal Surface from Agents
Minimal Surface from Agents
In this grasshopper example file you can use the Culebra plug-in to generate minimal surfaces.
Noise Force Field
Noise Force Field
In this grasshopper definition, we will use the Nursery plugin to simulate a force field which is ac...
Nursery Polar Fields
Nursery Polar Fields
In this Grasshopper example file you can use the Nursery plugin to generate and simulate a set of po...
Plane Field
In this grasshopper definition, you can use the Nursery plugin to simulate a parametric freeform vec...
Polar Force Fields
Polar Force Fields
In This grasshopper example file you can simulate a spinning field on a series of random points in a...
Retractable Shade
Retractable Shade
In this Grasshopper example file you can use the Minimal Surface Creator Plugin to model a retractab...
Spin Force Simulation
In this grasshopper example file you can simulate a spin force by defining a polar field.
tOpos Building Slabs
tOpos Building Slabs
In this Grasshopper example file you can use the tOpos plugin to generate an optimized central struc...
Voronoi Surface
Voronoi Surface
In this Grasshopper example file you can use the native Grasshopper components combined with the Puf...

Nursery Plugin

Nursery is a behavioural design framework for Grasshopper. It consists of a set of tools for creating Agents and Behaviours and executing these behaviours on a multithreaded simulation core. Implementations of distance fields, spatial trees and voxel environments are also provided to reduce the need for extensive coding on behalf of users wishing to work with common behavioural models such as cellular automata or boid systems. Nursery is built on a set of generic interfaces and can be used for almost any agent-based modelling. It is intended for users with some coding or agent based modelling experience.
INSTALLATION

——————————————————-

Download the Nursery Zip file
Right-click the zip file and choose properties. Then click ‘Unblock’.
Unzip them to your %AppData%/Grasshopper/Libraries folder
Restart Rhino + GH

RUNNING EXAMPLES

——————————————————-

The examples are numbered to construct a tutorial series through the Nursery framework and build in complexity. Some of the examples directly reference plugin dll files from within grasshopper c# components. These examples will prompt you to relocate these files on your local machine. To run simulation examples, double click the timer. You should be able to make changes to most things while the simulation is running (e.g. behaviour parameters, input geometry) though the plugin is in development and will occasionally hard crash. Save your work often!

DOCUMENTATION AND SOURCE(WIP)

——————————————————-

Autogenerated documentation of the project can be found in the Documentation/html folder. The documentation provides an overview of the core framework geometry, interfaces, abstract implementations and pre-written behaviours.

Source code is on BitBucket – https://bitbucket.org/gwyllo/slowrobotics/

CREDITS

——————————————————-

Development:
Gwyllim Jahn

Core Nursery geometry is built on a port of Karsten Schmidt’s Toxiclibs (toxiclibs.org). Cam Newnham (camnewnham.com) provided useful performance improvements.

Icons:
Chris Ferris, Junru Tao

Plugin Development supported by d___lab, RMIT Architecture and Urban Design

 

UPDATES

——————————————————-

Updates since 0.63
MeshToGraph parents particles
Preview uses Plane Radius
Cast Vec3D to Plane3D
Added extension methods for SRParticle
SRParticle casts to point3d and vector3d
ISearchable has new Collection property

Updates since 0.62
Springs use particle positions to render
EdgeToGraph parents particles

Updates since 0.60
Attract and Repel now work with Plane3d neighbours

Updates since 0.58
Added modify particles component
Fixed bug in PriorityQueue
Added Edge Bundling example

Updates since 0.57:
Fixed a bug in attract component that was setting initial strength to 0
Added a limit parameter to max number of neighbours returned by search behaviour
Added a rest length scale for springs

Updates since 0.56:

Fixed graph topology bug
Fixed bug where converting closed curves to a graph would create duplicate particles
Agentlist string description now outputs population count
Agent string description now outputs agent type