Skip to content

Instantly share code, notes, and snippets.

@dannysauer
Created August 16, 2019 21:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dannysauer/3fc1caa07b275a68cc3bcc0228e8c331 to your computer and use it in GitHub Desktop.
Save dannysauer/3fc1caa07b275a68cc3bcc0228e8c331 to your computer and use it in GitHub Desktop.
pipe = 1/2;
bearing_id = 3/8;
bearing_od = 7/8;
bearing_w = 9/32;
// max overlap is 0.50 == 50%
pipe_overlap_multiplier = 0.35;
pulley_od = 3;
pulley_lip = 1/16;
pipe_segment = sqrt(
(pipe*pipe_overlap_multiplier)*
(pipe*(1-pipe_overlap_multiplier))
) * 2;
pulley_width = pipe_segment + (2 * pulley_lip);
rotate_extrude($fn=200){
difference(){
polygon( points=[
[bearing_od/2,0],
[bearing_od/2,bearing_w],
[bearing_id/2,bearing_w],
[bearing_id/2,bearing_w+(pulley_width-(2*bearing_w))],
[bearing_od/2,bearing_w+(pulley_width-(2*bearing_w))],
[bearing_od/2,pulley_width],
[pulley_od/2,pulley_width],
[pulley_od/2,0],
[bearing_od/2,0]
]);
translate([
((pulley_od/2)+(pipe/2)-(pipe*pipe_overlap_multiplier)),
pulley_width/2,
0
]){
circle(pipe/2, $fn=150);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment