Mechanical metamaterials are materials that have unusual mechanical properties thanks to their structure rather than their microscopic composition. Their structure is made of basic mechanical building blocks (digits) that can be assembled in a global structures that deform in unconventional ways.
Group assignment :The wildcard week group project served has a basis for a workshop that was given at the FAB14 Conference in Toulouse, France (scheduled event).
Here is the tutorial that was made for the conference:
The function of the mechanical metamaterial is given by the material and the geometrical structure.
Here is a youtube channel with a some metamaterials for inspiration :
There are different ways to fabricate mechanical metamaterials. Here are some examples.
Thermorph from Morphing Matter Lab on Vimeo.
In this part, we are going to make mechanical metamaterials from kirigami. Kirigami is simply a sheet folding in which there are cuts. When the 2D structure is stretched, it deforms in a particular way: It can expand, retract, rotate, move out of plane,...
Exloring these structures is really eased by digital fabrication. The design of these structure can be made parametrically which allow us to explore physically the complete space parameters. It's unleashing the power of numerical simulation to the physical world (this is a real revolution in how problems are tackled in Science).
After exploring the scientific literature on kirigami structures and mechanical meta materials (which is really recent), we found this nice work to start from.
Bistable Auxetic Mechanical Metamaterials Inspired by Ancient Geometric Motifs from Ahmad Rafsanjani on Vimeo.
The challenge here, is to find an efficient way to parametrically design all these kind of structures. As Nicolas has already explored a Vig Flex Wood Pattern Generator in week 3. We wanted to push it further and make a kirigami mechanical metamaterial pattern generator.
Carefully analysing these bistable auxetic mechanical metamaterials, we find that there is a beautiful logic behind this puzzle.
They are made of
In the figures below, here are 2 parametric designs that we would like to make. For these 2 building blocks, there are 4 parameters: l, the length of the building block, t the hinge gap, a the size of the cut, theta the cut angle.
module_side = 30; module_inside_diam = 24; module_thickness = 7; epsilon = 0.001; //to make sure the negatives are corrects separate_pieces = 20; //$fn=20; //testing purposes $fn=200; //final rendering module module_plan_cylinder(){ difference(){ cube([module_side+epsilon,module_side+epsilon,module_thickness], center=true); cylinder(module_thickness,d=module_inside_diam, center=true); } } module bi_plan(){ cube([module_side+epsilon,module_side+epsilon,module_thickness], center=true); rotate([90,0,0]) cube([module_side+epsilon,module_side+epsilon,module_thickness], center=true); } module pixel_cylinder(){ module_plan_cylinder(); rotate([90,0,0]) module_plan_cylinder(); } module pixel_sphere(){ difference(){ bi_plan(); sphere(d=module_inside_diam); } } module negative(){ difference(){ cube(module_side, center=true); children(); } } module SeparateChildren(space){ for ( i= [0:1:$children-1]) translate([i*space,0,0]) {children(i);} } module MatrixModule(x_repeat, y_repeat, z_repeat, alternate){ for( i = [0:x_repeat-1] ){ for( j = [0:y_repeat-1] ) { for( k = [0:z_repeat-1] ) { translate([i*module_side, j*module_side, k*module_side]) rotate([0, 0, (((i+j+k)*alternate)%2)*90]) children(); } } } } SeparateChildren(module_side+separate_pieces){ pixel_cylinder(); pixel_sphere(); negative(){pixel_cylinder();} negative(){pixel_sphere();} } //MatrixModule(3,3,3,alternate=1){ // pixel_sphere(); //}