OpenSCAD source
Download OpenSCAD source
// Accessory clip that clips onto the Pixel 7 Pro case that I have right now
// Spigen Thin Fit Designed for Pixel 7 Pro Case (2022) - Black
// https://www.amazon.com/gp/product/B09YMV82N8
// Fits against the USB-C Micro SD adapter
// chenyang CY 2pcs USB Type C USB-C to Micro SD SDXC TF Card Reader Adapter for Laptop Cell Phone (2pcs/Set)
// https://www.amazon.com/dp/B077S2PKYD
// Case outer is 80mm with curved sides
// Curved sides are 10.7mm high
infinity = 200;
epsilon = 0.001;
length = 60;
thickness = 2;
curve = 10.7 + 0.3;
width = 70 + 0.9 + 0.6;
partition = 21.0;
difference() {
hull() {
translate([-width/2,0,0])
cylinder(d=curve+2*thickness, h=length, $fn=100);
translate([+width/2,0,0])
cylinder(d=curve+2*thickness, h=length, $fn=100);
}
translate([0,0,+thickness+partition])
hull() {
translate([-width/2,0,0])
cylinder(d=curve, h=infinity, $fn=100);
translate([+width/2,0,0])
cylinder(d=curve, h=infinity, $fn=100);
}
// Cut out the whole interior for the phone to slide in
translate([0,curve/2,infinity/2+thickness+partition])
cube([width+4,curve,infinity], center=true);
// Cut out a notch for the SD card to slide in
translate([0,curve/2,infinity/2-epsilon])
cube([16,curve,infinity], center=true);
// Remove space for the handle on the USB-SD adapter to fit and for epoxy to flow around it
// Has a slight overhang but hopefully the printer can deal with this
translate([0,0+thickness/2+epsilon,16/2+thickness+epsilon])
cube([20,curve+thickness,16], center=true);
// Remove space for the rest of the USB-SD adapter which rides 3.4mm higher than the handle
translate([0,0+thickness/2+epsilon+2.0,partition/2+thickness+epsilon])
cube([20,curve+thickness,partition], center=true);
// Drill pilot holes to allow the epoxy to grab onto the handle on the USB-SD adapter
translate([0,0,8.1+1])
rotate([90,0,0])
cylinder(d=2, $fn=4, h=infinity, center=true);
// Holes above the handle for more access to inject epoxy if needed
translate([0,0,8.1+1+5])
rotate([90,0,0])
cylinder(d=2, $fn=4, h=infinity, center=true);
// Remove printable space that is not in use to save print time
for (copy = [0,180]) {
rotate([0,0,copy])
translate([0,0,+thickness])
hull() {
translate([-width/2,0,0])
cylinder(d=curve, h=infinity, $fn=100);
translate([-16-thickness,0,infinity/2])
cube([curve,curve,infinity],center=true);
}
}
}
|