// 12th Jan 2022 // (c) Martin "maride" Dessauer // Pour Markus, mon ami IBUTTON_DIAMETER = 17.5; IBUTTON_HEIGHT = 6; IBUTTON_HEIGHT_FACTOR = 0.5; HOLDER_DIAMETER_1 = IBUTTON_DIAMETER + 5; HOLDER_DIAMETER_2 = HOLDER_DIAMETER_1 / 2; HOLDER_LENGTH = 40; HOLE_INNER_SIZE = 6; $fn = 36; difference() { union() { // Shaft cylinder(h = HOLDER_LENGTH, d1 = HOLDER_DIAMETER_1, d2 = HOLDER_DIAMETER_2); // Ball/Cap at the top translate([0, 0, HOLDER_LENGTH]) sphere(d = HOLDER_DIAMETER_2); } // iButton hole cylinder(h = IBUTTON_HEIGHT * IBUTTON_HEIGHT_FACTOR, d = IBUTTON_DIAMETER); // Keychain hole translate([0, HOLDER_DIAMETER_1/2, HOLDER_LENGTH]) rotate([90, 0, 0]) cylinder(h = HOLDER_DIAMETER_1, d = HOLE_INNER_SIZE); }