59 lines
1.6 KiB
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]);
|
|
}
|
|
}
|
|
}
|
|
} |