134 lines
3.4 KiB
OpenSCAD
134 lines
3.4 KiB
OpenSCAD
include <./common/knurledFinishLib_v2.scad>;
|
|
|
|
$fn = 90;
|
|
|
|
module key () {
|
|
difference () {
|
|
cylinder(r = 6.7 / 2, h = 5, center = true);
|
|
cylinder(r = 4.76 / 2, h = 5, center = true);
|
|
}
|
|
translate ([0, 0, -7.5]) {
|
|
cylinder(r = 6.7 / 2, h = 10, center = true);
|
|
}
|
|
}
|
|
|
|
module keyHole () {
|
|
translate ([0, 0, 1.75]) {
|
|
cube([10, 2, 1.5], center = true);
|
|
}
|
|
}
|
|
|
|
module body () {
|
|
translate([0, 0, -13.5]){
|
|
cylinder(r = 5, h = 2, center = true);
|
|
}
|
|
translate([0, 0, -16]) {
|
|
cylinder(r = 5, h = 3, center = true);
|
|
translate([20, 0, 0]) {
|
|
cylinder(r = 5, h = 3, center = true);
|
|
}
|
|
translate([10, 0, 0]){
|
|
cube([20, 10, 3],center = true);
|
|
}
|
|
}
|
|
}
|
|
|
|
module pinHole () {
|
|
pin_d = 5.34;
|
|
translate([20, 0, -16.5]) {
|
|
cylinder(r = pin_d / 2, h = 4, center = true);
|
|
}
|
|
}
|
|
|
|
module pin () {
|
|
base_d = 8;
|
|
base_h = 1;
|
|
pin_d = 5.34 - 0.015;
|
|
pin_h = 17.3;
|
|
notch = 3;
|
|
cylinder(r = base_d / 2, h = base_h, center = true); //base
|
|
difference () {
|
|
translate([0, 0, (pin_h/2) + (base_h/2)]) cylinder(r = pin_d / 2, h = pin_h, center = true); //pin
|
|
translate([0, 0, pin_h - (notch/2) + (base_h/2)]) cube([notch, notch, notch], center =true);
|
|
}
|
|
|
|
}
|
|
|
|
module pinTop () {
|
|
base_d = 8;
|
|
base_h = 2;
|
|
notch = 3 - 0.02;
|
|
|
|
cylinder(r = base_d / 2, h = base_h, center = true); //base
|
|
translate([0, 0, (notch / 2) + (base_h / 2)]) cube([notch, notch, notch], center = true);
|
|
}
|
|
|
|
module handle () {
|
|
pin_d = 5.34 +.3;
|
|
handle_d = 10.5;
|
|
difference () {
|
|
cylinder(r = handle_d/2, h = 13.75, center = true);
|
|
cylinder(r = pin_d/2, h = 15, center = true);
|
|
}
|
|
}
|
|
|
|
module helper () {
|
|
translate([0, 15, -7.5]) {
|
|
cylinder(r = 6, h = 20, center = true);
|
|
}
|
|
}
|
|
|
|
module bolex_rewind_key ( DECOYS = false) {
|
|
difference () {
|
|
body();
|
|
//pinHole();
|
|
}
|
|
translate([20, 0, -24.5 - 8.5]) cylinder(r = 5.2 / 2, h = 18);
|
|
translate([20, 0, -24.5 - 8.5]) cylinder(r = 8 / 2, h = 1.5);
|
|
|
|
difference () {
|
|
key();
|
|
keyHole();
|
|
}
|
|
//decoys
|
|
if (DECOYS) {
|
|
translate([32,0,-15.5]) cube([4, 4, 4], center = true);
|
|
translate([-18,0,-15.5]) cube([4, 4, 4], center = true);
|
|
translate([0,15,-15.5]) cube([4, 4, 4], center = true);
|
|
translate([0,-15,-15.5]) cube([4, 4, 4], center = true);
|
|
}
|
|
}
|
|
|
|
module bolex_rewind_knurled_handle () {
|
|
difference () {
|
|
knurled_cyl(13, 13, 2, 2, .3, 0, 0);
|
|
cylinder(r = 5.6 / 2, h = 40, center = true);
|
|
}
|
|
}
|
|
|
|
module bolex_rewind_knurled_handle_SPLIT (piece = 0) {
|
|
difference () {
|
|
bolex_rewind_knurled_handle();
|
|
if (piece == 0) {
|
|
translate([15, 0, 0]) cube([30, 30, 41], center = true);
|
|
translate([0, 3.7, 13.75 / 2]) cube([2, 2, 5], center = true);
|
|
translate([0, -3.7, 13.75 / 2]) cube([2, 2, 5], center = true);
|
|
} else if (piece == 1) {
|
|
difference () {
|
|
translate([-15, 0, 0]) cube([30, 30, 41], center = true);
|
|
translate([0, 3.7, 13.75 / 2]) cube([1.8, 1.8, 4.8], center = true);
|
|
translate([0, -3.7, 13.75 / 2]) cube([1.8, 1.8, 4.8], center = true);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
PART = "bolex_rewind_key";
|
|
|
|
if (PART == "bolex_rewind_key") {
|
|
bolex_rewind_key();
|
|
} else if (PART == "bolex_rewind_key_handle") {
|
|
bolex_rewind_knurled_handle_SPLIT(0);
|
|
translate([10, 0, 0]) bolex_rewind_knurled_handle_SPLIT(1);
|
|
}
|