diff --git a/libtest.png b/libtest.png index c441cca..9292213 100644 Binary files a/libtest.png and b/libtest.png differ diff --git a/libtest.scad b/libtest.scad index f591b61..5efe5f5 100644 --- a/libtest.scad +++ b/libtest.scad @@ -482,7 +482,7 @@ cable_strip_y = sheets_y + 30; translate([0, transformers_y]) servo_motors(); -translate([x4 + 200, belts_y + 58]) { +translate([x4 + 200 + 16, belts_y + 58]) { belt_test(); translate([0, 60]) diff --git a/readme.md b/readme.md index 01b8a60..820523a 100644 --- a/readme.md +++ b/readme.md @@ -437,10 +437,14 @@ Individual teeth are not drawn, instead they are represented by a lighter colour ### Vitamins | Qty | Module call | BOM entry | | ---:|:--- |:---| +| 1 | `belt(GT2x12, [ ... ])` | Belt GT2 x 12mm x 128mm | | 1 | `belt(GT2x6, [ ... ])` | Belt GT2 x 6mm x 128mm | -| 1 | `belt(GT2x6, [ ... ])` | Belt GT2 x 6mm x 552mm | -| 2 | `belt(GT2x6, [ ... ])` | Belt GT2 x 6mm x 556mm | +| 1 | `belt(GT2x6, [ ... ])` | Belt GT2 x 6mm x 584mm | +| 2 | `belt(GT2x6, [ ... ])` | Belt GT2 x 6mm x 588mm | | 1 | `belt(GT2x9, [ ... ])` | Belt GT2 x 9mm x 128mm | +| 1 | `belt(GT3x12, [ ... ])` | Belt GT3 x 12mm x 128mm | +| 1 | `belt(GT3x6, [ ... ])` | Belt GT3 x 6mm x 128mm | +| 1 | `belt(GT3x9, [ ... ])` | Belt GT3 x 9mm x 128mm | | 1 | `belt(T2p5x6, [ ... ])` | Belt T2.5 x 6mm x 130mm | | 1 | `belt(T5x10, [ ... ])` | Belt T5 x 10mm x 130mm | | 1 | `belt(T5x6, [ ... ])` | Belt T5 x 6mm x 130mm | diff --git a/tests/belts.scad b/tests/belts.scad index cc47183..01ffe81 100644 --- a/tests/belts.scad +++ b/tests/belts.scad @@ -21,14 +21,20 @@ include <../core.scad> include <../vitamins/pulleys.scad> use <../vitamins/insert.scad> use <../utils/layout.scad> +use <../utils/maths.scad> module belt_test() { - p2 = [-75, -50]; - p3 = [-75, 100]; - p4 = [ 75, 100]; + widths = [for(b = belts) belt_width(b)]; + gap = 5; + belts_width = sumv(widths) + (len(belts) - 1) * gap; + width = belts_width + 50; - p5 = [ 75 + pulley_pr(GT2x20ob_pulley) - pulley_pr(GT2x16_plain_idler), +pulley_pr(GT2x16_plain_idler)]; - p6 = [-75 + pulley_pr(GT2x20ob_pulley) + pulley_pr(GT2x16_plain_idler), -pulley_pr(GT2x16_plain_idler)]; + p2 = [-width / 2, -50]; + p3 = [-width / 2, 100]; + p4 = [ width / 2, 100]; + + p5 = [ width / 2 + pulley_pr(GT2x20ob_pulley) - pulley_pr(GT2x16_plain_idler), +pulley_pr(GT2x16_plain_idler)]; + p6 = [-width / 2 + pulley_pr(GT2x20ob_pulley) + pulley_pr(GT2x16_plain_idler), -pulley_pr(GT2x16_plain_idler)]; module pulleys(flip = false) { translate(p2) rotate([0, flip ? 180 : 0, 0]) pulley_assembly(GT2x20ob_pulley); @@ -70,15 +76,15 @@ module belt_test() { pulleys(flip=true); } - translate([-25, 0, 10]) - layout([for(b = belts) belt_width(b)], 10) + translate([-belts_width / 2, 0, 10]) + layout(widths, gap) rotate([0, 90, 0]) belt(belts[$i], [[0, 0, 20], [0, 1, 20]], belt_colour = $i%2==0 ? grey(90) : grey(20), tooth_colour = $i%2==0 ? grey(70) : grey(50)); // new example with open loop - this is a simplified example of the style used for example for the BLV 3D printer pulley = GT2x20ob_pulley; idler = GT2x16_plain_idler; - corners = [[-75,-50],[75,100]]; + corners = [[-width / 2,-50],[width / 2,100]]; carriagepos = [0,0]; carriagew = 80; @@ -94,7 +100,7 @@ module belt_test() { translate_z(-30) { belt(belt, points, open=true, auto_twist=true); for (p = points) - if (is_list(p.z)) + if(is_list(p.z)) translate([p.x, p.y, 0]) pulley_assembly(p.z); } diff --git a/tests/png/belts.png b/tests/png/belts.png index ae471be..d39b4b6 100644 Binary files a/tests/png/belts.png and b/tests/png/belts.png differ diff --git a/vitamins/belts.scad b/vitamins/belts.scad index 96a3fef..cf4f5e6 100644 --- a/vitamins/belts.scad +++ b/vitamins/belts.scad @@ -20,17 +20,23 @@ // // Belt model // -// p w t t p -// i i h o i -// t d i o t -// c t c t c -// h h k h h line from tooth base +// p w t t p +// i i h o i +// t d i o t +// c t c t c +// h h k h h line from tooth base // -T5x6 = ["T5", 5, 6, 2.2, 1.2, 0.5]; -T5x10 = ["T5", 5, 10, 2.2, 1.2, 0.5]; -T2p5x6 =["T2.5", 2.5, 6, 1.7, 0.7, 0.3]; -GT2x6 = ["GT2", 2.0, 6, 1.38, 0.75, 0.254]; -GT2x9 = ["GT2", 2.0, 9, 1.38, 0.75, 0.254]; +T5x6 = ["T5", 5, 6, 2.2, 1.2, 0.5]; +T5x10 = ["T5", 5, 10,2.2, 1.2, 0.5]; +T2p5x6 =["T2.5", 2.5, 6, 1.7, 0.7, 0.3]; -belts = [T5x6, T5x10, T2p5x6, GT2x6, GT2x9]; +GT2x6 = ["GT2", 2.0, 6, 1.38, 0.75, 0.254]; +GT2x9 = ["GT2", 2.0, 9, 1.38, 0.75, 0.254]; +GT2x12 =["GT2", 2.0, 12, 1.38, 0.75, 0.254]; + +GT3x6 = ["GT3", 2.0, 6, 1.52, 0.75, 0.254]; +GT3x9 = ["GT3", 2.0, 9, 1.52, 0.75, 0.254]; +GT3x12 =["GT3", 2.0, 12, 1.52, 0.75, 0.254]; + +belts = [T5x6, T5x10, T2p5x6, GT2x6, GT2x9, GT2x12, GT3x6, GT3x9, GT3x12]; use