Skip to content

Commit c3df6fc

Browse files
committed
tune speaker slots
1 parent b6e76cd commit c3df6fc

2 files changed

Lines changed: 38 additions & 37 deletions

File tree

phone_case.json

Lines changed: 29 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,7 @@
462462
"body_seam_width": "25",
463463
"body_thickness": "22",
464464
"body_width": "98",
465-
"body_z_shimmy": "0.9",
465+
"body_z_shimmy": "0.20000000000000001",
466466
"bottom_mic_from_right_edge": "14.1",
467467
"bottom_mic_offset_up": "0.1",
468468
"bottom_speaker_height": "1.2",
@@ -604,6 +604,7 @@
604604
"shell_screen_max_lip_outer": "2",
605605
"shell_screen_min_lip_inner": "1",
606606
"shell_side_stickout": "0",
607+
"shimmy_consistent_thickness": "false",
607608
"show_cuts": "false",
608609
"show_phone_body": "false",
609610
"small_font_size": "6.1",
@@ -1995,6 +1996,7 @@
19951996
"body_seam_width": "25",
19961997
"body_thickness": "16.6",
19971998
"body_width": "98.1",
1999+
"body_z_shimmy": "1",
19982000
"bottom_mic_from_right_edge": "14.1",
19992001
"bottom_mic_offset_up": "0.1",
20002002
"bottom_speakers_left": "false",
@@ -2062,7 +2064,7 @@
20622064
"mic_on_top": "false",
20632065
"open_top": "true",
20642066
"open_top_backchop": "true",
2065-
"open_top_chop_ratio": "0.51",
2067+
"open_top_chop_ratio": "0.55000000000000004",
20662068
"phone_model": "Joycon",
20672069
"rail_cut_tools": "false",
20682070
"right_button_1": "false",
@@ -2102,6 +2104,7 @@
21022104
"support_airgap": "0.2",
21032105
"support_thickness": "0.4",
21042106
"telescopic": "true",
2107+
"telescopic_back_support": "true",
21052108
"telescopic_clearance_thickness": "0.5",
21062109
"telescopic_clearance_width": "0.7",
21072110
"telescopic_pocket": "false",
@@ -2427,14 +2430,17 @@
24272430
"body_bottom_side_angle": "90",
24282431
"body_bottom_side_radius": "0",
24292432
"body_chamfer": "true",
2433+
"body_chamfer_angle_bottom": "60",
2434+
"body_chamfer_angle_top": "60",
24302435
"body_length": "65",
24312436
"body_radius": "5.25",
2432-
"body_radius_bottom": "5.1",
2433-
"body_radius_top": "5.1",
2437+
"body_radius_bottom": "4.5",
2438+
"body_radius_top": "4.5",
24342439
"body_seam_offset": "0.1",
24352440
"body_seam_width": "5",
24362441
"body_thickness": "16.6",
24372442
"body_width": "98",
2443+
"body_z_shimmy": "1",
24382444
"bottom_mic_from_right_edge": "14.1",
24392445
"bottom_mic_offset_up": "0.1",
24402446
"bottom_speakers_left": "false",
@@ -2551,14 +2557,17 @@
25512557
"body_bottom_side_angle": "90",
25522558
"body_bottom_side_radius": "0",
25532559
"body_chamfer": "true",
2560+
"body_chamfer_angle_bottom": "62",
2561+
"body_chamfer_angle_top": "62",
25542562
"body_length": "120",
25552563
"body_radius": "5.25",
2556-
"body_radius_bottom": "5.1",
2557-
"body_radius_top": "5.1",
2564+
"body_radius_bottom": "4.5",
2565+
"body_radius_top": "4.5",
25582566
"body_seam_offset": "0.1",
25592567
"body_seam_width": "25",
2560-
"body_thickness": "16.6",
2568+
"body_thickness": "18.60000000000003",
25612569
"body_width": "72",
2570+
"body_z_shimmy": "1",
25622571
"bottom_mic_from_right_edge": "14.1",
25632572
"bottom_mic_offset_up": "0.1",
25642573
"bottom_speakers_left": "false",
@@ -2625,7 +2634,7 @@
26252634
"mic_on_top": "false",
26262635
"open_top": "true",
26272636
"open_top_backchop": "true",
2628-
"open_top_chop_ratio": "0.51",
2637+
"open_top_chop_ratio": "0.59999999999999998",
26292638
"phone_model": "Junglecat",
26302639
"rail_cut_tools": "false",
26312640
"right_button_1": "false",
@@ -2659,7 +2668,8 @@
26592668
"screen_undercut": "0.1",
26602669
"shell_side_stickout": "0",
26612670
"small_font_size": "6.1",
2662-
"speaker_holes_bottom": "true",
2671+
"speaker_holes_bottom": "false",
2672+
"speaker_slots_bottom": "true",
26632673
"split_in_half": "true",
26642674
"support_airgap": "0.2",
26652675
"support_thickness": "0.4",
@@ -2952,13 +2962,15 @@
29522962
"body_bottom_side_angle": "90",
29532963
"body_bottom_side_radius": "0",
29542964
"body_chamfer": "true",
2955-
"body_length": "63",
2965+
"body_chamfer_angle_bottom": "62",
2966+
"body_chamfer_angle_top": "62",
2967+
"body_length": "65",
29562968
"body_radius": "5.25",
2957-
"body_radius_bottom": "1.1",
2958-
"body_radius_top": "5.1",
2969+
"body_radius_bottom": "4.5",
2970+
"body_radius_top": "4.5",
29592971
"body_seam_offset": "0.1",
29602972
"body_seam_width": "8.5",
2961-
"body_thickness": "16.6",
2973+
"body_thickness": "18.600000000000001",
29622974
"body_width": "95",
29632975
"bottom_mic_from_right_edge": "14.1",
29642976
"bottom_mic_offset_up": "0.1",
@@ -3026,7 +3038,7 @@
30263038
"mic_on_top": "false",
30273039
"open_top": "true",
30283040
"open_top_backchop": "true",
3029-
"open_top_chop_ratio": "0.61",
3041+
"open_top_chop_ratio": "0.75",
30303042
"phone_model": "Telescopic Junglecat Vertical",
30313043
"rail_cut_tools": "false",
30323044
"right_button_1": "false",
@@ -3060,7 +3072,8 @@
30603072
"screen_undercut": "0.1",
30613073
"shell_side_stickout": "0",
30623074
"small_font_size": "6.1",
3063-
"speaker_holes_bottom": "true",
3075+
"speaker_holes_bottom": "false",
3076+
"speaker_slots_bottom": "true",
30643077
"split_in_half": "true",
30653078
"support_airgap": "0.2",
30663079
"support_thickness": "0.4",
@@ -3183,7 +3196,7 @@
31833196
"screen_undercut": "0.1",
31843197
"shell_side_stickout": "0",
31853198
"small_font_size": "6.1",
3186-
"speaker_holes_bottom": "true",
3199+
"speaker_slots_bottom": "true",
31873200
"split_in_half": "true",
31883201
"support_airgap": "0.2",
31893202
"support_thickness": "0.4",

phone_case.scad

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ support_thickness = 0.4; // [0.1:1 : 0.01]
5858
support_airgap = 0.20; // [0.0:0.4 : 0.01]
5959
//for soft case cutouts, don't support on the curved part
6060
manual_support_retract = 2; // [0:1:2]
61+
//the telescoping back can warp, hold it onto the bed
62+
telescopic_back_support = false;
6163

6264
//Chop the case in half for a test print to see how it fits. To check body_radius, use "top_half_pla".
6365
test_cut = "none"; //[none, corners, right_edge, right_buttons, left_edge, bottom_edge, top_edge, left_button, top_half_pla, telescopic]
@@ -278,7 +280,6 @@ telescopic_seam = 10; // [4:0.1:16]
278280
open_top = false;
279281
open_top_backchop = false;
280282
open_top_chop_ratio = 0.51; // 0.01
281-
speaker_holes_bottom = false;
282283
speaker_slots_bottom = false;
283284
speaker_slots_side=false;
284285
speaker_grill = false;
@@ -693,7 +694,7 @@ module manual_supports_(){
693694
}
694695

695696
//manual support inner of telescoping slider. The long part will warp enough to peel off of supports
696-
if(case_type2=="joycon" && rotate_upright==true && manual_supports==true){
697+
if(rotate_upright==true && manual_supports==true && telescopic_back_support==true){
697698
color(additionColor)
698699
difference() {
699700
support_brick_width = thick_side_thickness*0.8;
@@ -729,7 +730,7 @@ module manual_supports_(){
729730

730731
//main thick block of telescoping slider (duplicate code)
731732
//chop excess so it doesn't cut into the real part
732-
translate([-telescopic_offset,0,-body_bottom/2-case_thickness2])
733+
*translate([-telescopic_offset,0,-body_bottom/2-case_thickness2])
733734
minkowski() {
734735
cuboid(
735736
[ telescopic_width, telescopic_length, 0.01 ],
@@ -2155,7 +2156,7 @@ module telescopic_clamp(){
21552156

21562157

21572158

2158-
*universal_cuts();
2159+
universal_cuts();
21592160
module universal_cuts(){
21602161
if(split_in_half==true) {
21612162
color(negativeColor, 0.2)
@@ -2194,35 +2195,22 @@ module universal_cuts(){
21942195

21952196
junglecat_cuts(universal_inside=true);
21962197
}
2197-
if(speaker_holes_bottom) {
2198-
hole_sep = body_thickness/1.7;
2199-
hole_rad = body_thickness/4;
2200-
hole_count = floor((body_length-body_radius*2)/hole_sep/2);
2201-
copy_mirror()
2202-
for(i=[0:hole_count]){
2203-
if(i*hole_sep>body_seam_width/2)
2204-
color(negativeColor, 0.2)
2205-
translate([-body_width/2,i*hole_sep,0])
2206-
rotate([0,90,0])
2207-
cyl(r=hole_rad, h=body_width/4, anchor=CENTER);
2208-
}
2209-
}
22102198
if(speaker_slots_bottom) {
2211-
slot_length = body_thickness * 0.8;
2199+
slot_length = body_thickness-body_radius;
22122200
slot_width = 3;
22132201
slot_rounding = slot_width * 0.4;
22142202
hole_sep = 6;
22152203
hole_count = floor((body_length-body_radius*2)/hole_sep/2);
2216-
grill_z = 0;
2204+
grill_z = (case_type2=="joycon") ? joycon_z_shift+shimmy_translate : shimmy_translate;
22172205
grill_seam_buffer = 8;
22182206
copy_mirror()
22192207
for(i=[0:hole_count]){
22202208
if(i*hole_sep>body_seam_width/2+grill_seam_buffer)
22212209
color(negativeColor, 0.2)
22222210
translate([-body_width/3, i*hole_sep, grill_z])
2223-
rotate([0,90,0])
2211+
rotate([0,0,0])
22242212
cuboid(
2225-
[slot_length, slot_width, body_width],
2213+
[body_width, slot_width, slot_length],
22262214
rounding=slot_rounding,
22272215
anchor=CENTER
22282216
);

0 commit comments

Comments
 (0)