forked from familab/simple-syringe-pump
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinline_nema.scad
More file actions
85 lines (78 loc) · 2.83 KB
/
inline_nema.scad
File metadata and controls
85 lines (78 loc) · 2.83 KB
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
83
84
85
include <syringePumpConstants.scad>
wall_thickness = 5;
part_thickness = 8;
// motor_width = 42; // NEMA 17
motor_width = 28.5; // NEMA 11
frame_width = motor_width + (wall_thickness + 1)*2;
bolt = 4;
height=0;
module fake_extrusion(){
translate([wall_thickness+1,-50,-(extrusionThickness/2 +wall_thickness)]) //voodoo
{
rotate([0,0,90]){
cube([100,extrusionThickness,extrusionThickness]);
}
}
translate([wall_thickness+nemaWidth+extrusionThickness+1,-55,-(extrusionThickness/2 +wall_thickness)])
{
rotate([0,0,90]){
cube([100,extrusionThickness,extrusionThickness]);
}
}
}
translate([0,0,0]){
rotate([90,0,0])
nema_mount();
}
module nema_mount()
{
//center the whole thing in X
translate([-frame_width/2, 0, 0])
{
difference()
{
//build the main unit.
//positive
union()
{
translate([0,0,-(frame_width+2*wall_thickness)/2]){
cube([frame_width, 2*wall_thickness, frame_width]);
//todo where do the 12 and 24 come from?
translate([-12,0,2*wall_thickness]){
cube([frame_width+24, 2*wall_thickness, frame_width/2]);
}
}
}
//negative
%fake_extrusion();
//nema 11 mount
rotate([90, 0, 0])
{
translate([frame_width/2+0.5, height - 5, -wall_thickness])
{
//todo where are all of these 10's and 11's coming from?
translate([11.5, 11.5, -2*wall_thickness])
cylinder(r=bolt/2, h=4*wall_thickness+1);
translate([-11.5, 11.5, -2*wall_thickness])
cylinder(r=bolt/2, h=4*wall_thickness+1);
translate([11.5, -11.5, -2*wall_thickness])
cylinder(r=bolt/2, h=4*wall_thickness+1);
translate([-11.5, -11.5, -2*wall_thickness])
cylinder(r=bolt/2, h=4*wall_thickness+1);
translate([0, 0, -2*wall_thickness])
cylinder(r=11.5, h=4*wall_thickness+1);
}
}
translate([-frame_width, wall_thickness, -wall_thickness]){
rotate([0,90,0]){
cylinder(r=screwRadius,h=frame_width);
}
}
translate([frame_width, wall_thickness, -wall_thickness]){
rotate([0,90,0]){
cylinder(r=screwRadius,h=frame_width);
}
}
}
}
}