N-Bars Problem

Custom Spaceframes

In custom space frame structures, design and construction of joints present a significant challenge. The objective of this project is to provide a ‘tool’ which generates joints for multiple edge connection scenarios. It provides controlled user interaction on material choice, cross section size, as well as shape of joints. Loads at connections from self-weight of the structure are factored in determining the topology of each joint. 

 

 

The software is writen as a C# plugin for Grasshopper. The code first analyzes a set of wireframe bars and places it into a graph data structure, taking into account the radius of each bar according to user input. Then we calculate the angle of the incoming bars and assign a custom length to each joint. The next step is to implement the marching cubes algorithm at each node to generate an equipotential surface according to the grid density. The 3D grid of density values is then augmented or subtracted according to the structural results that structural simulation software Millipede outputs and a refined surface is produced.

One potential use of the tool could be to turn any mesh model from Google’s 3D Warehouse into a human-scale fabricatable deployment with PVC pipes as a low cost linear elements and 3D printed joints as the custom solution for n-number of bars meeting a joint.

Project Type Academic - Software design Platform Custom C# component for Grasshopper Design Team H. Koh, A. Yacob Arsano, O. Rosello Year 2015.

N-Bars Problem

N-Bars Problem

We developed a C# plugin for Grasshopper to solve joints of 'n' bars at an incoming point with a single surface. The plugin relies on a custom implementation of the marching cubes algorithm. This computer graphics application is then literally used for fabrication purposes.

Joint Generation

Custom joint generation from a continuous mesh surface.

Mesh to Fabrication

Mesh to Fabrication

This solution provides a low-cost pipeline for taking any arbitrarily complex mesh model and translate it to a physical wireframe prototype. Standard PVC pipes are used together with custom 3D printed joints.

Importing

Importing

The user provides an arbitrary input curve network.

 The algorithm loads the curve network and translates it into a graph data structure. Next, reduced curves with desired joint length are extracted at each intersection. Then, a projection plane is approximated at each intersection.

The algorithm loads the curve network and translates it into a graph data structure. Next, reduced curves with desired joint length are extracted at each intersection. Then, a projection plane is approximated at each intersection.

 The joint length is recalculated to react to incoming bar angle pairs. At each point, the marching cubes algorithm generates the point population, defined by the user according to desired resolution. Then, through a gaussian equation density values are calculated.

The joint length is recalculated to react to incoming bar angle pairs. At each point, the marching cubes algorithm generates the point population, defined by the user according to desired resolution. Then, through a gaussian equation density values are calculated.

Automated Joinery Presentation_Page_12.jpg
 Each of the edges performs a FEM calculation using the Millipede engine.

Each of the edges performs a FEM calculation using the Millipede engine.

 Following the stress simulation, a mesh is fitted according to the density values in the marching cubes.

Following the stress simulation, a mesh is fitted according to the density values in the marching cubes.

 Once the surface is fitted, parameters can be modified to alter the final fabrication qualities of each joint. Joints are previewed in realtime.

Once the surface is fitted, parameters can be modified to alter the final fabrication qualities of each joint. Joints are previewed in realtime.

Automated Joinery Presentation_Page_16.jpg
Automated Joinery Presentation_Page_17.jpg
Automated Joinery Presentation_Page_18.jpg
Automated Joinery Presentation_Page_19.jpg
Automated Joinery Presentation_Page_20.jpg
Automated Joinery Presentation_Page_21.jpg
Automated Joinery Presentation_Page_22.jpg
Automated Joinery Presentation_Page_23.jpg
Automated Joinery Presentation_Page_24.jpg