/* Blocks for Javier A simple block with a hole through it, and a beveled edge thanks to the power of Minkowski sums. */ octoscale = 0.45; blockx = 43.4; blocky = 43.4; blockz = 43.4; holesize = 19.8; module toyblock(size, radius, holedia) { x = size[0]-radius; y = size[1]-radius; z = size[2]-radius; hole = holedia/2; difference(){ minkowski() { cube(size=[x,y,z], center=true); sphere(r=radius,$fn=8); } translate([0,0,-5]) #cylinder(h=x+4,r=hole, center=true, $fn=20); rotate(a=90, v=[1,0,0]) cylinder(h=y+4,r=hole, center=true, $fn=20); } } module octopus(thescale) { scale([thescale,thescale,thescale]) import_stl("octopusv10block_fixed_sc055.stl", convexity=5); } union() { toyblock([blockx,blocky,blockz],2,holesize); translate([0,0,blockz/2+1.2]) octopus(octoscale); }