mirror of
https://github.com/revarbat/snappy-reprap.git
synced 2025-10-29 22:59:31 -07:00
Fudge with new rails to match slightly incorrect sliders.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1483,6 +1483,13 @@ solid Model
|
||||
vertex 32.5 -63.358 0.05
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 0
|
||||
outer loop
|
||||
vertex 32.5 -62.275 0
|
||||
vertex 32.5 -62.275 0.05
|
||||
vertex 32.5 -62.275 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 0
|
||||
outer loop
|
||||
vertex 32.5 62.275 0
|
||||
@@ -1511,13 +1518,6 @@ solid Model
|
||||
vertex -42.5 62.275 0.05
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 0
|
||||
outer loop
|
||||
vertex 32.5 -62.275 0
|
||||
vertex 32.5 -62.275 0.05
|
||||
vertex 32.5 -62.275 22
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex 32.5 -67.75 0
|
||||
@@ -1945,13 +1945,6 @@ solid Model
|
||||
vertex -32 62.458 9.167
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 0
|
||||
outer loop
|
||||
vertex 32.5 -62.275 0
|
||||
vertex 32.5 -62.275 22
|
||||
vertex 32.5 -62.275 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 1 0 0
|
||||
outer loop
|
||||
vertex -27.5 -67.75 0
|
||||
@@ -2883,6 +2876,13 @@ solid Model
|
||||
vertex -32.5 64.863 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 0
|
||||
outer loop
|
||||
vertex 32.5 -62.275 0.05
|
||||
vertex 32.5 -62.275 22
|
||||
vertex 32.5 -62.275 5
|
||||
endloop
|
||||
endfacet
|
||||
facet normal 0 0 0
|
||||
outer loop
|
||||
vertex 32.5 62.275 0.05
|
||||
|
||||
129
sliders.scad
129
sliders.scad
@@ -69,18 +69,23 @@ module rail(l=30, w=joiner_width, h=groove_height, chamfer=1.0, ang=groove_angle
|
||||
attack_ang = 30;
|
||||
attack_len = 2;
|
||||
|
||||
fudge = 1.177;
|
||||
chamf = sqrt(2) * chamfer;
|
||||
cosa = cos(ang*fudge);
|
||||
sina = sin(ang*fudge);
|
||||
|
||||
z1 = h/2;
|
||||
z2 = z1 - chamfer * cos(ang);
|
||||
z2 = z1 - chamf * cosa;
|
||||
z3 = z1 - attack_len * sin(attack_ang);
|
||||
z4 = 0;
|
||||
|
||||
x1 = w/2;
|
||||
x2 = x1 - chamfer * sin(ang);
|
||||
x3 = x1 - chamfer;
|
||||
x2 = x1 - chamf * sina;
|
||||
x3 = x1 - chamf;
|
||||
x4 = x1 - attack_len * sin(attack_ang);
|
||||
x5 = x2 - attack_len * sin(attack_ang);
|
||||
x6 = x1 - z1 * sin(ang);
|
||||
x7 = x4 - z1 * sin(ang);
|
||||
x6 = x1 - z1 * sina;
|
||||
x7 = x4 - z1 * sina;
|
||||
|
||||
y1 = l/2;
|
||||
y2 = y1 - attack_len * cos(attack_ang);
|
||||
@@ -91,32 +96,32 @@ module rail(l=30, w=joiner_width, h=groove_height, chamfer=1.0, ang=groove_angle
|
||||
[-x5, -y1, z3],
|
||||
[ x5, -y1, z3],
|
||||
[ x7, -y1, z4],
|
||||
[ x4, -y1, -z1],
|
||||
[-x4, -y1, -z1],
|
||||
[ x4, -y1, -z1-0.05],
|
||||
[-x4, -y1, -z1-0.05],
|
||||
[-x7, -y1, z4],
|
||||
|
||||
[-x3, -y2, z1],
|
||||
[ x3, -y2, z1],
|
||||
[ x2, -y2, z2],
|
||||
[ x6, -y2, z4],
|
||||
[ x1, -y2, -z1],
|
||||
[-x1, -y2, -z1],
|
||||
[ x1, -y2, -z1-0.05],
|
||||
[-x1, -y2, -z1-0.05],
|
||||
[-x6, -y2, z4],
|
||||
[-x2, -y2, z2],
|
||||
|
||||
[ x5, y1, z3],
|
||||
[-x5, y1, z3],
|
||||
[-x7, y1, z4],
|
||||
[-x4, y1, -z1],
|
||||
[ x4, y1, -z1],
|
||||
[-x4, y1, -z1-0.05],
|
||||
[ x4, y1, -z1-0.05],
|
||||
[ x7, y1, z4],
|
||||
|
||||
[ x3, y2, z1],
|
||||
[-x3, y2, z1],
|
||||
[-x2, y2, z2],
|
||||
[-x6, y2, z4],
|
||||
[-x1, y2, -z1],
|
||||
[ x1, y2, -z1],
|
||||
[-x1, y2, -z1-0.05],
|
||||
[ x1, y2, -z1-0.05],
|
||||
[ x6, y2, z4],
|
||||
[ x2, y2, z2],
|
||||
],
|
||||
@@ -183,5 +188,103 @@ module rail(l=30, w=joiner_width, h=groove_height, chamfer=1.0, ang=groove_angle
|
||||
//!rail(l=30, w=joiner_width, h=groove_height);
|
||||
|
||||
|
||||
module old_rail(l=30, w=joiner_width, h=groove_height, fillet=1.0, ang=groove_angle)
|
||||
{
|
||||
difference() {
|
||||
// Rail backing.
|
||||
down(0.05/2) cube(size=[w, l, h+0.05], center=true);
|
||||
|
||||
xflip_copy() {
|
||||
left(w/2) {
|
||||
up(h/2) {
|
||||
zflip() {
|
||||
xrot(90) fillet_planes_joint_mask(h=l+1, r=fillet, ang=90-ang, $fn=6);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Rail grooves.
|
||||
xflip_copy() {
|
||||
right(w/2) {
|
||||
// main groove
|
||||
scale([tan(ang),1,1]) yrot(45) {
|
||||
cube(size=[h*sqrt(2)/2,l+1,h*sqrt(2)/2], center=true);
|
||||
}
|
||||
|
||||
// fillets
|
||||
endfacets = 1;
|
||||
facelen = h/2/cos(ang);
|
||||
inset = h/2*tan(ang);
|
||||
yflip_copy() {
|
||||
fwd(l/2) {
|
||||
scale([1, 2, 1]) {
|
||||
up(h/2) {
|
||||
// top end fillets
|
||||
difference() {
|
||||
cube([w*2, fillet*2, fillet*2], center=true);
|
||||
back(fillet) down(fillet) {
|
||||
yrot(90) cylinder(r=fillet, h=w*3, center=true, $fn=endfacets*4);
|
||||
}
|
||||
}
|
||||
|
||||
// top corner end fillets
|
||||
down(fillet/sin(ang)) {
|
||||
yrot(45+ang/2) {
|
||||
difference() {
|
||||
cube([w*2, fillet*2, fillet*2], center=true);
|
||||
back(fillet) down(fillet) {
|
||||
yrot(90) cylinder(r=fillet, h=w*3, center=true, $fn=endfacets*4);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// groove fillets
|
||||
left(inset) {
|
||||
difference() {
|
||||
zflip_copy() {
|
||||
left(fillet/cos(ang)) {
|
||||
yrot(-ang) {
|
||||
right(fillet) {
|
||||
down(facelen*1.5/2) {
|
||||
cube([fillet*2, fillet*2, facelen*1.5], center=true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
zflip_copy() {
|
||||
left(fillet/cos(ang)) {
|
||||
yrot(-ang) {
|
||||
right(fillet) {
|
||||
down(facelen) {
|
||||
back(fillet) left(fillet) {
|
||||
cylinder(r=fillet, h=facelen*3, center=true, $fn=endfacets*4);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
difference() {
|
||||
rail(l=30, w=joiner_width, h=groove_height, chamfer=1.0, ang=groove_angle);
|
||||
old_rail(l=30, w=joiner_width, h=groove_height, fillet=1.0, ang=groove_angle);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
// vim: noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap
|
||||
|
||||
Reference in New Issue
Block a user