Machinist's square:
Code: Select all
module machinists_square (blade_length, blade_width, blade_thickness, beam_offset, beam_length, beam_width, beam_thickness)
{cube(size=[blade_length,blade_width,blade_thickness]);
translate([0,beam_offset,-beam_thickness/2+blade_thickness/2])
cube(size=[beam_width,beam_length,beam_thickness]);
}
machinists_square(6,1,.0625, 0.5, 3, 1, .5);
(hexagon function by Kevin Crowley <caohaoim@gmail.com> )
Code: Select all
module hexagon(r){
polygon(points=[[r,(r*(tan(30)))],
[0,(r*(2/sqrt(3)))],
[-r,(r*(tan(30)))],
[-r,-(r*(tan(30)))],
[0,-(r*(2/sqrt(3)))],
[r,-(r*(tan(30)))]]);
}
module hexkey (hex_size, hex_length, hex_blade) {
translate([-hex_size, -hex_size*2, -hex_size/2])
render(convexity = 1) {
intersection() {
cube(size=[hex_size*2,hex_size*2.501,hex_size*2.501]);
translate([hex_size, 0, hex_size*2.5])
rotate([0,90,0])
rotate_extrude()
translate([hex_size*2, 0, 0])
//rotate([0,0,90])
hexagon(hex_size/2);
}}
translate([0, 0, hex_size*2])
linear_extrude(height=hex_length-hex_size*2)
rotate([0,0,90])
hexagon(hex_size/2);
translate([0, -hex_size*2, 0])
rotate([90,0,0])
linear_extrude(height=hex_blade-hex_size*2)
rotate([0,0,90])
hexagon(hex_size/2);
}
hexkey (4,73,28);