Solid bearing

This commit is contained in:
Ian Gulliver
2026-07-20 21:48:13 -07:00
parent 0de371908a
commit 3b9a1845b8
3 changed files with 20 additions and 31 deletions
Binary file not shown.
Binary file not shown.
+16 -27
View File
@@ -1,11 +1,10 @@
$fn = 300; $fn = 300;
// * c w // * c w
part = "w"; part = "c";
slot_center_spacing = 25.4; slot_center_spacing = 25.4;
ramp_height = 5; ramp_height = 5;
ramp_slot_mid = 4.25; ramp_slot_mid = 4.25;
ramp_depth = 2.5; ramp_depth = 2.5;
@@ -13,23 +12,18 @@ ramp_depth = 2.5;
deramp_height = 1; deramp_height = 1;
deramp_depth = (ramp_depth / ramp_height) * (ramp_height - deramp_height); deramp_depth = (ramp_depth / ramp_height) * (ramp_height - deramp_height);
bearing_radius = 8.1; bulk_radius = 2;
bearing_underhang = 1;
bulk_radius = 4;
bearing_height = 5; rod_radius = 4.2;
bearing_count = 2; bearing_radius = 4;
bearing_cut_depth = 2;
core_radius = 9.5;
core_bump_radius = 1; core_bump_radius = 1;
core_bump_height = 2; core_bump_height = 2;
e = 0.02; e = 0.02;
inner_radius = bearing_radius - bearing_underhang; outer_radius = rod_radius + bearing_radius + bulk_radius;
echo("inner_radius=", inner_radius);
outer_radius = inner_radius + bulk_radius;
echo("outer_radius=", outer_radius); echo("outer_radius=", outer_radius);
echo("max_radius=", outer_radius + ramp_depth); echo("max_radius=", outer_radius + ramp_depth);
@@ -39,8 +33,6 @@ mid = slot_center_spacing - ramp_slot_mid - ramp_slot_mid;
total_height = deramp_height + ramp_height + mid + ramp_height + deramp_height; total_height = deramp_height + ramp_height + mid + ramp_height + deramp_height;
echo("total_height=", total_height); echo("total_height=", total_height);
bearing_portion = mid / bearing_count;
if (part == "*" || part == "c") { if (part == "*" || part == "c") {
color("grey", 0.6) color("grey", 0.6)
intersection() { intersection() {
@@ -63,12 +55,10 @@ module core_mask() {
[0, total_height + e], [0, total_height + e],
[0, 0 - e], [0, 0 - e],
[core_radius + core_bump_radius, 0 - e], [rod_radius + bearing_radius + core_bump_radius, 0 - e],
[core_radius + core_bump_radius, 0], [rod_radius + bearing_radius + core_bump_radius, 0],
[core_radius, core_bump_height], [rod_radius + bearing_radius, core_bump_height],
[core_radius, total_height - core_bump_height], [rod_radius + bearing_radius + core_bump_radius, total_height + e],
[core_radius + core_bump_radius, total_height],
[core_radius + core_bump_radius, total_height + e],
]); ]);
} }
@@ -86,8 +76,8 @@ module wheel() {
difference() { difference() {
rotate_extrude() rotate_extrude()
polygon([ polygon([
[inner_radius, total_height], [rod_radius, total_height],
[inner_radius, 0], [rod_radius, 0],
[outer_radius + deramp_depth, 0], [outer_radius + deramp_depth, 0],
[outer_radius + ramp_depth, deramp_height], [outer_radius + ramp_depth, deramp_height],
@@ -97,11 +87,10 @@ module wheel() {
[outer_radius + deramp_depth, total_height], [outer_radius + deramp_depth, total_height],
]); ]);
for (a=[0:45:360]) {
for (b = [0 : bearing_count - 1]) { translate([0, 0, -e])
translate([0, 0, deramp_height + ramp_height + (b * bearing_portion)]) rotate([0, 0, a])
translate([0, 0, bearing_portion / 2 - bearing_height / 2]) cube([rod_radius + bearing_cut_depth, 1, e + total_height + e]);
cylinder(h=bearing_height, r=bearing_radius);
} }
} }
} }