/* Boites carrées diverses avec parois minces */ // allviews dice // allviews boitefine boitefine-moyenne boitefine-grosse // allviews boitefine-moyenne:y2,h70 // allviews imbrique plein reverse-boitefine // allviews bedtest_large bedtest_center bedtest_fullbed // allviews tube bridge hold-barrel // allviews auto-level // allviews wall-hole // Un mur avec un trou // viewopts wall-hole brim5mm // allviews circle-hole // Un cylindre avec des trous // viewopts circle-hole brim5mm // allviews boitecreuse // allviews flatsquare // Large square // allviews flatsquare-holes // Large square with holes // printviews imbrique:x2 include width=20; height1=10; height2=15; module plein(){ cube ([width,width,height1]); } module boitefine(boite_width,boite_height,thick,floorthick){ difference(){ cube([boite_width,boite_width,boite_height]); translate([thick,thick,floorthick]) cube([boite_width-2*thick,boite_width-2*thick,boite_height]); } } module imbrique(thick){ thick2=thick*2; translate([-thick2,-thick2,height1-1]){ width4=width+2*thick2; width2=width+thick2; difference(){ cube([width4,width4,height2]); translate([thick2,thick2,0]) cube([width,width ,height2]); } } boitefine(); } // Print 9 thin square plates placed around the bed to see if they // all print fine module bedtest(thick,number,size,space){ for (i=[1:number]){ for(j=[1:number]){ translate([(i-1)*(size+space),(j-1)*(size+space),0]){ cube([size,size,thick]); translate([0,0,0.5]){ for (x=[0:i*3+j]){ //translate([2+x*2,2,0]) rotate([0,0,90]) cylinder(r=1,h=2); } } } } } } module main_view(view){ if (view=="imbrique"){ imbrique(vs_nozzle_diameter); }else if (view=="boitefine"){ boitefine(width,height1,vs_nozzle_diameter,vs_first_layer_height); }else if (view=="boitefine-grosse"){ boitefine(3*width,3*height1,vs_nozzle_diameter,vs_first_layer_height); }else if (view=="boitefine-moyenne"){ boitefine(2*width,2*height1,vs_nozzle_diameter,vs_first_layer_height); }else if (view=="reverse-boitefine"){ // This does not print very well. The top kind of work, but most // of the plastic collapse rotate([0,180,0]) translate([0,0,-height1]) boitefine(vs_nozzle_diameter,vs_first_layer_height); }else if (view=="plein"){ plein(); }else if (view=="bedtest_large"){ bedtest(vs_first_layer_height+0.05,3,20,10); }else if (view=="bedtest_fullbed"){ bedtest(vs_first_layer_height+0.05,3,20,50); }else if (view=="bedtest_center"){ bedtest(vs_first_layer_height+0.05,2,20,20); }else if (view=="tube"){ translate([0,0,10]) rotate([90,0,0]) difference(){ cylinder(r=103,h=10,$fn=40); cylinder(r=9.5,h=10,$fn=40); } }else if (view=="bridge"){ cube([10,4,6]); translate([0,14,0]) cube([10,4,6]); translate([0,0,6]) cube([10,18,2]); }else if (view=="hold-barrel"){ difference(){ cube([10,12,7]); translate([0,6,3.5]) rotate([0,90,0]) cylinder(r=2.9,h=10,$fn=40); } }else if (view=="auto-level"){ cube([10,30,1]); translate([20,0,0]) cube([10,30,3]); }else if (view=="boitecreuse"){ difference(){ w=3*vs_nozzle_diameter; w2=w*2; cube([20,20,5]); translate([w,w,0]) cube([20-w2,20-w2,5]); } }else if (view=="flatsquare"){ cube([50,50,vs_first_layer_height]); }else if (view=="wall-hole"){ difference(){ cube([20,2,10]); translate([10,-1,5]) rotate([-90,0,0]) cylinder(r=3,h=4,$fn=40); } }else if (view=="circle-hole"){ difference(){ difference(){ cylinder(r=10,h=15,$fn=80); translate([0,0,-1]) cylinder(r=8,h=17,$fn=80); } translate([0,-11,7.5]) rotate([-90,0,0]) cylinder(r=3,h=22,$fn=80); } }else if (view=="flatsquare-holes"){ difference(){ cube([50,50,vs_first_layer_height]); d=12.5; e=50-d; union(){ translate([d,d,-1]) cylinder(r=3,h=2,$fn=20); translate([d,e,-1]) cylinder(r=3,h=2,$fn=20); translate([e,e,-1]) cylinder(r=3,h=2,$fn=20); translate([e,d,-1]) cylinder(r=3,h=2,$fn=20); } } //translate([75,25,0]) cube([5,5,vs_first_layer_height]); }else if (view=="dice"){ difference(){ cube([20,20,20]); sc=1.3; translate([4,4,20-2]) linear_extrude(height=3) scale([sc,sc,1])text("X"); } } }