from __future__ import division
from numpy import *
%pylab inline
import matplotlib.cm as mcm
style.use('bmh')
Sewing is a big topic. In the recitation, we covered a wide range of topics. I'll list them to use as search terms for additional resources:
By ru:user:NikolayS - ru:Файл:Lockstitch.gif, CC BY-SA 3.0, Link
Sewing provides a way to join panels that can be structurally superior to glues and welding processes for woven materials. Here we test the strength of a 1" seam for several glues, two seam types, and an uncut panel. We can see a proper seam can perform at levels comparable to an uncut panel.
Many questions from the recitation were about the ever popular topic of making inflatable things. A few years ago we tried to condense some knowledge into an instructable on this topic, where we make a high strength inflatable of the instructables robot. Link below.
Using these techniques, it's possible to differentially pressurize inflatables to do useful work. Below are links to two early robot arm prototypes from Otherlab:
I'm working on a small sewing machine for CNC applications. The timing is done electronically, removing the need for a lot of the mechanisms inside a sewing machine. This will likely result in a slower machine, but the advantage is increased customizability and control.
#instron testing seam strength
fn = lambda i: 'instron/Specimen_RawData_%d.csv'%(i+1)
cm = mcm.cool
def read_data(i,fn):
f = open(fn(i),'r')
f.readline();f.readline();
data = asarray([map(float,l.strip('\n\r').split(',')) for l in f.readlines()])
#data = data*array([1,-1,-1])
start = 0
#start = where(data[...,2]>10.)[0][0]
#linear = where(data[...,2]>30.)[0][0]
data = data[start:] - data[start]
#p = polyfit(data[:linear,1],data[:linear,2],1)
return data#,p
figure(figsize=(12,10))
labels = ['hot melt','rubber cement','uncut','bad seam','good seam']
for i,l in enumerate(labels):
#v,p = read_data(i,fn)
v = read_data(i,fn)
plot(v[...,1],v[...,2],label=l)
#plot(t,p[0]*t+p[1],c=cm_foam(c/7.),linestyle='--',lw=.5)
xlabel('displacement (mm)')
ylabel('force (N)')
legend(loc='lower right',prop={'size':10},labelspacing=0)
ylim([0,500])
#xlim([0,2.2])
title('fabric seam testing')