-
Notifications
You must be signed in to change notification settings - Fork 0
/
Robophilo ezrobot adapter v2.scad
141 lines (108 loc) · 3.47 KB
/
Robophilo ezrobot adapter v2.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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
// Plate
plateX = 76;
plateY = 50;
plateZThickness = 1.5;
plateXZero = 38;
plateYZero = 28.5;
//RoboPhilo mount variables
//Screw Hole size is to allow screws to pass through without biting
rpScrewHoleSize = 1;
rpXLeft = 26 + 1.1;
rpXRight = 48.1 + 1.1;
rpXMidSpace = 20;
rpYBottom = 9.3 + 1.1;
rpYTop = 38.3 + 1.1;
rpYMidSpace = 27;
rpScrewMountZ = 5;
rpScrewmountDiameter = 3;
//ezRobot mount variables
//Screw hole size here is to allow #4 screws to bite into it
//You can change the screwhole size and the hole will stay in the same position
ezrScrewHoleSize = 1;
ezrOffset = 17.5 + 2.55; //2.55 is the center of the hole on teh ezbv4
ezrScrewMountZ = 3;
ezrScrewMountDiameter = 4;
difference(){
union(){
// Plate
cube([plateX,plateY,plateZThickness]);
//RoboPhilo screw mounts
//fixed position based on the actual plate
//lower left
color([1,0,0])
translate([rpXLeft,rpYBottom,plateZThickness])
cylinder(rpScrewMountZ,rpScrewmountDiameter,rpScrewmountDiameter);
//lower right
color([1,0,0])
translate([rpXRight,rpYBottom,plateZThickness])
cylinder(rpScrewMountZ,rpScrewmountDiameter,rpScrewmountDiameter);
//upper left
color([1,0,0])
translate([rpXLeft,rpYTop,plateZThickness])
cylinder(rpScrewMountZ,rpScrewmountDiameter,rpScrewmountDiameter);
//upper right
color([1,0,0])
translate([rpXRight,rpYTop,plateZThickness])
cylinder(rpScrewMountZ,rpScrewmountDiameter,rpScrewmountDiameter);
//EZ Robot Screw mounts
//calculated based on the center coordinates of the plate
//lower left
color([0,1,0])
translate([plateXZero-ezrOffset,plateYZero-ezrOffset,plateZThickness])
cylinder(ezrScrewMountZ,ezrScrewMountDiameter,ezrScrewMountDiameter);
//lower right
color([0,1,0])
translate([plateXZero+ezrOffset,plateYZero-ezrOffset,plateZThickness])
cylinder(ezrScrewMountZ,ezrScrewMountDiameter,ezrScrewMountDiameter);
//upper left
color([0,1,0])
translate([plateXZero-ezrOffset,plateYZero+ezrOffset,plateZThickness])
cylinder(ezrScrewMountZ,ezrScrewMountDiameter,ezrScrewMountDiameter);
//upper right
color([0,1,0])
translate([plateXZero+ezrOffset,plateYZero+ezrOffset,plateZThickness])
cylinder(ezrScrewMountZ,ezrScrewMountDiameter,ezrScrewMountDiameter);
} //end union() of plate
//mount holes to mount to RoboPhilo
//lower left
color([0,0,1])
translate([rpXLeft,rpYBottom,-1])
cylinder(10,rpScrewHoleSize,rpScrewHoleSize);
//lower right
color([0,0,1])
translate([rpXRight,rpYBottom,-1])
cylinder(10,rpScrewHoleSize,rpScrewHoleSize);
//upper left
color([0,0,1])
translate([rpXLeft,rpYTop,-1])
cylinder(10,rpScrewHoleSize,rpScrewHoleSize);
//upper right
color([0,0,1])
translate([rpXRight,rpYTop,-1])
cylinder(10,rpScrewHoleSize,rpScrewHoleSize);
//EZ Robot Screw holes
//lower left
color([0,0,1])
translate([plateXZero-ezrOffset,plateYZero-ezrOffset, -1])
cylinder(10,ezrScrewHoleSize,ezrScrewHoleSize);
//lower right
color([0,0,1])
translate([plateXZero+ezrOffset,plateYZero-ezrOffset, -1])
cylinder(10,ezrScrewHoleSize,ezrScrewHoleSize);
//upper left
color([0,0,1])
translate([plateXZero-ezrOffset,plateYZero+ezrOffset, -1])
cylinder(10,ezrScrewHoleSize,ezrScrewHoleSize);
//upper right
color([0,0,1])
translate([plateXZero+ezrOffset,plateYZero+ezrOffset, -1])
cylinder(10,ezrScrewHoleSize,ezrScrewHoleSize);
//top cutoff
color([1,1,0])
translate([0,50,0])
cube([plateX,4,10]);
//bottom cutoff
color([1,1,0])
translate([0,3,plateZThickness])
cube([plateX,4,10]);
} // end difference()