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) (unidiff) | |
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 @@ | |||
1 | module mold( | 1 | module mold( |
2 | size, /* mold inner size */ | 2 | size, /* mold inner size */ |
3 | s=1, /* shell thickness */ | 3 | s=1, /* shell thickness */ |
4 | h_protrude=5,/* how far to protrude outside horizontally */ | 4 | h_protrude=5,/* how far to protrude outside horizontally */ |
5 | v_protrude=10,/* and vertically */ | 5 | v_protrude=10,/* and vertically */ |
6 | l_intrude=0,/* how far to intrude on the left */ | 6 | l_intrude=0,/* how far to intrude on the left */ |
7 | r_intrude=0,/* how far to intrude on the right */ | 7 | r_intrude=0,/* how far to intrude on the right */ |
8 | f_intrude=0,/* how far to intrude on the front */ | 8 | f_intrude=0,/* how far to intrude on the front */ |
9 | introffset,/* offset from the front of the left and right intrusions */ | 9 | introffset,/* offset from the front of the left and right intrusions */ |
10 | chamfer=1 | 10 | chamfer=1 |
11 | ) { | 11 | ) { |
12 | difference() { | 12 | difference() { |
13 | cube(size=[size[0]+2*s,size[1]+2*s,size[2]+s]); | 13 | cube(size=[size[0]+2*s,size[1]+2*s,size[2]+s]); |
14 | translate([s,s,s]) { | 14 | translate([s,s,s]) { |
15 | hull() { | 15 | hull() { |
16 | translate([chamfer,0,chamfer]) | 16 | translate([chamfer,0,chamfer]) |
17 | cube(size=[size[0]-2*chamfer,size[1],size[2]-2*chamfer]); | 17 | cube(size=[size[0]-2*chamfer,size[1],size[2]-2*chamfer]); |
18 | translate([0,chamfer,chamfer]) | 18 | translate([0,chamfer,chamfer]) |
19 | cube(size=[size[0],size[1]-2*chamfer,size[2]-2*chamfer]); | 19 | cube(size=[size[0],size[1]-2*chamfer,size[2]-2*chamfer]); |
20 | translate([chamfer,chamfer,0]) | 20 | translate([chamfer,chamfer,0]) |
21 | cube(size=[size[0]-2*chamfer,size[1]-2*chamfer,size[2]+1]); | 21 | cube(size=[size[0]-2*chamfer,size[1]-2*chamfer,size[2]+1]); |
22 | } | 22 | } |
23 | } | 23 | } |
24 | } | 24 | } |
25 | gw = 3*s; // guide width, in case I'll want to change it. | 25 | gw = 3*s; // guide width, in case I'll want to change it. |
26 | module trusion(in) { | 26 | module trusion(in) { |
27 | translate([-gw/2,0,s+size[2]]) union() { | 27 | translate([-gw/2,0,s+size[2]]) union() { |
28 | hull() { | 28 | hull() { |
29 | translate([0,0,in]) | 29 | translate([0,0,in]) |
30 | cube(size=[gw,in+s,v_protrude-in]); | 30 | cube(size=[gw,in+s,v_protrude-in]); |
31 | cube(size=[gw,s,in]); | 31 | cube(size=[gw,s,in]); |
32 | } | 32 | } |
33 | hull() { | 33 | hull() { |
34 | translate([0,0,-v_protrude]) | 34 | translate([0,0,-h_protrude]) |
35 | cube(size=[gw,s,v_protrude+h_protrude]); | 35 | cube(size=[gw,s,v_protrude+h_protrude]); |
36 | translate([0,-h_protrude,0]) | 36 | translate([0,-h_protrude,0]) |
37 | cube(size=[gw,s+h_protrude,v_protrude]); | 37 | cube(size=[gw,s+h_protrude,v_protrude]); |
38 | } | 38 | } |
39 | } | 39 | } |
40 | } | 40 | } |
41 | /* frontal guide */ | 41 | /* frontal guide */ |
42 | translate([s+size[0]/2,0,]) trusion(in=f_intrude); | 42 | translate([s+size[0]/2,0,]) trusion(in=f_intrude); |
43 | /* left guide */ | 43 | /* left guide */ |
44 | translate([0,s+introffset,0]) rotate([0,0,-90]) trusion(in=l_intrude); | 44 | translate([0,s+introffset,0]) rotate([0,0,-90]) trusion(in=l_intrude); |
45 | /* right guide */ | 45 | /* right guide */ |
46 | translate([size[0]+2*s,s+introffset,0]) rotate([0,0,90]) trusion(in=r_intrude); | 46 | translate([size[0]+2*s,s+introffset,0]) rotate([0,0,90]) trusion(in=r_intrude); |
47 | } | 47 | } |
48 | /* vim:set ai sw=1: */ | 48 | /* vim:set ai sw=1: */ |