You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
2.1 KiB

$fn = 100;
//stanley1992(center = false);
stanley1992_Width = 62;
stanley1992_Height = 19;
stanley1992_Thickness = 0.62;
stanley1992_DentRounding = 3.3;
stanley1992_MiddleDent = 3;
stanley1992_TopSide = 11.5;
stanley1992_Top = stanley1992_TopSide*2 + stanley1992_DentRounding*2 + stanley1992_MiddleDent;
//stanley1992(center=false);
module stanley1992(thickness = stanley1992_Thickness, center = true)
{
topResses = (stanley1992_Width-stanley1992_Top)/2;
dentOneX = stanley1992_Width/2 - stanley1992_MiddleDent/2 - stanley1992_DentRounding/2;
dentTwoX = stanley1992_Width/2 + stanley1992_MiddleDent/2 + stanley1992_DentRounding/2;
dentY = stanley1992_Height - 4.2 + stanley1992_DentRounding / 2;
point=[
[0,0],
[stanley1992_Width,0],
[stanley1992_Width-topResses,stanley1992_Height],
[topResses,stanley1992_Height]
];
if(center)
{
translate([-stanley1992_Width/2,-stanley1992_Height/2,0])
linear_extrude(stanley1992_Thickness,center=center)
difference()
{
polygon(points=point);
union()
{
translate([dentOneX,dentY,0])circle(d=stanley1992_DentRounding);
translate([dentOneX-stanley1992_DentRounding/2,dentY,0])square([stanley1992_DentRounding,dentY]);
translate([dentTwoX,dentY,0])circle(d=stanley1992_DentRounding);
translate([dentTwoX-stanley1992_DentRounding/2,dentY,0])square([stanley1992_DentRounding,dentY]);
}
}
}
else
{
linear_extrude(stanley1992_Thickness,center=center)
difference()
{
polygon(points=point);
union()
{
translate([dentOneX,dentY,0])circle(d=stanley1992_DentRounding);
translate([dentOneX-stanley1992_DentRounding/2,dentY,0])square([stanley1992_DentRounding,dentY]);
translate([dentTwoX,dentY,0])circle(d=stanley1992_DentRounding);
translate([dentTwoX-stanley1992_DentRounding/2,dentY,0])square([stanley1992_DentRounding,dentY]);
}
}
}
}