Skip to content

Instantly share code, notes, and snippets.

@andreiavram
Created August 25, 2015 19:25
Show Gist options
  • Save andreiavram/9e0a319ba2f97e7f8b2b to your computer and use it in GitHub Desktop.
Save andreiavram/9e0a319ba2f97e7f8b2b to your computer and use it in GitHub Desktop.
fudge = 0.1;
module corp_picior(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[0.056641,-31.757136],[-10.591113,-31.415821],[-21.245383,-30.601948],[-31.905867,-29.350540],[-42.572266,-27.696626],[-42.572266,27.574874],[-32.046448,29.275451],[-21.492221,30.563957],[-10.907038,31.403486],[-0.288356,31.757136],[10.366370,31.588004],[21.059686,30.859185],[31.794136,29.533776],[42.572266,27.574874],[42.572266,-27.696626],[31.956010,-29.595606],[21.330861,-30.882024],[10.697509,-31.590870],[0.056641,-31.757136]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[0.044922,-22.944626],[8.183671,-22.824511],[16.316262,-22.312426],[24.442577,-21.383042],[32.562500,-20.011026],[32.562500,19.922574],[24.318471,21.337875],[16.107934,22.295480],[7.928915,22.822050],[-0.220560,22.944249],[-8.342465,22.688738],[-16.438774,22.082180],[-24.511461,21.151238],[-32.562500,19.922574],[-32.562500,-20.011026],[-16.249282,-22.110114],[-8.099593,-22.698075],[0.044922,-22.944626]]);
}
}
}
module envelope(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[-80.287110,-58.041015],[-80.287110,58.041015],[80.287110,58.041015],[80.287110,-58.041015],[-80.287110,-58.041015]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[0.056640,-31.757815],[10.697506,-31.591538],[21.330861,-30.882679],[31.956014,-29.596250],[42.572270,-27.697265],[42.572270,27.574215],[31.794141,29.533117],[21.059690,30.858526],[10.366375,31.587345],[-0.288351,31.756478],[-10.907033,31.402827],[-21.492215,30.563298],[-32.046442,29.274793],[-42.572260,27.574215],[-42.572260,-27.697265],[-31.905864,-29.351185],[-21.245383,-30.602606],[-10.591114,-31.416494],[0.056640,-31.757815]]);
}
}
}
module cutout() {
translate([-12.1, -15, -6.5])
rotate([13.7, 0, 0])
cube([24.2, 31, 5]);
}
difference() {
union () {
difference() {
corp_picior(19);
cutout();
translate([0, -5, 11])
rotate([90, 90, 0]) {
cylinder(5, 1.1, 1.1, $fn=50);
}
}
cutout();
}
translate([0,0,-25])
envelope(50);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment