1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
$fn=30;
module extruder()
{
dxf_file = "rb_35_lasercut_extruder9.dxf";
base_h = 4.5;
screw_inset=3;
inner_h = 4;
convexity=4;
peek_dist=dxf_dim(file = dxf_file, name = "peek_dist");
peek_r = dxf_dim(file = dxf_file, name = "peek_r");
peek_inner_r = dxf_dim(file = dxf_file, name = "peek_inner_r");
peek_h = dxf_dim(file = dxf_file, name = "peek_h");
filament_dist = dxf_dim(file = dxf_file, name = "filament_dist");
module filament()
{
translate([-filament_dist, 100, base_h+inner_h/2]) rotate([90, 0,0]) cylinder(h=200, r=2);
}
module peek()
{
translate([-filament_dist, -peek_dist, base_h+inner_h/2]) rotate([90,0,0])
{
translate([-peek_inner_r,0*peek_inner_r,peek_h/2]) cube([peek_inner_r*2,peek_inner_r*2,100]);
#cylinder(h=peek_h, r=peek_r);
#cylinder(h=30, r=peek_inner_r);
}
}
difference() {
dxf_linear_extrude(file =dxf_file, layer = "frame", height = base_h+inner_h, convexity = convexity);
translate([0,0,-10]) dxf_linear_extrude(file =dxf_file, layer = "base", height = 100, convexity = convexity);
translate([0,0,base_h]) dxf_linear_extrude(file =dxf_file, layer = "inner", height = base_h+inner_h, convexity = convexity);
translate([0,0,base_h-screw_inset]) dxf_linear_extrude(file =dxf_file, layer = "holes_insets", height = 100, convexity = convexity);
translate([0,0,-10]) dxf_linear_extrude(file =dxf_file, layer = "holes", height = 100, convexity = convexity);
filament();
peek();
//translate([-filament_dist, -peek_dist, base_h+inner_h/2]) rotate([90,0,0])
// {
// translate([-peek_inner_r,0*peek_inner_r,peek_h/2]) cube([peek_inner_r*2,peek_inner_r*2,100]);
// %cylinder(h=peek_h, r=peek_r);
// %cylinder(h=30, r=peek_inner_r);
// }
% translate([0,0,base_h+inner_h])
dxf_linear_extrude(file =dxf_file, layer = "top", height = 3, convexity = convexity);
}
}
extruder();
|