author | Michael Krelin <hacker@klever.net> | 2016-06-27 20:47:35 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2016-06-27 21:12:48 (UTC) |
commit | e67233de1aac575632ecc366e3fd2a6251b50ee2 (patch) (side-by-side diff) | |
tree | e1fc6e6bbea0ddba162f31d5896ebd2a1178931f | |
parent | d52fcc750db4bcf2a92017df239170b7ec1de4e8 (diff) | |
download | hotendery-e67233de1aac575632ecc366e3fd2a6251b50ee2.zip hotendery-e67233de1aac575632ecc366e3fd2a6251b50ee2.tar.gz hotendery-e67233de1aac575632ecc366e3fd2a6251b50ee2.tar.bz2 |
mold: fix inprotrusion generation
-rw-r--r-- | mold.scad | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -1,48 +1,48 @@ module mold( size, /* mold inner size */ s=1, /* shell thickness */ h_protrude=5, /* how far to protrude outside horizontally */ v_protrude=10, /* and vertically */ l_intrude=0, /* how far to intrude on the left */ r_intrude=0, /* how far to intrude on the right */ f_intrude=0, /* how far to intrude on the front */ introffset, /* offset from the front of the left and right intrusions */ chamfer=1 ) { difference() { cube(size=[size[0]+2*s,size[1]+2*s,size[2]+s]); translate([s,s,s]) { hull() { translate([chamfer,0,chamfer]) cube(size=[size[0]-2*chamfer,size[1],size[2]-2*chamfer]); translate([0,chamfer,chamfer]) cube(size=[size[0],size[1]-2*chamfer,size[2]-2*chamfer]); translate([chamfer,chamfer,0]) cube(size=[size[0]-2*chamfer,size[1]-2*chamfer,size[2]+1]); } } } gw = 3*s; // guide width, in case I'll want to change it. module trusion(in) { translate([-gw/2,0,s+size[2]]) union() { hull() { translate([0,0,in]) cube(size=[gw,in+s,v_protrude-in]); cube(size=[gw,s,in]); } hull() { - translate([0,0,-v_protrude]) + translate([0,0,-h_protrude]) cube(size=[gw,s,v_protrude+h_protrude]); translate([0,-h_protrude,0]) cube(size=[gw,s+h_protrude,v_protrude]); } } } /* frontal guide */ translate([s+size[0]/2,0,]) trusion(in=f_intrude); /* left guide */ translate([0,s+introffset,0]) rotate([0,0,-90]) trusion(in=l_intrude); /* right guide */ translate([size[0]+2*s,s+introffset,0]) rotate([0,0,90]) trusion(in=r_intrude); } /* vim:set ai sw=1: */ |