$fn=15; module rounded(len,wid,thick,rad){ hull(){ translate([rad,rad,rad])sphere(rad); translate([len-rad,rad,rad])sphere(rad); translate([rad,wid-rad,rad])sphere(rad); translate([len-rad,wid-rad,rad])sphere(rad); translate([rad,rad,thick-rad])sphere(rad); translate([len-rad,rad,thick-rad])sphere(rad); translate([rad,wid-rad,thick-rad])sphere(rad); translate([len-rad,wid-rad,thick-rad])sphere(rad); } } module phone(){ rounded(83,179,16,4); } module face(){ rounded (61,199,30,1); } module cable(){ rounded(20,20,30,1); } module buttons(){ cube([100,50,20]); } difference(){ rounded(85,123,21,4); translate([1,1,3]) phone(); translate([12,6,4]) face(); translate([31.5,-4,6]) cable(); translate([-1,90,6]) buttons(); }