scad/stanley1992.scad

59 lines
1.6 KiB

$fn = 100;
//stanley1992(center = false);
module stanley1992(center = true)
{
tollerence = 0;
cutLen = 61-tollerence;
width = 19-tollerence;
height = 1;
topResses = 11.5;
dentWidth = 3+tollerence/2;
dentDia = 3.4+tollerence/2;
acuteAngle = 52.27;
optusAngle = 127.73;
dentsLen = dentDia*2 + dentWidth;
adjLen = (cutLen-dentsLen-2*topResses)/2;
dentOneX =cutLen/2-dentWidth/2-dentDia/2;
dentTwoX =cutLen/2+dentWidth/2+dentDia/2;
dentY = width - 4.2 + dentDia/2;
point=[
[0,0],
[cutLen,0],
[cutLen-topResses,width],
[topResses,width]
];
if(center)
{
translate([-cutLen/2,-width/2,0])
linear_extrude(height,center=center)
difference()
{
polygon(points=point);
union()
{
translate([dentOneX,dentY,0])circle(d=dentDia);
translate([dentOneX-dentDia/2,dentY,0])square([dentDia,dentY]);
translate([dentTwoX,dentY,0])circle(d=dentDia);
translate([dentTwoX-dentDia/2,dentY,0])square([dentDia,dentY]);
}
}
}
else
{
linear_extrude(height,center=center)
difference()
{
polygon(points=point);
union()
{
translate([dentOneX,dentY,0])circle(d=dentDia);
translate([dentOneX-dentDia/2,dentY,0])square([dentDia,dentY]);
translate([dentTwoX,dentY,0])circle(d=dentDia);
translate([dentTwoX-dentDia/2,dentY,0])square([dentDia,dentY]);
}
}
}
}