@@ -165,11 +165,32 @@ hanging_hole_wall_thickness = 1;
165165
166166/* [SD card adapter cutout] */
167167
168- sd_card_in_leg = true ;
168+ sd_card_in_leg = false ;
169169sd_card_in_leg_side = "left" ; // [left, right]
170170sd_card_in_leg_side_side = "left" ; // [left, right]
171171sd_card_in_leg_y_percentage = 75.5 ;
172172
173+ /* [Rear cooling] */
174+ rear_cooling = false ;
175+ rear_cooling_x_start_percentage = 6.1 ;
176+ rear_cooling_x_end_percentage = 20 ;
177+ rear_cooling_y_start_percentage = 20 ;
178+ rear_cooling_y_end_percentage = 60 ;
179+ rear_cooling_radius = 2 ;
180+ rear_cooling_gap = 5 ;
181+ rear_cooling_offset = 5 ;
182+
183+ /* [Raspberry Pi Zero Pinholes] */
184+ pi_pinholes = false ;
185+ pi_pinholes_ordientation = "vertical" ; // [horizontal, vertical]
186+ pi_pinholes_x_percentage = 5.5 ;
187+ pi_pinholes_y_percentage = 15 ;
188+ pi_pinholes_diameter = 2.5 ;
189+ pi_pinholes_spacer = 4.1 ;
190+ pi_pinholes_spacer_height = 3 ;
191+ pi_pinholes_height = 23 ;
192+ pi_pinholes_width = 58 ;
193+
173194/* [Debug] */
174195
175196// Gap between STL parts for visual debugging
@@ -572,6 +593,9 @@ module case() {
572593 bottom= (view_mode == "print_vertical" )
573594 );
574595 }
596+ if (pi_pinholes) {
597+ piPinholes();
598+ }
575599
576600 // Cut out a piece of the cube
577601 caseBody();
@@ -706,6 +730,10 @@ module case() {
706730 ])
707731 cube ([hanging_hole_small_diameter, hanging_hole_large_diameter, back_depth + 0.21 ]);
708732 }
733+
734+ if (rear_cooling) {
735+ rearCooling();
736+ }
709737 }
710738}
711739
@@ -1056,9 +1084,6 @@ sd_adapter_height = 32;
10561084sd_adapter_depth = 2.2 ;
10571085sd_adapter_micro_width = 10.5 ;
10581086sd_adapter_micro_hole_height = 3.3 ;
1059- sd_card_x_position = (sd_card_in_leg_side == "left" ? leg_x_starts_hole[0 ] + 0.11 : leg_x_starts_hole[1 ] + 0.11 ) +
1060- (sd_card_in_leg_side_side == "left" ? 0 : kickstand_leg_width + kickstand_gap_thickness * 2 - 0.21 );
1061- sd_card_y_position = sd_card_in_leg_y_percentage / 100 * kickstand_height + (frame_full_height - kickstand_height);
10621087
10631088module sdCardAdapterCutout() {
10641089 translate ([- sd_adapter_width / 2 , 0 , case_depth - 2 * sd_adapter_depth])
@@ -1084,6 +1109,44 @@ module sdCardAdapterBase() {
10841109 }
10851110}
10861111
1112+ // Draw tiny holes into the back panel for cooling
1113+ module rearCooling() {
1114+ rear_cooling_x_start = rear_cooling_x_start_percentage / 100 * frame_full_width;
1115+ rear_cooling_x_end = rear_cooling_x_end_percentage / 100 * frame_full_width;
1116+ rear_cooling_y_start = rear_cooling_y_start_percentage / 100 * frame_full_height;
1117+ rear_cooling_y_end = rear_cooling_y_end_percentage / 100 * frame_full_height;
1118+
1119+ for (x = [rear_cooling_x_start : rear_cooling_gap : rear_cooling_x_end]) {
1120+ for (y = [rear_cooling_y_start : rear_cooling_gap : rear_cooling_y_end]) {
1121+ translate ([x, y, - 0.11 ])
1122+ cylinder (d = rear_cooling_radius, h = case_depth + back_depth + 0.22 );
1123+ }
1124+ }
1125+ }
1126+
1127+ module piPinholes() {
1128+ pin_holes_x = pi_pinholes_x_percentage / 100 * frame_full_width;
1129+ pin_holes_y = pi_pinholes_y_percentage / 100 * frame_full_height;
1130+
1131+ pin_hole_locations = pi_pinholes_ordientation == "horizontal" ? [
1132+ [pin_holes_x, pin_holes_y],
1133+ [pin_holes_x + pi_pinholes_width, pin_holes_y],
1134+ [pin_holes_x, pin_holes_y + pi_pinholes_height],
1135+ [pin_holes_x + pi_pinholes_width, pin_holes_y + pi_pinholes_height]
1136+ ] : [
1137+ [pin_holes_x, pin_holes_y],
1138+ [pin_holes_x + pi_pinholes_height, pin_holes_y],
1139+ [pin_holes_x, pin_holes_y + pi_pinholes_width],
1140+ [pin_holes_x + pi_pinholes_height, pin_holes_y + pi_pinholes_width]
1141+ ];
1142+ for (loc = pin_hole_locations) {
1143+ translate ([loc[0 ], loc[1 ], - 0.11 ])
1144+ cylinder (d = pi_pinholes_diameter, h = case_depth + 0.22 );
1145+ translate ([loc[0 ], loc[1 ], case_depth - pi_pinholes_spacer_height - 0.11 ])
1146+ cylinder (d = pi_pinholes_spacer, h = pi_pinholes_spacer_height + 0.22 );
1147+ }
1148+ }
1149+
10871150/** ***************************************************************************/
10881151/* Rendering */
10891152/** ***************************************************************************/
0 commit comments