aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElena ``of Valhalla'' Grandi <valhalla@trueelena.org>2016-07-23 10:38:55 +0200
committerElena ``of Valhalla'' Grandi <valhalla@trueelena.org>2016-07-23 10:38:55 +0200
commit1d0f3df3f8a582f637adcf6da5673d36e5f11a4d (patch)
tree7515372fca4e60d43694b6b28fa4a568ee20eb6b
parentc9f84e2c4aafaf7d7c81bfee3b188b295ec2c2ba (diff)
imported rotary tools
-rw-r--r--src/rotary_tools_handle.scad35
-rw-r--r--src/rotary_wheel-gear_saw_theet.scad33
-rw-r--r--src/rotary_wheel-gear_saw_theet_angle.scad36
-rw-r--r--src/rotary_wheel-measuring.scad25
-rw-r--r--src/rotary_wheel-pins.scad22
5 files changed, 151 insertions, 0 deletions
diff --git a/src/rotary_tools_handle.scad b/src/rotary_tools_handle.scad
new file mode 100644
index 0000000..b4dc581
--- /dev/null
+++ b/src/rotary_tools_handle.scad
@@ -0,0 +1,35 @@
+
+// Wheel radius
+r = 20;
+// Vertical clearance for the wheel, as a ratio
+r_clear = 1.25;
+
+// Handle radius
+handle_r = 6;
+// Handle height (excluding wheel support)
+handle_h = 100;
+
+// Axle radius
+axle_r = 2.5;
+
+supp_x = 4;
+supp_y = handle_r * sqrt(3);
+supp_z = r * r_clear + supp_y/2;
+
+rotate([90,0,0]) difference() {
+ union() {
+ translate([0, 0, -handle_h]) cylinder(r=handle_r, h=handle_h, $fn=6);
+ hull() {
+ translate([0, 0, -handle_r*2])
+ cylinder(r=handle_r, h=handle_r*2, $fn=6);
+ translate([-handle_r, -supp_y/2, 0])
+ cube([supp_x, supp_y, supp_z]);
+ translate([handle_r-supp_x, -supp_y/2, 0])
+ cube([supp_x, supp_y, supp_z]);
+ }
+ }
+ translate([-handle_r+supp_x, -supp_y/2-1, 0])
+ cube([(handle_r-supp_x)*2, supp_y+2, supp_z+2]);
+ translate([0, 0, r*r_clear]) rotate([0, 90, 0])
+ cylinder(r=axle_r, h=handle_r*2+2, center=true);
+}
diff --git a/src/rotary_wheel-gear_saw_theet.scad b/src/rotary_wheel-gear_saw_theet.scad
new file mode 100644
index 0000000..3d0262c
--- /dev/null
+++ b/src/rotary_wheel-gear_saw_theet.scad
@@ -0,0 +1,33 @@
+use <MCAD/involute_gears.scad>
+
+// Wheel radius (approximated)
+r = 20;
+// Wheel tickness
+thickness = 2;
+// Hub tickness
+max_thickness = 3;
+// Axle radius
+axle_r = 3;
+
+teeth = r*1.15;
+
+$fn=30;
+
+gear (
+ number_of_teeth=teeth,
+ circular_pitch=300,
+ diametral_pitch=false,
+ pressure_angle=38,
+ clearance = 0.2,
+ gear_thickness=thickness,
+ rim_thickness=thickness,
+ rim_width=5,
+ hub_thickness=max_thickness,
+ hub_diameter=axle_r*3,
+ bore_diameter=axle_r*2,
+ circles=0,
+ backlash=0,
+ twist=0,
+ involute_facets=0,
+ flat=false
+);
diff --git a/src/rotary_wheel-gear_saw_theet_angle.scad b/src/rotary_wheel-gear_saw_theet_angle.scad
new file mode 100644
index 0000000..d447f0c
--- /dev/null
+++ b/src/rotary_wheel-gear_saw_theet_angle.scad
@@ -0,0 +1,36 @@
+use <MCAD/involute_gears.scad>
+
+// Wheel radius (approximated)
+r = 20;
+// Wheel tickness
+thickness = 2;
+// Hub tickness
+max_thickness = 3;
+// Axle radius
+axle_r = 3;
+
+teeth = r*1.15;
+
+$fn=30;
+
+intersection() {
+ cylinder(r1=r*1.1, r2=r/2, h=max_thickness);
+ gear (
+ number_of_teeth=teeth,
+ circular_pitch=300,
+ diametral_pitch=false,
+ pressure_angle=38,
+ clearance = 0.2,
+ gear_thickness=thickness,
+ rim_thickness=thickness,
+ rim_width=5,
+ hub_thickness=max_thickness,
+ hub_diameter=axle_r*3,
+ bore_diameter=axle_r*2,
+ circles=0,
+ backlash=0,
+ twist=0,
+ involute_facets=0,
+ flat=false
+ );
+}
diff --git a/src/rotary_wheel-measuring.scad b/src/rotary_wheel-measuring.scad
new file mode 100644
index 0000000..8e3c980
--- /dev/null
+++ b/src/rotary_wheel-measuring.scad
@@ -0,0 +1,25 @@
+
+// Circunference
+c = 100;
+// Number of marks
+marks = 10;
+// Wheel tickness
+thickness = 2;
+// Hub tickness
+max_thickness = 3;
+// Axle radius
+axle_r = 3;
+
+r = c/PI/2;
+
+difference() {
+ union() {
+ cylinder(r=r, h=thickness);
+ cylinder(r=axle_r*2, h=max_thickness);
+ }
+ for (i = [0:marks]) {
+ rotate([0, 0, i*360/marks]) translate([r*0.75, -0.5, thickness-1]) cube([r, 1, 2]);
+ }
+ translate([r/2, -0.5, thickness-1]) cube([r, 1, 2]);
+ cylinder(r=axle_r, h=max_thickness*2+1, center=true, $fn=30);
+}
diff --git a/src/rotary_wheel-pins.scad b/src/rotary_wheel-pins.scad
new file mode 100644
index 0000000..e22024f
--- /dev/null
+++ b/src/rotary_wheel-pins.scad
@@ -0,0 +1,22 @@
+
+// Wheel radius (approximated)
+r = 20;
+// Number of pins
+pins = 23;
+// Wheel tickness
+thickness = 2;
+// Hub tickness
+max_thickness = 3;
+// Axle radius
+axle_r = 3;
+
+difference() {
+ union() {
+ for (i = [0:pins]) {
+ rotate([0, 0, i*360/pins]) translate([0, -0.5, 0]) cube([r, 1, 2]);
+ }
+ cylinder(r=r*0.9, h=thickness);
+ cylinder(r=axle_r*2, h=max_thickness);
+ }
+ cylinder(r=axle_r, h=max_thickness*2+1, center=true, $fn=30);
+}