1
0
mirror of https://github.com/nophead/Mendel90.git synced 2025-01-17 04:48:15 +01:00
Mendel90/scad/vitamins/pullies.scad

63 lines
3.0 KiB
OpenSCAD
Raw Permalink Normal View History

//
// Mendel90
//
// GNU GPL v2
// nop.head@gmail.com
// hydraraptor.blogspot.com
//
pulley_inner_radius = (14.4 / 2) - belt_thickness(T5x6); // measured from outer diameter
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
T5x10_metal_pulley = ["T5", 10, 15, 12.85 / 2, 11.6, 7.9, 7, 5, 19.3, 1.7, 3, 10.7, [0, 0, -2], 0, M3_grub_screw, 1];
T2p5x16_metal_pulley= ["T2.5", 16, 12.16, 12.16 / 2 - 0.8, 8, 16, 5.7, 5, 16.0, 1.0, 6, 3.75, [0, 0,1.3], 0, M4_grub_screw, 1];
T5x8_plastic_pulley = ["../imported_stls/pulley.stl", 8, 0, pulley_inner_radius, 0, 0, 0, 5, 0, 0, 6, 4, [-10, -10, 0], 6, M3_grub_screw, 1];
GT2x20_metal_pulley = ["GT2", 20, 12.2, 12.2 / 2 - 0.75, 7.5, 18, 7.5, 5, 18.0, 1.0, 6, 3.75, [0, 0,-0.25], 0, M3_grub_screw, 2];
function pulley_type(type) = type[0];
function pulley_teeth(type) = type[1];
function pulley_od(type) = type[2];
function pulley_ir(type) = type[3];
function pulley_width(type) = type[4];
function pulley_hub_dia(type) = type[5];
function pulley_hub_length(type) = type[6];
function pulley_bore(type) = type[7];
function pulley_flange_dia(type) = type[8];
function pulley_flange_thickness(type) = type[9];
function pulley_screw_length(type) = type[10];
function pulley_screw_z(type) = type[11];
function pulley_offset(type) = type[12];
function pulley_nut_y(type) = type[13];
function pulley_screw(type) = type[14];
function pulley_screws(type) = type[15];
module metal_pulley(type) {
teeth = pulley_teeth(type);
vitamin(str("PUL", pulley_type(type), teeth, ": ", pulley_type(type), " pulley ", teeth, " teeth"));
ft = pulley_flange_thickness(type);
tw = pulley_od(type) * PI / (teeth * 2);
color("silver") render() {
difference() {
union() {
cylinder(r = pulley_hub_dia(type) / 2, h = pulley_hub_length(type));
for(z = [pulley_hub_length(type), pulley_hub_length(type) + ft + pulley_width(type)])
translate([0, 0, z])
cylinder(r = pulley_flange_dia(type) / 2, h = ft);
translate([0, 0, pulley_hub_length(type) + ft])
cylinder(r = pulley_od(type) / 2, h = pulley_width(type));
}
cylinder(r = pulley_bore(type) / 2, h = 100, center = true);
for(i = [0 : teeth - 1])
rotate([0, 0, i * 360 / teeth])
translate([-tw / 2, pulley_ir(type), pulley_hub_length(type) + ft])
cube([tw, 10, pulley_width(type)]);
translate([0, 0, pulley_screw_z(type)])
for(i = [0 : pulley_screws(type) - 1])
rotate([-90, 0, i * -90])
cylinder(r = screw_radius(pulley_screw(type)), h = 100);
}
}
}