Most simulation software is organized in 3 main sections:

Assembler follows this threefold organization (setup/simulate/post-process), which is typical also of plugins such as Kangaroo and Karamba for Grasshopper.

Assembler Diagram_Notion.png

A typical Grasshopper definition thus requires such organization, shared also by all example files:

00 - setup

This section prepares the assets used in the simulation:

In the most basic setting, you will only need one or more AssemblyObjects kinds and their relative Heuristic rules (which are automatically generated).

01 - simulate

Simulate the Assemblage growth using the Assembler Engine.

02 - analyze/post-process

Analyze results and post-process the resulting Assemblage, displaying geometries (Collision Meshes and/or associated XData), analyzing connectivity and operating using contextual information in the Assemblage (ex. selective placement: place envelope shading elements only on vertical surfaces facing south, place stairs in a selected volume, etc.)