// -*- C -*- basex = 30; basey = 45; bevelz = 3; bevelslope = 0.75; bevely = bevelz * bevelslope; basebaset = 2; basebevelt = 3; module sheared_cube(sz, xperz, yperz) { multmatrix([[1,0,xperz,0], [0,1,yperz,0], [0,0,1, 0], [0,0,0, 1]]) cube(sz); } module Base(){ translate([0, basey-basebevelt, 0]) sheared_cube([basex, basebevelt, bevelz], 0, bevelslope); sheared_cube([basex, basebevelt, bevelz], 0, -bevelslope); cube([basex, basey, basebaset]); // sheared_cube([10,20,30], 0.5, 3); // cube([basew, baseh, 0.1]); // translate([ } Base();