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.
126 lines
4.2 KiB
126 lines
4.2 KiB
include <stanley1992.scad>
|
|
include <MCAD-master/bearing.scad>
|
|
include <MCAD-master/materials.scad>
|
|
$fn=150;
|
|
|
|
|
|
srewHoleClearence = 4;
|
|
M3Hole = 3.1;
|
|
M3Thread = 2.8;
|
|
srcewDepth = 10;
|
|
|
|
bottomThikcness =5;
|
|
|
|
bearindId = 8;
|
|
bearingOd = 22;
|
|
beragingWidth = 7;
|
|
bearingCount = 9;
|
|
beragingTotalWidth = beragingWidth*bearingCount;
|
|
|
|
|
|
|
|
sideX = bearingOd + 19/2;
|
|
sideY = 5;
|
|
sideZ = bearingOd + bottomThikcness+10;
|
|
sideHoleOffsetX = 5;
|
|
sideHoleOffsetZ = -5;
|
|
bearingResess = 1;
|
|
sideWidth = sideY + bearingResess;
|
|
|
|
shatfLenght = bearingCount*beragingWidth+2*sideWidth+0.01;
|
|
|
|
|
|
|
|
bladeWall = 2;
|
|
srcrewWall = 0.5;
|
|
bladeEdgeResses = 3;
|
|
cutterX = stanley1992_Width + 2 * bladeWall;
|
|
cutterY = stanley1992_Height+bladeWall-bladeEdgeResses;
|
|
cutterZ = stanley1992_Thickness+bladeWall;
|
|
cutterSrewBotY = bladeEdgeResses+4;
|
|
cutterSrewBotX = 4.5;
|
|
cutterSrewTopY = cutterY - 2;
|
|
cutterSrewTopX = 10;
|
|
|
|
|
|
|
|
//splitter();
|
|
module splitter()
|
|
{
|
|
color(Stainless)translate([0,-cutterX/2,bearingOd/2+2])rotate([0,0,90])cutter();
|
|
bearings();
|
|
%translate([-sideHoleOffsetX,-beragingTotalWidth/2-bearingResess-sideY/2,-sideHoleOffsetZ])side();
|
|
translate([-sideHoleOffsetX,beragingTotalWidth/2+bearingResess+sideY/2,-sideHoleOffsetZ])mirror([0,1,0])side();
|
|
|
|
}
|
|
|
|
|
|
//bearings();
|
|
module bearings()
|
|
{
|
|
for(a=[0:bearingCount-1])
|
|
{
|
|
color(Iron)translate([0,-(bearingCount*beragingWidth)/2])
|
|
bearing( pos=[0,beragingWidth+beragingWidth*a,0],
|
|
angle=[90,0,0],
|
|
model=SkateBearing,
|
|
outline=false,
|
|
material=Steel,
|
|
sideMaterial=Iron,
|
|
center=false);
|
|
}
|
|
color("Silver")rotate([90,0,0])cylinder(d=bearindId,h=shatfLenght,center=true);
|
|
}
|
|
|
|
cutter();
|
|
module cutter()
|
|
{
|
|
angle=10;
|
|
srewBottomY = 6;
|
|
srewTopY = 15;
|
|
topResses = (stanley1992_Width-stanley1992_Top)/2;
|
|
alpha = atan(topResses/stanley1992_Height);
|
|
|
|
|
|
difference()
|
|
{
|
|
hull()
|
|
{
|
|
rotate([angle,0,0])translate([0,bladeEdgeResses,stanley1992_Thickness-bladeEdgeResses/tan(90-angle)])cube([cutterX,cutterY+bladeWall/2,cutterZ],center = false);
|
|
translate([0,bladeEdgeResses,0])cube([cutterX,cutterY,cutterZ],center=false);
|
|
}
|
|
rotate([angle,0,0])translate([0,bladeEdgeResses-1,stanley1992_Thickness-bladeEdgeResses/tan(90-angle)-0.1])cube([cutterX,cutterY+bladeWall/2+1,cutterZ+bladeWall],center = false);
|
|
translate([(cutterX-stanley1992_Width)/2,0,-bladeEdgeResses/tan(90-angle)])rotate([angle,0,0])stanley1992(thickness = stanley1992_Thickness, center = false);
|
|
translate([0,cutterY+bladeEdgeResses,0])cube([cutterX,bladeEdgeResses,cutterZ*5],center=false);
|
|
translate([srewBottomY*tan(alpha)+bladeWall-M3Hole/2-srcrewWall,srewBottomY,0])cylinder(d=M3Hole, h = cutterZ*5);
|
|
translate([cutterX-srewBottomY*tan(alpha)-bladeWall+M3Hole/2+srcrewWall,srewBottomY,0])cylinder(d=M3Hole, h = cutterZ*5);
|
|
translate([srewTopY*tan(alpha)+bladeWall-M3Hole/2-srcrewWall,srewTopY,0])cylinder(d=M3Hole, h = cutterZ*5);
|
|
translate([cutterX-srewTopY*tan(alpha)-bladeWall+M3Hole/2+srcrewWall,srewTopY,0])cylinder(d=M3Hole, h = cutterZ*5);
|
|
|
|
}
|
|
translate([(cutterX-stanley1992_Width)/2,0,-bladeEdgeResses/tan(90-angle)])rotate([angle,0,0])stanley1992(thickness = stanley1992_Thickness, center = false);
|
|
}
|
|
|
|
|
|
|
|
|
|
//side();
|
|
module side()
|
|
{
|
|
difference()
|
|
{
|
|
union()
|
|
{
|
|
cube([sideX,sideY,sideZ],center = true);
|
|
translate([sideHoleOffsetX,sideY/2+bearingResess/2,sideHoleOffsetZ])rotate([90,0,0])cylinder(d=bearindId+2, h=bearingResess, center = true);
|
|
}
|
|
translate([sideX/2-srewHoleClearence,0,sideZ/2-srcewDepth/2])cylinder(d=M3Thread, h=srcewDepth, center = true);
|
|
translate([-sideX/2+srewHoleClearence,0,sideZ/2-srcewDepth/2])cylinder(d=M3Thread, h=srcewDepth, center = true);
|
|
translate([sideX/2-srewHoleClearence,0,-sideZ/2+srcewDepth/2])cylinder(d=M3Thread, h=srcewDepth, center = true);
|
|
translate([-sideX/2+srewHoleClearence,0,-sideZ/2+srcewDepth/2])cylinder(d=M3Thread, h=srcewDepth, center = true);
|
|
|
|
translate([sideHoleOffsetX,bearingResess/2,sideHoleOffsetZ])rotate([90,0,0])cylinder(d=bearindId, h=sideWidth+1, center = true);
|
|
}
|
|
|
|
}
|