From 5ad7e4a3d8b4ae330e8929f2e212bc332ac79150 Mon Sep 17 00:00:00 2001 From: Xavi Date: Sat, 28 Jan 2023 14:01:11 -0800 Subject: [PATCH] Added Wire Dispenser --- images/wire_dispenser.png | Bin 0 -> 9176 bytes wire_dispenser.scad | 61 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 images/wire_dispenser.png create mode 100644 wire_dispenser.scad diff --git a/images/wire_dispenser.png b/images/wire_dispenser.png new file mode 100644 index 0000000000000000000000000000000000000000..a8d441c4b1988a54f90c99a4a485f0904e62bc18 GIT binary patch literal 9176 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 VhKq={Rd64Gnz9zMSjjZ#KLDCxyn_G$ literal 0 HcmV?d00001 diff --git a/wire_dispenser.scad b/wire_dispenser.scad new file mode 100644 index 0000000..9038da5 --- /dev/null +++ b/wire_dispenser.scad @@ -0,0 +1,61 @@ + +module wire_dispenser(){ + axle_length=180; + module wire_dispenser_side(){ + + // Parameters + base_number=63; + axle_holder_width=base_number/8; + axle_holder_height=35; + axle_diameter=22; + axle_shift=43; + sphere_radius=3; + + minkowski(){ + difference(){ + union(){ + translate([base_number/4,0,0]){ + cylinder(d=base_number,axle_holder_width,$fn=3); + } + + translate([base_number/4,-base_number/4,0]){ + cube([axle_holder_height,base_number/2,base_number/8]); + } + } + + translate([axle_shift,0,2]){ + cylinder(d=axle_diameter + (sphere_radius*2), h=(base_number/2)); + } + } + + sphere(sphere_radius); + + } + } + + + module mirror_copy(mirrorvector){ + children(); + mirror( mirrorvector ) children(); + } + + mirror_copy([0,0,1]) translate([0,0,-((axle_length/2)+5)])wire_dispenser_side(); + + minkowski(){ + union(){ + translate([1,0,0]) cube([2,50,axle_length], center=true); + translate([10,-25,0]) cube([20,5,axle_length+10], center=true); + } + sphere(3); + } + +} + +rotate([0,-90,0]){ + difference(){ + wire_dispenser(); + for (i = [-58 : 29 : 58]){ + translate([12,-15,i]) rotate([90,0,0]) cylinder(d=4,h=20); + } + } +}