pinephone: tune measurements

This commit is contained in:
2023-12-24 08:53:26 +00:00
parent 9fbc290263
commit 0c3422b301
3 changed files with 27 additions and 23 deletions

View File

@@ -3,21 +3,23 @@ use <lib/primitives.scad>
use <lib/transformations.scad>
// thickness of case walls
Thickness = 2.5;
Thickness = 1.5;
// how large of cuts (radial) to make around each component
MarginCameraCut = 2;
MarginButtonsCut = 2.8;
MarginCameraCut = 1;
MarginButtonsCut = 2.0;
MarginPortsCut = 7.0;
// radial margin; this value (halved) becomes the margin for thickness
MarginButtonsSeat = 1.4;
// radial margin
MarginButtonsSeat = 1.0;
// x margin (how extra thick the buttons could be)
MarginButtonsSeatX = 0.2;
// how far into the xy plane to extend the part of the case which covers the front of the phone.
// the top of the phone contains stuff we don't want to cover (camera); the bottom has more margin
FrontOverhangX = 3;
FrontOverhangTop = 3.5;
FrontOverhangBot = 6;
FrontOverhangX = 2;
FrontOverhangTop = 2;
FrontOverhangBot = 3.5;
// shift the overhang into the screen, to account that the case has some flex
FrontSquashZ = 1.2;
FrontSquashZ = 0.8;
// gives a wide margin around the whole body of the phone, but only in the xy plane.
module _PhoneBulkLayer(zMin=0)
@@ -182,7 +184,7 @@ module _Case(ButtonStyle)
};
// subtract the buttons (we want to give them a buffer even if ButtonStyle=extrude)
minkowski() {
cylinderX(r=MarginButtonsSeat, h=MarginButtonsSeat/2, center=true);
cylinderX(r=MarginButtonsSeat, h=MarginButtonsSeatX, center=true);
children(buttons);
};
}

View File

@@ -3,30 +3,30 @@ use <../lib/primitives.scad>
include <dimensions.scad>
module Volume_(Depth, Box=false)
module Volume_(Box=false)
{
if (Box) {
cube([Depth, VolumeLength, VolumeHeight], center=false);
cube([VolumeWidth, VolumeLength, VolumeHeight], center=false);
} else {
pillX(Depth, VolumeLength, VolumeHeight, center=false);
pillX(VolumeWidth, VolumeLength, VolumeHeight, center=false);
}
}
module Volume(Depth=2, Box=false)
module Volume(Box=false)
{
translate([BodyWidth, VolumeMinY, VolumeMinZ]) Volume_(Depth, Box=Box);
translate([BodyWidth, VolumeMinY, VolumeMinZ]) Volume_(Box=Box);
}
module Power_(Depth, Box=false)
module Power_(Box=false)
{
if (Box) {
cube([Depth, PowerLength, PowerHeight], center=false);
cube([PowerWidth, PowerLength, PowerHeight], center=false);
} else {
pillX(Depth, PowerLength, PowerHeight, center=false);
pillX(PowerWidth, PowerLength, PowerHeight, center=false);
}
}
module Power(Depth=2, Box=false)
module Power(Box=false)
{
translate([BodyWidth, PowerMinY, PowerMinZ]) Power_(Depth, Box=Box);
translate([BodyWidth, PowerMinY, PowerMinZ]) Power_(Box=Box);
}
module Camera_(Depth, Box=false)
@@ -37,7 +37,7 @@ module Camera_(Depth, Box=false)
pillZ(CameraWidth, CameraLength, Depth, center=false);
}
}
module Camera(Depth=2, Box=false)
module Camera(Depth=1, Box=false)
{
translate([CameraMinX, CameraMinY, BodyHeight]) Camera_(Depth, Box=Box);
}
@@ -50,7 +50,7 @@ module Usb_(Depth, Box=false)
pillY(UsbWidth, Depth, UsbHeight, center=false);
}
}
module Usb(Depth=2, Box=false)
module Usb(Depth=5, Box=false)
{
translate([BodyWidth/2 - UsbWidth/2, BodyLength-Depth, UsbMinZ]) Usb_(Depth, Box=Box);
}

View File

@@ -8,7 +8,7 @@
// i.e. the screen is defined to be at z=0.
// phone body
BodyLength=160;
BodyLength=161;
BodyWidth=76.6;
BodyHeight=9.2;
// about the radii:
@@ -23,12 +23,14 @@ VolumeMinY=26.0;
VolumeMinZ=3.5;
VolumeLength=19.8;
VolumeHeight=2.0;
VolumeWidth=0.5;
// offset from top of phone to the top of power button
PowerMinY=53.0;
PowerMinZ=3.5;
PowerLength=10.0;
PowerHeight=2.0;
PowerWidth=0.5;
// offset from left edge of phone to left edge of 3.5mm audio jack
AuxMinX=23.0;