summaryrefslogtreecommitdiff
path: root/experimental/huxley/z_base.scad
blob: a3ca1d0efe413f17f65b8466a401f1bd5a7d8a2e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
include <settings.scad>;
use <hardware.scad>;

module z_base() {
	width = partthick * 2 + rodsize;
	color(c) difference() {
		union() {
			translate([0, -(partthick / 2 + rodsize), 0]) rotate([0, 90, 0]) cylinder(h = width, r = partthick / 2, center = true, $fn = fn);
			translate([0, 0, -rodsize]) cube([width, (partthick + rodsize) * 2, partthick], center = true);
			//for (side = [1, -1]) 
			translate([0, partthick + rodsize, -rodsize]) rotate([0, 90, 0]) cylinder(h = width, r = partthick / 2, center = true, $fn = fn);
			translate([(width - partthick) / 2, 0, -rodsize]) cube([partthick, (partthick + rodsize) * 2, partthick], center = true);
			translate([(width - partthick) / 2, partthick + rodsize, -(partthick / 2 + rodsize) / 2]) cube([partthick, partthick, partthick / 2 + rodsize], center = true);
		}
		translate([0, -(partthick / 2 + rodsize), 0]) rotate([0, 90, 0]) rod(width + 0.1);
		translate([(width - partthick) / 2, partthick / 4, -rodsize]) rotate([90, 0, 0]) rod((partthick + rodsize) * 2 + partthick / 2 + 0.1);
		translate([0, 0, -rodsize]) rod(partthick + 0.1);
		translate([0, partthick + rodsize, -rodsize]) rod(partthick + 0.1);
		translate([width / 4, partthick + rodsize, -rodsize]) cube([(width) / 2 + 0.1, rodsize * sin(45), partthick + 0.1], center = true);
	}
}

z_base();