fan=120; ductl=110; ductw=40; h=150; wallTh = 2; module transition(h,l1,w1,l2,w2,eps=0.01) { hull() { cube([l1,w1,eps], center=true); translate([0,0,h-eps]) cube([w2,l2,eps], center=true); } } difference() { transition(h,fan+wallTh*2,fan+wallTh*2,ductl+wallTh*2,ductw+wallTh*2); translate([0,0,-0.01]) transition(h+0.02,fan,fan,ductl,ductw); }