| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- // Tough Belt Clip
- // Design by Marius Gheorghescu, December 2013
- // how many teeth on each side
- teeth = 5;
- // width of the belt in mm incl clearance (use 6.25 for typical GT2 belt)
- belt_width = 6.5;
- // thickness of the belt in mm (use 1.5 for GT2 belt)
- belt_thickness = 1.5;
- // belt pitch in mm (use 2.0 for GT2 belt)
- pitch = 2.0;
- // this controls the strength of the bracket
- shell = 1.5;
- /* [Hidden] */
- cutout_width = 6 + belt_thickness + shell;
- len = 2*teeth*pitch + cutout_width;
- round_corner_epsilon = 1;
- epsilon = 0.01;
- module belt()
- {
- // reinforcement
- //cube([len, 2, h], center=true);
- for(i=[pitch/4:pitch:len]) {
- translate([i-len/2, 1.25, 0])
- cube([pitch - round_corner_epsilon, belt_thickness + round_corner_epsilon, belt_width], center=true);
- }
- }
- module clip() {
- difference() {
- union() {
- // general shape of the clip
- linear_extrude(belt_width + 2*shell, center=true) {
- polygon(points=[
- [len/2,0],
- [3,-2.5],
- [-3,-2.5],
- [-len/2,0],
- [-len/2, shell + belt_thickness],
- [len/2, shell + belt_thickness]
- ]);
- }
-
- }
- // left belt turn
- rotate([0,0,-45])
- translate([-3.2/2 - shell - belt_thickness/2,0,0])
- cube([belt_thickness, 20 + 2*shell, belt_width], center=true);
- // right belt turn
- rotate([0,0,45])
- //+ belt_thicknes/2 + shell
- translate([3.2/2 + shell + belt_thickness/2,0,0])
- cube([belt_thickness, 20 + 2*shell, belt_width], center=true);
- // cutouts
- translate([len/2 - teeth*pitch, shell + belt_thickness/2, 0])
- cube([pitch + epsilon, belt_thickness + epsilon, belt_width], center=true);
- translate([-len/2 + teeth*pitch, shell + belt_thickness/2, 0])
- cube([pitch + epsilon, belt_thickness + epsilon, belt_width], center=true);
- // m3 hole
- rotate([90,0,0])
- cylinder(d=3.3, h=10 + 2*shell, center=true, $fn=60);
- // hex nut
- translate([0, -3.8, 0])
- rotate([90,90,0])
- cylinder(r=3.35, h=4, center=true, $fn=6);
- // belt teeth
- for(i=[1:1:teeth]) {
- // left side
- color([1,0, 0])
- translate([len/2 + pitch/4 - i*pitch, shell + belt_thickness/2, 0])
- cube([pitch/2, belt_thickness + epsilon, belt_width], center=true);
- // right side
- color([1,0, 0])
- translate([-len/2 - pitch/4 + i*pitch, shell + belt_thickness/2, 0])
- cube([pitch/2, belt_thickness + epsilon, belt_width], center=true);
- }
- }
- }
- module clip_set()
- {
- for(i=[0:10:50]) {
- translate([0,i,0])
- clip();
- }
- }
- //clip_set();
- clip();
|