-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathsyringe_mount.scad
82 lines (67 loc) · 1.61 KB
/
syringe_mount.scad
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
$fs=0.01;
barrelDiameter = 21.4;
extrusionThickness=14.8;
screwRadius = 1.5;
motorWidth = 28.5; // NEMA 11
wallThickness = 5;
partThickness = 8;
frameWidth = motorWidth + (wallThickness + 1)*2;
barrel_mount();
module fake_extrusion(){
translate([wallThickness+1,-50,-(extrusionThickness/2 +wallThickness)]) //voodoo
{
rotate([0,0,90]){
cube([100,extrusionThickness,extrusionThickness]);
}
}
translate([wallThickness+motorWidth+extrusionThickness+1,-55,-(extrusionThickness/2 + wallThickness)])
{
rotate([0,0,90]){
cube([100,extrusionThickness,extrusionThickness]);
}
}
}
module barrel_mount()
{
//center the whole thing in X
translate([-frameWidth/2, 0, 0])
{
difference()
{
//positive
union()
{
translate([0,0,-(frameWidth+10)/2]){
cube([frameWidth, partThickness, frameWidth]);
translate([-12,0,10]){
cube([frameWidth+24, partThickness, frameWidth/2]);
}
}
}
//negative
fake_extrusion();
rotate([90, 0, 0])
// todo remove that rotation
{
translate([frameWidth/2+0.5, -5, -wallThickness])
{
translate([0, 0, -10]) //wtf? double voodoo
cylinder(r=barrelDiameter/2, h=4*wallThickness+1);
}
translate([(barrelDiameter/2)-0.6,-5,-10]){
cube([barrelDiameter,barrelDiameter,barrelDiameter]);
}
translate([-frameWidth, -wallThickness, -partThickness/2]){
rotate([0,90,0]){
#cylinder(r=screwRadius,h=frameWidth);
}
}
translate([frameWidth, -wallThickness, -partThickness/2]){
rotate([0,90,0]){
#cylinder(r=screwRadius,h=frameWidth);
}
}
}
}
}
}