Below is the file 'scad/nail-test.scad' from this revision. You can also download the file.


delta = 0.1;
xo = 10;
height = 10;
bar_thickness = 2;

nail = 0;

d_inner_nail = 1.8;
d_outer_nail = 6;

d_inner_hole = 2.2;
d_outer_hole = 6;

d_inner = nail ? d_inner_nail : d_inner_hole;
d_outer = nail ? d_outer_nail : d_outer_hole;

d_centre = 7;
d_joint = 4.55;
w_joint = 0.7;

difference() {
    union() {
        translate([-xo, -d_outer/2, 0])
            cube([xo*2, d_outer, bar_thickness]);
        cylinder(h=bar_thickness, d=d_centre, $fn=36);
        translate([-xo, 0, 0])
            nail_outer();
        translate([xo, 0, 0])
            nail_outer();
    }
    translate([-xo, 0, 0])
        nail_hole(d_inner);
    translate([xo, 0, 0])
        nail_hole(d_inner);
    nail_hole(d_joint);
}

joint_bar();

module nail_outer() {
    cylinder(h=height, d=d_outer, $fn=36);
}

module nail_hole(diameter) {
    translate([0, 0, -delta])
        cylinder(h=height+2*delta, d=diameter, $fn=36);

}

module joint_bar() {
    translate([-d_joint, -w_joint/2, 0])
        cube([d_joint*2, w_joint, bar_thickness]);
}