@@ -37,7 +37,7 @@ Lite_ESP_dimensions = [53, 29, 4.8];
37
37
38
38
Lite_USB_position_x = 55 ;
39
39
Lite_USB_position_y = 0 ;
40
- Lite_USB_position_z = - 15 ;
40
+ Lite_USB_position_z = - 14.5 ;
41
41
42
42
Lite_screwmount_top = 4 ;
43
43
Lite_screwmount_bottom = 6 ;
@@ -47,11 +47,16 @@ Lite_USB = [Lite_USB_position_x, Lite_USB_position_y, Lite_USB_position_z];
47
47
48
48
Lite_ESP_position = [Lite_ESP_position_x, Lite_ESP_position_y, Lite_ESP_position_z];
49
49
50
- sensor_x = - Lite_transducer_position[2 ]+ .5 ;
50
+ sensor_x = - Lite_transducer_position[2 ] + .5 ;
51
51
sensor_y = Lite_transducer_position[0 ];
52
52
53
53
function angle_three_points_2d(pa, pb, pc) = asin(cross(pb - pa, pb - pc) / (norm(pb - pa) * norm(pb - pc)));
54
54
55
+ module rounded_cube(x, y, z, r, r2, center = true) {
56
+ t = center ? - [x / 2 , y / 2 , z / 2 ]: [0 , 0 , 0 ];
57
+ translate (t)polyRoundExtrude([[0 , 0 , max (r, r2)], [0 , y, max (r, r2)], [x, y, max (r, r2)], [x, 0 , max (r, r2)]], z, r, r2);
58
+ }
59
+
55
60
module SidePolygon() {
56
61
corners = [
57
62
[square_x, - lite_w / 2 , 9 ],
@@ -64,15 +69,14 @@ module SidePolygon() {
64
69
translate ([sensor_x, sensor_y])polygon(polyRound(corners, fn = 150 ));
65
70
}
66
71
67
-
68
72
module MidPolygon() {
69
73
corners = [[square_x, - lite_w / 2 , 5 ], [- boardcorner_x, - boardcorner_y, 5 ], [- boardcorner_x, boardcorner_y, 5 ], [square_x, lite_w / 2 , 5 ], [lite_l, lite_w / 2 , 5 ], [lite_l, -
70
74
lite_w / 2 , 5 ]];
71
75
translate ([sensor_x, sensor_y]) polygon(polyRound(corners));
72
76
}
73
77
74
78
module LidCutter() {
75
- translate ([30 , 0 , Lite_ESP_position_z + 0.8 ])cube ([90 , 60 , 0.1 ], center = true );
79
+ translate ([40 , 0 , Lite_ESP_position_z + 0.8 ])cube ([120 , 90 , 0.1 ], center = true );
76
80
}
77
81
78
82
module Box() {
@@ -114,7 +118,8 @@ module Ultrasonic(i, onlyboards = false, h = 30) {
114
118
}
115
119
116
120
module USB_hole() {
117
- translate (Lite_USB)cube ([20 , 12 , 10 ], center = true );
121
+ translate (Lite_USB)
122
+ rounded_cube(45 , 11 , 11 , 1.5 , 1.5 , center = true );
118
123
}
119
124
120
125
module Screwbump(size = 6, hole_diameter = 2.8, height = 6, bottom = true, toppart = 2.1) {
@@ -168,9 +173,19 @@ difference() {
168
173
Screwbump(size = 4 , hole_diameter = 2.8 , height = Lite_screwmount_height, bottom = true , toppart = Lite_screwmount_top);
169
174
translate ([lite_w - 7.3 , - 12 , Lite_ESP_position_z + 0.8 + 0.05 - Lite_screwmount_top])rotate ([0 , 0 , - 90 ])
170
175
Screwbump(size = 4 , hole_diameter = 2.8 , height = Lite_screwmount_height, bottom = true , toppart = Lite_screwmount_top);
171
- translate ([23.8 , - 3.5 , - 17.9 ])rotate ([180 , 0 , 90 ])StandardMountAdapter(screwholes = false , channels = false );
176
+ translate ([23.8 , - 3.5 , - 17.9 ])rotate ([180 , 0 , 90 ])StandardMountAdapter(screwholes = false , channels = false , twoholes = false );
172
177
difference () {
173
- rotate ([90 , 90 , 0 ])Box();
178
+ union () {
179
+ rotate ([90 , 90 , 0 ])Box();
180
+ translate (Lite_USB + [0 , 0 , - 3.5 - 1.6 + 1 ]) {
181
+ rounded_cube(28 , 10 , 6.5 , 0 , 1.5 , center = true );
182
+
183
+ difference () {
184
+ rounded_cube(30 , 15 , 6.5 , 0 , 1.5 , center = true );
185
+ #translate ([8 , - 20 , - 5 ])cube ([4 , 60 , 20 ]);
186
+ }
187
+ }
188
+ }
174
189
hull () translate ([23.8 , - 3.5 , - 18 ])rotate ([180 , 0 , 90 ])StandardMountAdapter(screwholes = false , channels = false );
175
190
176
191
}
@@ -179,4 +194,4 @@ difference() {
179
194
LidCutter();
180
195
}
181
196
182
- if ($ preview) translate ([80 ,0 , 0 ])LiteElectronics();
197
+ if ($ preview) translate ([80 , 0 , 0 ])LiteElectronics();
0 commit comments