// allviews gobelet // Ne pas imprimer, utilisez gobelet-print // printviews gobelet-print gobelet-print:x2,y2,w50,h70 // viewopts gobelet-print support // testviews gobelet-test include tube_r=48/2; // rayon extérieur du tube PVC holer=31/2; // 37/2; // Trou dans le tuyau 1.5 pouces surplus=3; // gobelet qu'on insère dans le tube pour supporter // le plant de laitue module gobelet(){ // Support extérieur difference(){ cylinder(r=holer+surplus,h=15,$fn=80); union(){ translate([0,0,-1]) cylinder(r=holer,h=12,$fn=40); translate([0,-holer-10,tube_r+4]) rotate([-90,0,0]) cylinder(r=tube_r,h=100,$fn=40); } } // appuie au fond du tuyau difference(){ tube_int_r=40/2; // rayon intérieur du tube PVC off=2; tubeheight=30-off; intersection(){ thick=6; translate([0,0,2*tube_int_r+off]) cylinder(r=holer,h=thick,$fn=80); translate([0,-holer-10,tubeheight]) rotate([-90,0,0]) cylinder(r=tube_int_r,h=100,$fn=80); } translate([0,-holer-10,tubeheight]) rotate([-90,0,0]) cylinder(r=tube_int_r-2,h=100,$fn=80); } // Supports if (true){ width=12; intersection(){ translate([-width/2,-1,0]){ height=2*tube_r-2; translate([0,holer-1,0]) cube([width,2,height]); translate([0,-holer+1,0]) cube([width,2,height]); } cylinder(r=holer,h=100,$fn=80); } } } module main_view(view){ if (view=="gobelet"){ gobelet(); }else if (view=="gobelet-print"){ translate([0,0,holer+surplus]) rotate([-90,-90,0]){ gobelet(); } }else if (view=="gobelet-test"){ intersection(){ cylinder(r=holer+5,h=20,$fn=40); gobelet(); } } }