|
@ -60,11 +60,11 @@ module screwhole() { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
module rail() { |
|
|
module rail(length=57+2) { |
|
|
rotate([90,0,0]) { |
|
|
rotate([90,0,0]) { |
|
|
difference() { |
|
|
difference() { |
|
|
linear_extrude(height=57+2) polygon([[-1.4,0],[1.4,0],[2.4,4],[-2.4,4]]); |
|
|
linear_extrude(height=length) polygon([[-1.4,0],[1.4,0],[2.4,4],[-2.4,4]]); |
|
|
translate([-5,0,57+2]) rotate([-45,0,0]) cube([10,10,10]); |
|
|
translate([-5,0,length]) rotate([-45,0,0]) cube([10,10,10]); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
@ -139,11 +139,11 @@ module roof1() { |
|
|
translate([0,0,74]) rotate([7,0,0]) cube([130-4,57,8]); |
|
|
translate([0,0,74]) rotate([7,0,0]) cube([130-4,57,8]); |
|
|
translate([0,-8,74+4+6]) rotate([7,0,0]) cube([130-4,57+2*8,8]); |
|
|
translate([0,-8,74+4+6]) rotate([7,0,0]) cube([130-4,57+2*8,8]); |
|
|
minkowski() { |
|
|
minkowski() { |
|
|
translate([-4,57+8,81.8]) rail(); |
|
|
translate([-4,57-1.2+8,81.8]) rail(57+2+8); |
|
|
cylinder(r=0.4,h=0.4); |
|
|
cylinder(r=0.4,h=0.4); |
|
|
} |
|
|
} |
|
|
minkowski() { |
|
|
minkowski() { |
|
|
translate([130,57+8,81.8]) rail(); |
|
|
translate([130,57-1.2+8,81.8]) rail(57+2+8); |
|
|
cylinder(r=0.4,h=0.4); |
|
|
cylinder(r=0.4,h=0.4); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
@ -152,7 +152,7 @@ module roof1() { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//color([0,1,0]) |
|
|
//color([0,1,0]) |
|
|
difference() { |
|
|
% difference() { |
|
|
base(80); |
|
|
base(80); |
|
|
translate([-50,56.8,-30]) cube([250,20,150]); // subtract back |
|
|
translate([-50,56.8,-30]) cube([250,20,150]); // subtract back |
|
|
} |
|
|
} |
|
@ -164,4 +164,8 @@ module roof1() { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//color([1,0,0]) |
|
|
//color([1,0,0]) |
|
|
% roof1(); |
|
|
difference() { |
|
|
|
|
|
roof1(); |
|
|
|
|
|
translate([-50,56.8,-30]) cube([250,20,150]); // subtract back |
|
|
|
|
|
// ToDo: don't subtract back but make back side not as tall as it is now |
|
|
|
|
|
} |