Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // back rail
- translate([0, 0, 26]){
- rotate(90, [1, 0, 0]){
- color("silver") cylinder(47, d1=1, d2=1, center=true);
- }
- }
- translate([0, 0, 14]){
- rotate(90, [1, 0, 0]){
- color("silver") cylinder(47, d1=1, d2=1, center=true);
- }
- }
- // side rails, top
- for(i=[23, -23]){
- translate([0, i, 26]){
- rotate(90, [0, 1, 0]){
- color("silver") cylinder(29, d1=1, d2=1);
- }
- }}
- // side rails, bottom
- for(i=[23, -23]){
- translate([0, i, 14]){
- rotate(90, [0, 1, 0]){
- color("silver") cylinder(37, d1=1, d2=1);
- }
- }}
- // rails , angle parts
- for(i=[23, -23]){
- translate([29, i, 26]){
- rotate(90+56, [0, 1, 0]){
- color("silver") cylinder(24, d1=1, d2=1);
- }
- }}
- // hull / transom
- difference(){
- translate([30, 0, -5]){
- rotate(0, [0, 0, 0]){
- color("tan") cube([60, 50, 20], center=true);
- }
- }
- translate([0, 0, -5]){
- rotate(-30, [0, 1, 0]){
- color("tan") cube([10, 60, 30], center=true);
- }
- }
- }
- // top rects
- translate([-1,0,0]){
- for(y=[60, 50]){
- translate([0, 0, y]){
- rotate(90, [1, 0, 0]){
- cylinder(50, d1=1, d2=1, center=true);
- }
- }
- translate([12, 0, y]){
- rotate(90, [1, 0, 0]){
- cylinder(50, d1=1, d2=1, center=true);
- }
- }
- translate([-12, 0, y]){
- rotate(90, [1, 0, 0]){
- cylinder(50, d1=1, d2=1, center=true);
- }
- }
- for(i=[25, -25, 14, -14]){
- translate([-12, i, y]){
- rotate(90, [0, 1, 0]){
- cylinder(24, d1=1, d2=1);
- }
- }
- }
- }
- // vertical box bars
- for(i=[25, -25, 14, -14]){
- for(j=[-12, 0, 12]){
- translate([j, i, 50]){
- rotate(90, [0, 0, 1]){
- cylinder(10, d1=1, d2=1);
- }
- }}
- }
- // back bars
- for(i=[25, -25, 14, -14]){
- translate([0, i, 50]){
- rotate(180, [0, 1, 0]){
- cylinder(46, d1=1, d2=1);
- }
- }
- translate([0, i, 4]){
- rotate(150, [0, 1, 0]){
- cylinder(12, d1=1, d2=1);
- }
- }
- }
- // angle pieces
- for(i=[14, -14]){
- translate([-12, i, 50]){
- rotate(90+45, [0, 1, 0]){
- cylinder(17, d1=1, d2=1);
- }
- }
- }
- translate([0, 14, 38]){
- rotate(45, [1, 0, 0]){
- cylinder(17, d1=1, d2=1);
- }
- }
- translate([0, -14, 38]){
- rotate(45+90+180, [1, 0, 0]){
- cylinder(17, d1=1, d2=1);
- }
- }
- // forward bars
- for(i=[25, -25]){
- translate([6, i, 50]){
- rotate(150, [0, 1, 0]){
- cylinder(60, d1=1, d2=1);
- }
- }
- }
- // ladder steps
- for(i=[25, -25]){
- translate([0, i, 32]){
- rotate(90, [0, 1, 0]){
- cylinder(16, d1=1, d2=1);
- }
- }}
- for(i=[25, -25]){
- translate([0, i, 20]){
- rotate(90, [0, 1, 0]){
- cylinder(23, d1=1, d2=1);
- }
- }}
- // back bars
- translate([0, 19, 20]){
- rotate(90, [1, 0, 0]){
- cylinder(11, d1=1, d2=1, center=true);
- }
- }
- translate([0, -19, 20]){
- rotate(90, [1, 0, 0]){
- cylinder(11, d1=1, d2=1, center=true);
- }
- }
- }
- // wind generator mounts
- // windgen mounts
- translate([-1, -32, 55]){
- rotate(-60, [1, 0, 0]){
- cylinder(18, d1=1, d2=1, center=true);
- }
- }
- translate([-1, -27, 50]){
- rotate(90, [1, 0, 0]){
- cylinder(26, d1=1, d2=1, center=true);
- }
- }
- translate([-7, -32.5, 55]){
- rotate(-48, [0, 1, 0]){
- rotate(-44, [1, 0, 0]){
- cylinder(21, d1=1, d2=1, center=true);
- }}
- }
- translate([5, -32.5, 55]){
- rotate(48, [0, 1, 0]){
- rotate(-44, [1, 0, 0]){
- cylinder(21, d1=1, d2=1, center=true);
- }}
- }
- translate([5, -32.5, 50]){
- rotate(90, [0, 1, 0]){
- rotate(-52, [1, 0, 0]){
- cylinder(20, d1=1, d2=1, center=true);
- }}
- }
- translate([-7, -32.5, 50]){
- rotate(90, [0, 1, 0]){
- rotate(52, [1, 0, 0]){
- cylinder(20, d1=1, d2=1, center=true);
- }}
- }
- translate([-1, -40, 40]){
- rotate(90, [0, 0, 1]){
- cylinder(20, d1=1, d2=1, center=true);
- }
- }
- // windgen itself
- translate([-1, -40, 32]){
- rotate(90, [0, 0, 0]){
- color("red", 0.5) cylinder(32, d1=24, d2=24, center=true);
- }
- }
- // solar panels
- translate([0, 0, 61]){
- rotate(0, [1, 0, 0]){
- color("green", 0.5) cube([44, 20, 2], center=true);
- }
- }
- translate([0, 20.5, 61]){
- rotate(0, [1, 0, 0]){
- color("green", 0.5) cube([44, 20, 2], center=true);
- }
- }
- translate([0, -20.5, 61]){
- rotate(0, [1, 0, 0]){
- color("green", 0.5) cube([44, 20, 2], center=true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement