Skip to content

A toolkit for working with timber offcuts and reclaimed timber

License

Notifications You must be signed in to change notification settings

dominikreisach/Spruce-Beetle

Repository files navigation

logo

Spruce Beetle

A toolkit for designing with timber offcuts in Rhino/Grasshopper.

last update open issues license DOI


🪲 Contents

😲 About

SpruceBeetle is a plugin designed for use within the Rhino/Grasshopper environment that facilitates reusing and repurposing waste timber, specifically timber offcuts. Provided with dimensional data about the material, this plugin streamlines the process of integrating the reclaimed material into curve-based designs,accommodating both linear or double-curved forms efficiently. Furthermore, it generates dry timber joints between components and simplifies the creation of fabrication data. Notably, SpruceBeetle is material agnostic, making it adaptable for use with various types of materials.

⚙️ Installation

Using SpruceBeetle requires you to have a Rhino 7 or 8 installation with a valid license. SpruceBeetle works on both Windows and MacOS.

To install SpruceBeetle, you can either

  1. download the SpruceBeetle.zip folder under latest release, unpack it, and place the compiled SpruceBeetle.gha file and the CromulentBisgetti.ContainerPacking.dll file in your Components Folder for Grasshopper.

  2. download it via Rhino's Package Manager.

🦗 Grasshopper Components

🚧 Examples and Documentation

The following documentation is created with the files located under Documentation/Examples, i.e., sprucebeetle_examples.3dm and sprucebeetle_examples.gh.

Create Offcut Instances

Grasshopper canvas showing how to create offcut instances from data.

Exemplary Workflow Alignment

Grasshopper canvas showing an example alignment workflow.

Exemplary Workflow Bin-Packing

Grasshopper canvas showing an example workflow for 3D bin-packing.

Example Designs

Example designs.
Example designs.

♻️ Reproduce the Offcut Tales Demonstrator

A photograph of the Offcut Tales demonstrator.
Drawings of the Offcut Tales demonstrator.

All files to reproduce the Offcut Tales demonstrator are located under Documentation/Reproduce. These files include:

  1. A Rhino file with the geometric data: offcut_tales.3dm
  2. A plattform-independent file containing the geometric data: offcut_tales.obj
  3. A Grasshopper file with the script to produce the demonstrator: offcut_tales.gh
  4. The numerical data of all offcuts that were available in this research project: offcuts.csv

In the files offcut_tales.3dm and offcut_tales.obj, you will find the geometric data of the demonstrator as it was fabricated. If you want to use the offcut_tales.gh file that produced it, you have to provide the correct link to the offcuts.csv file in the Panel component at the beginning of the script, see here:

Screenshot of a Grasshopper canvas

✨ Acknowledgements

This toolbox has been developed at the Bauhaus-Universität Weimar, Germany, in the scope of the master's thesis
Upcycle Timber: A Design-to-Fabrication Workflow for Free-Form Timber Structures with Offcuts.

The thesis was supervised by Professor Dr. Sven Schneider, Professor Dr. Jan Willmann, and Dr. Stephan Schütz.

✌️ Citing

@incollection{reisachDesigntoFabricationWorkflowFreeForm2023,
  title = {A {Design-to-Fabrication Workflow} for {Free-Form Timber Structures Using Offcuts}},
  booktitle = {Computer-{Aided Architectural Design}. {INTERCONNECTIONS}: {Co-computing Beyond Boundaries}. {CAAD Futures 2023}},
  author = {Reisach, Dominik and Sch{\"u}tz, Stephan and Willmann, Jan and Schneider, Sven},
  editor = {Turrin, Michela and Andriotis, Charalampos and Rafiee, Azarakhsh},
  year = {2023},
  series = {Communications in {Computer} and {Information Science}},
  volume = {1819},
  pages = {361--375},
  publisher = {Springer},
  address = {Cham},
  doi = {10.1007/978-3-031-37189-9_24},
  isbn = {978-3-031-37189-9},
}

👾 Plugin

@misc{spruce_beetle,
    title={Spruce Beetle},
    author={Dominik Reisach},
    year={2023},
    doi={10.5281/zenodo.10071468}
    url={https://github.com/DominikReisach/Spruce-Beetle}
}