Skip to content

Instantly share code, notes, and snippets.

@wjlafrance
Created July 7, 2021 01:03
Show Gist options
  • Save wjlafrance/37744f7d942b1c6067936cf68d0ebaf9 to your computer and use it in GitHub Desktop.
Save wjlafrance/37744f7d942b1c6067936cf68d0ebaf9 to your computer and use it in GitHub Desktop.
QiChargerStand.scad
phoneHeight = 165;
phoneWidth = 85;
crossarmSize = 8;
crossarmWidth = phoneWidth + crossarmSize * 2 + 2;
crossarmPosition = (phoneHeight - phoneWidth) / 2;
backWidth = 60;
backHeight = 135;
backDepth = 15;
lipDepth = 18;
lipThickness = 8;
baseDepth = backWidth * 1.3;
baseThickness = 10;
chargePadDepth = 10;
chargePadDiameter = 102;
rotate([-20, 0, 0]) {
difference() {
union() {
// main phone backing plate
translate([0, 0, baseThickness]) {
cube([backWidth, backDepth, backHeight+lipThickness]);
}
// cross-arm for landscape orientation
translate([(backWidth - crossarmWidth) * 0.5, 0, crossarmPosition]) {
cube([crossarmWidth, backDepth, crossarmSize]);
}
}
// cutout hole for qi charger
translate([backWidth/2, chargePadDepth/2, phoneHeight/2 + baseThickness]) {
rotate([90, 0, 0]) {
cylinder(
h = chargePadDepth,
r = chargePadDiameter / 2,
center = true);
}
}
}
// left arm
translate([-(crossarmWidth - backWidth) * 0.5, -backDepth, crossarmPosition]) {
cube([crossarmSize, backDepth, crossarmSize]);
}
// right arm
translate([crossarmWidth -(crossarmWidth - backWidth) * 0.5 - crossarmSize, -backDepth, crossarmPosition]) {
cube([crossarmSize, backDepth, crossarmSize]);
}
// phone lip
translate([0, -backDepth, baseThickness/2]) {
cube([backWidth, lipDepth, lipThickness]);
}
}
// base
cube([backWidth, baseDepth, baseThickness]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment