3d-models/scad/mac_power_cable_holder.scad

51 lines
1.5 KiB
OpenSCAD

include <lib/arc_cylinder.scad>
epsilon = 0.01;
laptopThickness = 16.35;
laptopWidth = 358;
standWidth = 152;
cableDiameter = 3.75;
supportLength = 10;
module cableSleeve(cableDiameter, length) {
innerRadius = (cableDiameter + 1) / 2; // give 1mm clearence for the cable
arcCylinder(
height = length,
outerRadius = innerRadius + 2,
innerRadius = innerRadius,
degrees = 360 - (2 * asin(cableDiameter / (cableDiameter + 2))));
}
difference() {
union() {
translate([0, standWidth / 2, cableDiameter + 0.51])
rotate([90, 0, 0])
cableSleeve(cableDiameter = cableDiameter, length = standWidth);
translate([-4, standWidth/2 - epsilon, -3])
cube([4, supportLength + epsilon, 7]);
translate([ -4, standWidth/-2 - supportLength + epsilon, -3])
cube([4, supportLength + epsilon, 7]);
}
translate([0, 97, cableDiameter + 0.51])
rotate([90, 0, 0])
//color("SteelBlue")
cylinder(r = (cableDiameter + 1) / 2, h = 194);
}
translate([-8 - laptopThickness - 7, standWidth/2, -4])
cube([4 + 4 + laptopThickness + 7, supportLength, 3]);
translate([-8 - laptopThickness - 7, standWidth/-2 - supportLength, -4])
cube([4 + 4 + laptopThickness + 7, supportLength, 3]);
translate([-8 - laptopThickness - 7, standWidth/2, -4])
cube([4, supportLength, 16]);
translate([-8 - laptopThickness - 7, standWidth/-2 - supportLength, -4])
cube([4, supportLength, 16]);