difference() { translate([0,0,0]) cube([40,40,4]); translate([32,20,-1]) cylinder(10,2.5,2.5,$fn=100); translate([12,7,-1]) cylinder(10,2.5,2.5,$fn=100); translate([12,33,-1]) cylinder(10,2.5,2.5,$fn=100); } translate([5,0,0]) rotate([0,-90,0]) cube([31,40,5]); translate([-14,0,18]) *cube([18,40,13]); difference() { translate([0,0,4]) cube([20,40,4]); translate([12,7,-1]) cylinder(10,2.5,2.5,$fn=100); translate([12,33,-1]) cylinder(10,2.5,2.5,$fn=100); translate([12,7,4]) cylinder(h=5,r1=0,r2=5,$fn=100); translate([12,33,4]) cylinder(h=5,r1=0,r2=5,$fn=100); } difference() { translate([0,12,4]) cube([40,16,4]); translate([32,20,-1]) cylinder(10,2.5,2.5,$fn=100); translate([32,20,4]) cylinder(h=5,r1=0,r2=5,$fn=100); } b = 20; h = 22; w = 6; //Start with an extruded triangle translate([5,20,8]) rotate(a=[-90,-90,0]) linear_extrude(height = w, center = true, convexity = 10, twist = 0) polygon(points=[[0,0],[h,0],[0,b]], paths=[[0,1,2]]); pad = 0.1; // Заполнение для поддержки коллектора box_l = 40; // Длина box_w = 14; // Ширина box_h = 13; // Высота round_r = 2; // Радиус круга round1_r = 2.5; //Отверстие под саморез smooth = 200; // Количество граней окружности цилиндра difference() { translate([-2,20,24.5]) rotate(90,0,0) cube([box_l, box_w, box_h], center = true); translate([-5,4,22]) cube([5,32,10]); translate([0, -box_w/2+round_r, box_h/2-round_r]) { difference() { translate([-9,5,15]) rotate(a=[0,90,0]) cube([box_l+2*pad, round_r*2+pad, round_r*2+pad], center = true); translate([-7,7,15]) rotate(a=[0,0,90]) cylinder(box_l+4*pad,round_r,round_r,center=true,$fn=smooth); } } translate([0, -box_w/2+round_r, box_h/2-round_r]) { difference() { translate([-9,45,15]) rotate(a=[0,90,0]) cube([box_l+2*pad, round_r*2+pad, round_r*2+pad], center = true); translate([-7,43,15]) rotate(a=[0,0,90]) cylinder(box_l+4*pad,round_r,round_r,center=true,$fn=smooth); } } }