// allviews portecarte portecarte-mini // allviews support-pompe-ups15 // Pompe Grundfos ups15-58fc // printviews support-moteur-ups15 // Support moteut uniquement // testviews test1-support-pompe-ups15 // Test un cote // testviews test2-support-pompe-ups15 // Test largeur // printviews portecarte:y2,h60 portecarte:y3,h60 include thick=3; cote_width=7; module portecarte_cote(height){ h2=10; pos=(height-h2)/2; translate([0,pos,0]) difference(){ cube([cote_width,h2,thick]); translate([cote_width/2,h2/2,-1]) cylinder(r=1.8,h=thick+2,$fn=40); //translate([cote_width/2,3*h2/4,-1]) cylinder(r=2,h=thick+2,$fn=40); } } module portecarte(width,height){ difference(){ cube([width,height,thick]); tra1=2; tra2=7; translate([tra1,-1,1]) cube([width-2*tra1,height-tra1+1,thick]); translate([tra2,tra2,-1]) cube([width-2*tra2,height-2*tra2,thick+2]); } translate([-cote_width,0,0]) portecarte_cote(height); translate([width,0,0]) portecarte_cote(height); } module support_pompe_1(width,height,ray1,ray2,raise){ thick=15; difference(){ cube([width,thick,height]); union(){ translate([width/2,-1,height]) rotate([-90,0,0]) cylinder(r=ray1,h=thick+2,$fn=40); translate([width/2-ray2,-1,height-ray1+1-raise]) cube([ray2*2,thick+2,raise*2]); translate([width/2,-1,height-ray1+1-raise]) rotate([-90,0,0]) cylinder(r=ray2,h=thick+2,$fn=40); } } // plancher pour visser lenp=50; thickp=5; difference(){ cube([width,lenp,thickp]); union(){ hole=2; t2=thickp*1.5; translate([width/2,thick+thickp+2,-1]) cylinder(r=hole,h=thickp+2,$fn=40); translate([t2,lenp-t2,-1]) cylinder(r=hole,h=thickp+2,$fn=40); translate([width-t2,lenp-t2,-1]) cylinder(r=hole,h=thickp+2,$fn=40); } } // Deux supports pour empecher la pompe de bouger latéralement supw=15; heightw=height/2+5+raise; translate([width/2-ray2-supw,thick,0]) cube([supw,thickp,heightw]); translate([width/2+ray2,thick,0]) cube([supw,thickp,heightw]); } largeur=150+12+2; module support_pompe(){ ray1=65/2+1.5; ray2=27/2; raise=5+1.5; // distance verticale entre les deux cercles height=ray1+ray2+5+raise; width=2*ray1+10; support_pompe_1(width,height,ray1,ray2,raise); translate([width,largeur,0]) rotate([0,0,180]) support_pompe_1(width,height,ray1,ray2,raise); // Support pour moteur translate([130,largeur/2,0]){ thickm=15+3; raym=85/2; difference(){ translate([-10,-10,0]) cube([20,20,thickm]); translate([11,0,raym+thickm-2]) rotate([0,-90,0]) cylinder(r=raym,h=22,$fn=40); } } // Connecte la partie gauche et droite translate([width/2-5,30,0]) cube([10,largeur-2*30,1]); // Connecte le support moteur translate([width/2,largeur/2-5,0]) difference(){ cube([130-width/2,10,1]); translate([70,5,-1]) cylinder(r=2,h=4,$fn=20); } } module main_view(view){ if (view=="portecarte"){ portecarte(100,50); }else if(view=="portecarte-mini"){ portecarte(50,30); }else if(view=="support-pompe-ups15"){ support_pompe(); }else if(view=="test1-support-pompe-ups15"){ intersection(){ translate([0,-50,0]) cube([100,100,1]); rotate([90,0,0]) support_pompe(); } }else if(view=="test2-support-pompe-ups15"){ intersection(){ union(){ translate([32,15,0]) cube([10,2,5]); translate([32,largeur-15-2,0]) cube([10,2,5]); translate([32,0,0]) cube([10,200,1]); //translate([32,largeur/2-5,0]) cube([100,10,1]); } support_pompe(); } }else if(view=="support-moteur-ups15"){ intersection(){ translate([100,55,0]) cube([50,50,50]); support_pompe(); } } }