$fn=150;


wheel_width = 15;
wheel_dia=75;

bearing_outer_dia = 30;
bearing_width=9;
bearing_shoulder = 1.5;
rope_dia = 8;
opening_angle = 8;
rounding_dia=3;


rotate_extrude(angle=360){
difference(){
translate([0,-wheel_width/2,0])square([wheel_dia/2 , wheel_width]);
translate([wheel_dia/2 - rope_dia/2,0,0])circle(d=rope_dia);
    
      
 translate([wheel_dia/2- rope_dia/2,-rope_dia/2,0])
    rotate([0,0,opening_angle]) square([rope_dia, rope_dia]);
          
 translate([wheel_dia/2- rope_dia/2,-rope_dia/2,0])
    rotate([0,0,-opening_angle]) square([rope_dia, rope_dia]);
    
 translate([0,-bearing_width/2,0])square([bearing_outer_dia/2, bearing_width]);
  translate([0,0,0])square([bearing_outer_dia/2, bearing_width]);
  translate([0,-10,0])square([bearing_outer_dia/2 - bearing_shoulder, bearing_width]);  
 difference(){
translate([wheel_dia/2-rounding_dia/2,wheel_width/2 - rounding_dia,0])square([rounding_dia/2 , rounding_dia]);
translate([wheel_dia/2-rounding_dia/2,wheel_width/2 - rounding_dia/2,0])circle(d=rounding_dia);
}   

difference(){
translate([wheel_dia/2-rounding_dia/2,-wheel_width/2 ,0])square([rounding_dia/2 , rounding_dia]);
translate([wheel_dia/2-rounding_dia/2,-wheel_width/2 + rounding_dia/2,0])circle(d=rounding_dia);
}   
}
}
