$fa = 0.5;
$fs = 0.5;
channel = 7.7;
bearing_d = 22;
bearing_w = 7;
frame_to_channel = 10;
bolt_head_w = 6;
bolt_head_d = 14.7;
nut_w = 7;
nut_d = 14.7;
wheel = 40;
difference() {
union() {
translate([0, 0, -(channel - 0.2)/2]) cylinder(h=channel - 0.2, d=wheel);
translate([0, 0, (channel -0.2)/2-1]) cylinder(h=bolt_head_w + 4, d=bolt_head_d +5);
translate([0, 0, (channel -0.2)/2-1]) cylinder(h=4, d=bolt_head_d+15);
}
union() {
translate([0, 0, -(bearing_w + 1) / 2]) cylinder(h=bearing_w+0.5, d=bearing_d);
translate([0, 0, (bearing_w + 1) / 2 - 1]) cylinder(h=bolt_head_w + 3, d=bolt_head_d + 2);
translate([-wheel, -wheel, -wheel * 2]) cube(size=wheel*2);
}
}