Optimized sliders.

This commit is contained in:
Revar Desmera
2017-05-12 21:59:27 -07:00
parent faeff99bd5
commit 6af1a62938
9 changed files with 2693 additions and 14073 deletions

View File

@@ -2344,13 +2344,6 @@ solid Model
vertex -33 -14 9.5
endloop
endfacet
facet normal 0 0 0
outer loop
vertex 22 -14 0
vertex 22 -14 3.5
vertex 22 -14 9.5
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -40 8.05 0
@@ -2393,6 +2386,13 @@ solid Model
vertex 22 -20 3.5
endloop
endfacet
facet normal 0 0 0
outer loop
vertex 22 -14 0
vertex 22 -14 3.5
vertex 22 -14 15
endloop
endfacet
facet normal 0 1 0
outer loop
vertex -50 8.05 0
@@ -5305,13 +5305,6 @@ solid Model
vertex -33 -14 15
endloop
endfacet
facet normal 0 0 0
outer loop
vertex 22 -14 0
vertex 22 -14 9.5
vertex 22 -14 15
endloop
endfacet
facet normal -1 0 0
outer loop
vertex -40 8.05 0
@@ -6432,6 +6425,13 @@ solid Model
vertex 22 -20 9.5
endloop
endfacet
facet normal 0 0 0
outer loop
vertex 22 -14 3.5
vertex 22 -14 9.5
vertex 22 -14 15
endloop
endfacet
facet normal -0.206 0.705 -0.678
outer loop
vertex -45.78 8.05 3.577

View File

File diff suppressed because it is too large Load Diff

View File

File diff suppressed because it is too large Load Diff

View File

File diff suppressed because it is too large Load Diff

View File

@@ -1483,13 +1483,6 @@ 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
@@ -1518,6 +1511,13 @@ 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,6 +1945,13 @@ 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
@@ -2876,13 +2883,6 @@ 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

View File

@@ -7,7 +7,7 @@ $fa = 2;
$fs = 2;
module drive_gear() {
shaft = motor_shaft_size + printer_slop;
shaft = motor_shaft_size;
rack_module = rack_tooth_size / pi;
gear_pcd = gear_teeth * rack_module;
addendum = rack_module;

View File

@@ -44,8 +44,8 @@ module rail_segment(explode=0, connectby="")
// Rails.
xspread(rail_spacing+joiner_width) {
up(rail_height+groove_height/2-0.05) {
rail(l=l, w=joiner_width, h=groove_height);
up(rail_height+groove_height/2-0.01) {
rail(l=l, w=joiner_width-0.01, h=groove_height);
}
}
@@ -102,18 +102,6 @@ module rail_segment(explode=0, connectby="")
}
}
}
// Shrinkage stress relief
up(rail_thick/2) {
yspread(17.5, n=7) {
cube(size=[rail_width+1, 1, rail_thick-2], center=true);
}
xspread(22, n=5) {
yspread(l-10) {
cube(size=[1, 17.5*2, rail_thick-2], center=true);
}
}
}
}
// Side half joiners

View File

@@ -78,8 +78,8 @@ module rail_xy_motor_segment(explode=0, connectby="")
// Rails.
xspread(rail_spacing+joiner_width) {
up(rail_height+groove_height/2-0.05) {
rail(l=motor_rail_length, w=joiner_width, h=groove_height);
up(rail_height+groove_height/2-0.01) {
rail(l=motor_rail_length, w=joiner_width-0.01, h=groove_height);
}
}

View File

@@ -64,96 +64,124 @@ module slider(l=30, w=joiner_width, h=groove_height, base=10, wall=5, ang=groove
module rail(l=30, w=joiner_width, h=groove_height, fillet=1.0, ang=groove_angle)
module rail(l=30, w=joiner_width, h=groove_height, chamfer=1.0, ang=groove_angle)
{
difference() {
// Rail backing.
down(0.05/2) cube(size=[w, l, h+0.05], center=true);
attack_ang = 30;
attack_len = 2;
xflip_copy() {
left(w/2) {
up(h/2) {
zflip() {
xrot(90) fillet_planes_joint_mask(h=l+1, r=fillet, ang=90-ang, $fn=12);
}
}
}
}
z1 = h/2;
z2 = z1 - chamfer * cos(ang);
z3 = z1 - attack_len * sin(attack_ang);
z4 = 0;
// 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);
}
x1 = w/2;
x2 = x1 - chamfer * sin(ang);
x3 = x1 - chamfer;
x4 = x1 - attack_len * sin(attack_ang);
x5 = x2 - attack_len * sin(attack_ang);
x6 = x1 - z1 * sin(ang);
x7 = x4 - z1 * sin(ang);
// fillets
endfacets = 3;
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);
}
}
y1 = l/2;
y2 = y1 - attack_len * cos(attack_ang);
// 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);
}
}
}
}
}
polyhedron(
convexity=4,
points=[
[-x5, -y1, z3],
[ x5, -y1, z3],
[ x7, -y1, z4],
[ x4, -y1, -z1],
[-x4, -y1, -z1],
[-x7, -y1, z4],
// 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);
}
}
}
}
}
}
}
}
}
}
}
}
}
}
[-x3, -y2, z1],
[ x3, -y2, z1],
[ x2, -y2, z2],
[ x6, -y2, z4],
[ x1, -y2, -z1],
[-x1, -y2, -z1],
[-x6, -y2, z4],
[-x2, -y2, z2],
[ x5, y1, z3],
[-x5, y1, z3],
[-x7, y1, z4],
[-x4, y1, -z1],
[ x4, y1, -z1],
[ x7, y1, z4],
[ x3, y2, z1],
[-x3, y2, z1],
[-x2, y2, z2],
[-x6, y2, z4],
[-x1, y2, -z1],
[ x1, y2, -z1],
[ x6, y2, z4],
[ x2, y2, z2],
],
faces=[
[0, 1, 2],
[0, 2, 5],
[2, 3, 4],
[2, 4, 5],
[0, 13, 6],
[0, 6, 7],
[0, 7, 1],
[1, 7, 8],
[1, 8, 9],
[1, 9, 2],
[2, 9, 10],
[2, 10, 3],
[3, 10, 11],
[3, 11, 4],
[4, 11, 12],
[4, 12, 5],
[5, 12, 13],
[5, 13, 0],
[14, 15, 16],
[14, 16, 19],
[16, 17, 18],
[16, 18, 19],
[14, 27, 20],
[14, 20, 21],
[14, 21, 15],
[15, 21, 22],
[15, 22, 23],
[15, 23, 16],
[16, 23, 24],
[16, 24, 17],
[17, 24, 25],
[17, 25, 18],
[18, 25, 26],
[18, 26, 19],
[19, 26, 27],
[19, 27, 14],
[6, 21, 20],
[6, 20, 7],
[7, 20, 27],
[7, 27, 8],
[8, 27, 26],
[8, 26, 9],
[9, 26, 25],
[9, 25, 10],
[10, 25, 24],
[10, 24, 11],
[11, 24, 23],
[11, 23, 12],
[12, 23, 22],
[12, 22, 13],
[13, 22, 21],
[13, 21, 6],
]
);
}
rail(l=30);
//!rail(l=30, w=joiner_width, h=groove_height);
// vim: noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 nowrap