51 lines
1.5 KiB
OpenSCAD
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]);
|