diff --git a/src/bitbeam-angle.scad b/src/bitbeam-angle.scad new file mode 100644 index 0000000..96ad1d1 --- /dev/null +++ b/src/bitbeam-angle.scad @@ -0,0 +1,6 @@ +use ; + +beam(4); +rotate([0, 0, 90]) + translate([0, -8, 0]) + beam(4); \ No newline at end of file diff --git a/src/bitbeam-beam.scad b/src/bitbeam-beam.scad new file mode 100644 index 0000000..6ca3a40 --- /dev/null +++ b/src/bitbeam-beam.scad @@ -0,0 +1,42 @@ +// Description: "LEGO Technic-compatible gridbeam" +// Project home: http://bitbeam.org + +// Each bitbeam is 8mm inches wide. +// Center of each hole is 8mm apart from each other +// Holes are 5.1 mm in diameter. + +// Mini +//beam_width = 4; +//hole_diameter = 2.2; + +// Standard +beam_width = 8; +hole_diameter = 5.1; + +hole_radius = hole_diameter / 2; + +module beam(number_of_holes) { + beam_length = number_of_holes * beam_width; + difference() { + // Draw the beam... + cube([beam_length,beam_width,beam_width]); + + // Cut the holes... + for (x=[beam_width/2 : beam_width : beam_length]) { + translate([x,beam_width/2,-2]) + cylinder(r=hole_radius, h=12, $fn=30); + } + for (x=[beam_width/2 : beam_width : beam_length]) { + rotate([90,0,0]) + translate([x,beam_width/2,-10]) + cylinder(r=hole_radius, h=12, $fn=30); + } + + // Optional through-hole + //rotate([0,90,0]) + //translate([-4,beam_width/2,-2]) + //cylinder(r=hole_radius, h=number_of_holes*beam_width+4, $fn=30); + } +} + +beam(3); diff --git a/src/bitbeam-cross.scad b/src/bitbeam-cross.scad new file mode 100644 index 0000000..64525cc --- /dev/null +++ b/src/bitbeam-cross.scad @@ -0,0 +1,6 @@ +use ; + +beam(5); +rotate([0, 0, 90]) + translate([-(8 * 2), -(8 * 3), 0]) + beam(5); \ No newline at end of file diff --git a/src/bitbeam-double-angle.scad b/src/bitbeam-double-angle.scad new file mode 100644 index 0000000..a88cc45 --- /dev/null +++ b/src/bitbeam-double-angle.scad @@ -0,0 +1,10 @@ +use ; + +beam(4); +rotate([0, 0, 90]) + translate([0, -8, 0]) + beam(4); + +rotate([0, 90, 0]) + translate([-(8 * 4), 0, 0]) + beam(4); \ No newline at end of file diff --git a/src/bitbeam-t.scad b/src/bitbeam-t.scad new file mode 100644 index 0000000..c417b7d --- /dev/null +++ b/src/bitbeam-t.scad @@ -0,0 +1,6 @@ +use ; + +beam(4); +rotate([0, 0, 90]) + translate([-(8 * 3), -8, 0]) + beam(7); \ No newline at end of file diff --git a/src/bitbeam-triple-angle.scad b/src/bitbeam-triple-angle.scad new file mode 100644 index 0000000..fbc5b9e --- /dev/null +++ b/src/bitbeam-triple-angle.scad @@ -0,0 +1,10 @@ +use ; + +beam(4); +rotate([0, 0, 90]) + translate([-(8 * 3), -8, 0]) + beam(7); + +rotate([0, 90, 0]) + translate([-(8 * 4), 0, 0]) + beam(4); \ No newline at end of file