CEB Press v16.09/SCAD Files: Difference between revisions
Jump to navigation
Jump to search
(→A1) |
(→Arms) |
||
| Line 687: | Line 687: | ||
translate([L-EndGap-PadL,H-PadH,0]) | translate([L-EndGap-PadL,H-PadH,0]) | ||
cube([PadL,PadH,A1z]); | cube([PadL,PadH,A1z]); | ||
} | |||
} //end cornerjoint module | |||
</nowiki> | |||
==A2== | |||
<nowiki> | |||
A2x=5.96603; //?just 6? | |||
A2y=72; | |||
A2z=0.5; | |||
$fn=20; | |||
difference(){ | |||
cube([A2x,A2y,A2z]); | |||
translate([A2x-0.6875,0.46875,0]) | |||
cube([0.6875,0.5625,A2z]); | |||
translate([A2x-0.6875,26.5874,0]) //?y.8501? | |||
cube([0.6875,0.5625,A2z]); | |||
translate([A2x-0.6875,A2y-0.71875,0]) //y 0.46875 from top | |||
cube([0.6875,0.5625,A2z]); | |||
hull(){ | |||
translate([A2x-1.75,21.2,0]) //?y? | |||
cylinder(h = A2z, r = 0.4); | |||
translate([A2x-1.75,22.765,0]) //?y? | |||
cylinder(h = A2z, r = 0.4); | |||
} | |||
hull(){ | |||
translate([A2x-1.75,47.56,0]) //?y? | |||
cylinder(h = A2z, r = 0.4); | |||
translate([A2x-1.75,49.0785,0]) //?y? | |||
cylinder(h = A2z, r = 0.4); | |||
} | |||
//corner joints | |||
for(i=[0:5]) | |||
translate([0,(i*12)+6,0]) | |||
rotate([0,0,270]) | |||
cornerjoint(6,0.625,0.125,0.5,0.125); | |||
} | |||
module cornerjoint(L,H,EndGap,PadL,PadH){ | |||
difference(){ | |||
cube([L,H,A2z]); | |||
translate([EndGap,H-PadH,0]) | |||
cube([PadL,PadH,A2z]); | |||
translate([L-EndGap-PadL,H-PadH,0]) | |||
cube([PadL,PadH,A2z]); | |||
} | } | ||
} //end cornerjoint module | } //end cornerjoint module | ||
</nowiki> | </nowiki> | ||
Revision as of 00:24, 24 April 2017
work in progress
creating an OpenSCAD replica of v16.09
Frame
Assembly
F4x=31; //?why not just 22?
F4y=11;
F4z=0.5;
F4basex=25;
F6x=22.1875; //?why not just 22?
F6y=8;
F6z=0.5;
F8x=43.5;
F8y=6;
F8z=0.5;
F9x=43.5;
F9y=4.5;
F9z=0.5;
$fn=20; //render final model at 100
// ----------------------- //
translate([0,(F8y/2)+F6z,20.472]) //Z from F9// //adjust with cylinder length//
rotate([90,0,0])
F4(); //?group with F5?
translate([0,-(F8y/2),20.472])
rotate([90,0,0])
F4();
translate([0,(F8y/2)+F6z,0])
rotate([90,0,0])
F6();
translate([0,-(F8y/2),0])
rotate([90,0,0])
F6();
translate([1.9-8.5,0,0]){
rotate([0,0,90]){
translate([(F8y/2),F8z,0])
rotate([90,-90,0])
F8();
translate([(F8y/2)+(F9z/2)-(F8z/2),0,0])
rotate([0,-90,0])
F9();
translate([-(F8y/2)+(F9z/2)+(F8z/2),0,0])
rotate([0,-90,0])
F9();
}
}
translate([-1.9+8.5,0,0]){
rotate([0,0,-90]){
translate([(F8y/2),F8z,0])
rotate([90,-90,0])
F8();
translate([(F8y/2)+(F9z/2)-(F8z/2),0,0])
rotate([0,-90,0])
F9();
translate([-(F8y/2)+(F9z/2)+(F8z/2),0,0])
rotate([0,-90,0])
F9();
}
}
// ----------------------- //
module F4(){
difference(){
translate([-(F4x/2),0,0])
cube([F4x,F4y,F4z]);
translate([-(F4x/2),0,0])
cuts();
translate([(F4x/2),0,0])
mirror([1,0,0])
cuts();
} //end difference
module cuts(){
translate([0,0,0])
cube([3,5.375,F4z]);
translate([0,5.375,0])
difference(){
cube([3,5.125,F4z]);
translate([3,0,0])
rotate([0,0,atan(3/5.125)])
cube([10,10,F4z]);
}
translate([(F4x/2)-13.6375,F4y-0.5,0])
mirror([1,0,0])
cube([(F4x/2)-13.6375,0.5,F4z]);
translate([(F4x/2)-13.6375,F4y-0.625,0])
cube([2,0.625,F4z]);
translate([(F4x/2)-0.8125,F4y-0.5,0])
cube([0.8125,0.5,F4z]);
translate([(F4x/2)-1.0625,F4y-0.625,0])
cube([0.25,0.625,F4z]);
translate([(F4x/2)-9.8125,7.185,0]) //?part ycentered 7.5?
cube([1.125,0.625,F4z]); //?interfaces with what? ?part F2?
translate([(F4x/2)-8.5,2,0])
cylinder(h = F4z, r = 0.5025); //diameter 1.0?
translate([(F4x/2)-8.5,6,0])
cylinder(h = F4z, r = 0.5025);
translate([(F4x/2)-8.5,9,0])
cylinder(h = F4z, r = 0.5025);
} //end module
}
module F6(){
difference(){
translate([-(F6x/2),0,0])
cube([F6x,F6y,F6z]);
translate([-(F6x/2),0,0])
cuts();
translate([(F6x/2),0,0])
mirror([1,0,0])
cuts();
} //end difference
module cuts(){
translate([1.26,F6y-0.5,0]) //?xdistance from center?
cube([1.125,0.5,F6z]); //?interfaces with what?
translate([(F6x/2)-1.125,F6y-3.22,0])
cube([2.25,3.22,F6z]);
translate([F6x/2,F6y-3.22,0])
cylinder(h = F6z, r = 1.125);
translate([(F6x/2)-8.5,2,0])
cylinder(h = F6z, r = 0.38); //diameter 0.76?
translate([(F6x/2)-8.5,6,0])
cylinder(h = F6z, r = 0.38);
} //end module
}
module F8(){
difference(){
cube([F8x,F8y,F8z]);
translate([-0.0625,0,0])
cornerjoint(7.375,0.625,0.25,0.5,0.125);
translate([14.5-0.0625,0,0])
cornerjoint(7.375,0.625,0.25,0.5,0.125);
translate([14.5+14.5-0.0625,0,0])
cornerjoint(7.375,0.625,0.25,0.5,0.125);
translate([-0.0625,F8y,0])
mirror([0,1,0])
cornerjoint(7.375,0.625,0.25,0.5,0.125);
translate([14.5-0.0625,F8y,0])
mirror([0,1,0])
cornerjoint(7.375,0.625,0.25,0.5,0.125);
translate([14.5+14.5-0.0625,F8y,0])
mirror([0,1,0])
cornerjoint(7.375,0.625,0.25,0.5,0.125);
hull(){
translate([23.34,3,0]) //?x interfaces with what?
cylinder(h = F8z, r = 0.5);
translate([23.6,3,0])
cylinder(h = F8z, r = 0.5);
}
hull(){
translate([30.34,3,0]) //?x interfaces with what?
cylinder(h = F8z, r = 0.5);
translate([30.6,3,0])
cylinder(h = F8z, r = 0.5);
}
}
} //end F8 module
module F9(){
difference(){
cube([F9x,F9y,F9z]);
translate([7.25,0,0])
cornerjoint(7.25,0.625,0.25,0.5,0.125);
translate([14.5+7.25,0,0])
cornerjoint(7.25,0.625,0.25,0.5,0.125);
translate([14.5+14.5+7.25,0,0])
cornerjoint(7.25,0.625,0.25,0.5,0.125);
translate([0,F9y-0.5625,0])
cube([0.53125,0.5625,F9z]);
translate([19.96875,F9y-0.5625,0])
cube([0.5625,0.5625,F9z]);
translate([31.3,F9y-1.4,0])
cube([6.4,1.4,F9z]); //?interfaces with what?
translate([F9x-0.5,F9y-0.5625,0])
cube([0.5,0.5625,F9z]);
translate([2,1.9,0]) //?x interfaces with what? ?1.9?
cylinder(h = F9z, r = 0.38);
translate([6,1.9,0]) //?x interfaces with what?
cylinder(h = F9z, r = 0.38);
translate([22.472,1.9,0]) //??.472?? ?interfaces with what?
cylinder(h = F9z, r = 0.5025);
translate([26.472,1.9,0])
cylinder(h = F9z, r = 0.5025);
translate([29.472,1.9,0])
cylinder(h = F9z, r = 0.5025);
translate([39,1.9,0]) //?x interfaces with what?
cylinder(h = F9z, r = 0.38);
translate([42,1.9,0]) //?x interfaces with what?
cylinder(h = F9z, r = 0.38);
}
} //end F9 module
module cornerjoint(L,H,EndGap,PadL,PadH){
difference(){
cube([L,H,F9z]);
translate([EndGap,H-PadH,0])
cube([PadL,PadH,F9z]);
translate([L-EndGap-PadL,H-PadH,0])
cube([PadL,PadH,F9z]);
}
} //end cornerjoint module
F1
F1x=24.2;
F1y=6;
F1z=0.5;
$fn=20; //render final model at 100
projection(cut = true) //use projection to create 2D DXF files
difference(){
translate([-(F1x/2),0,0])
cube([F1x,F1y,F1z]);
translate([-(F1x/2),0,0])
cuts();
translate([(F1x/2),0,0])
mirror([1,0,0])
cuts();
} //end difference
module cuts(){
cube([0.5,0.5,F1z]);
translate([0.5,0,0])
cube([0.7875,0.625,F1z]);
translate([0,F1y-0.25,0])
cube([0.4,0.25,F1z]);
translate([2.2875,F1y-0.5,0])
cube([1.125,0.5,F1z]);
translate([11.0375,0,0])
cube([0.8125,0.625,F1z]);
translate([11.85,0,0])
cube([0.25,0.5,F1z]);
translate([3.6,1.5,0])
cylinder(h = F1z, r = 0.375);
translate([3.6,4.5,0])
cylinder(h = F1z, r = 0.375);
translate([6.1925,2.465,0])
cylinder(h = F1z, r = 0.6);
} //end module
F2
F2x=19.5;
F2y=3.5;
F2z=0.5;
$fn=20; //render final model at 100
projection(cut = true) //use projection to create 2D DXF files
difference(){
translate([-(F2x/2),0,0])
cube([F2x,F2y,F2z]);
translate([-(F2x/2),0,0])
cuts();
translate([(F2x/2),0,0])
mirror([1,0,0])
cuts();
} //end difference
module cuts(){
translate([1,F2y-0.625,0])
cube([0.125,0.625,F2z]);
translate([1.125,F2y-0.5,0])
cube([8.625,0.5,F2z]);
} //end module
F3
F3x=23.75;
F3y=3.5;
F3z=0.5;
$fn=20; //render final model at 100
projection(cut = true) //use projection to create 2D DXF files
difference(){
translate([-(F3x/2),0,0])
cube([F3x,F3y,F3z]);
translate([-(F3x/2),0,0])
cuts();
translate([(F3x/2),0,0])
mirror([1,0,0])
cuts();
} //end difference
module cuts(){
translate([1,0,0])
cube([1,0.625,F3z]);
translate([2,0,0])
cube([1,0.5,F3z]);
translate([3,0,0])
cube([5.875,0.625,F3z]);
translate([8.875,0,0])
cube([1,0.5,F3z]);
translate([9.875,0,0])
cube([1,0.625,F3z]);
translate([5.375,1.75,0])
cylinder(h = F3z, r = 0.5);
} //end module
F4
F4x=31; //?why not just 22?
F4y=11;
F4z=0.5;
F4basex=25;
$fn=20; //render final model at 100
projection(cut = true) //use projection to create 2D DXF files
difference(){
translate([-(F4x/2),0,0])
cube([F4x,F4y,F4z]);
translate([-(F4x/2),0,0])
cuts();
translate([(F4x/2),0,0])
mirror([1,0,0])
cuts();
} //end difference
module cuts(){
translate([0,0,0])
cube([3,5.375,F4z]);
translate([0,5.375,0])
difference(){
cube([3,5.125,F4z]);
translate([3,0,0])
rotate([0,0,atan(3/5.125)])
cube([10,10,F4z]);
}
translate([(F4x/2)-13.6375,F4y-0.5,0])
mirror([1,0,0])
cube([(F4x/2)-13.6375,0.5,F4z]);
translate([(F4x/2)-13.6375,F4y-0.625,0])
cube([2,0.625,F4z]);
translate([(F4x/2)-0.8125,F4y-0.5,0])
cube([0.8125,0.5,F4z]);
translate([(F4x/2)-1.0625,F4y-0.625,0])
cube([0.25,0.625,F4z]);
translate([(F4x/2)-9.8125,7.185,0]) //?part ycentered 7.5?
cube([1.125,0.625,F4z]); //?interfaces with what? ?part F2?
translate([(F4x/2)-8.5,2,0])
cylinder(h = F4z, r = 0.5025); //diameter 1.0?
translate([(F4x/2)-8.5,6,0])
cylinder(h = F4z, r = 0.5025);
translate([(F4x/2)-8.5,9,0])
cylinder(h = F4z, r = 0.5025);
} //end module
F5
F5x=31.4;
F5y=3.5;
F5z=0.5;
$fn=20; //render final model at 100
projection(cut = true) //use projection to create 2D DXF files
difference(){
translate([-(F5x/2),0,0])
cube([F5x,F5y,F5z]);
translate([-(F5x/2),0,0])
cuts();
translate([(F5x/2),0,0])
mirror([1,0,0])
cuts();
} //end difference
module cuts(){
translate([4,F5y-0.625,0])
cube([1,0.625,F5z]);
translate([5,F5y-0.5,0])
cube([1,0.5,F5z]);
translate([6,F5y-0.625,0])
cube([6.7,0.625,F5z]);
translate([12.7,F5y-0.5,0])
cube([1,0.5,F5z]);
translate([13.7,F5y-0.625,0])
cube([1,0.625,F5z]);
hull(){
translate([3.5,1.5,0])
cylinder(h = F5z, r = 0.5);
translate([4.5,1.5,0])
cylinder(h = F5z, r = 0.5);
}
} //end module
F6
some errors of symmetry in source dxf drawing. made some assumptions. need to check fit with interfacing parts.
F6x=22.1875; //?why not just 22?
F6y=8;
F6z=0.5;
$fn=20; //render final model at 100
projection(cut = true) //use projection to create 2D DXF files
difference(){
translate([-(F6x/2),0,0])
cube([F6x,F6y,F6z]);
translate([-(F6x/2),0,0])
cuts();
translate([(F6x/2),0,0])
mirror([1,0,0])
cuts();
} //end difference
module cuts(){
translate([1.26,F6y-0.5,0]) //?xdistance from center?
cube([1.125,0.5,F6z]); //?interfaces with what?
translate([(F6x/2)-1.125,F6y-3.22,0])
cube([2.25,3.22,F6z]);
translate([F6x/2,F6y-3.22,0])
cylinder(h = F6z, r = 1.125);
translate([(F6x/2)-8.5,2,0])
cylinder(h = F6z, r = 0.38); //diameter 0.76?
translate([(F6x/2)-8.5,6,0])
cylinder(h = F6z, r = 0.38);
} //end module
F8
F8x=43.5;
F8y=6;
F8z=0.5;
$fn=20; //render final model at 100
difference(){
cube([F8x,F8y,F8z]);
translate([-0.0625,0,0])
cornerjoint(7.375,0.625,0.25,0.5,0.125);
translate([14.5-0.0625,0,0])
cornerjoint(7.375,0.625,0.25,0.5,0.125);
translate([14.5+14.5-0.0625,0,0])
cornerjoint(7.375,0.625,0.25,0.5,0.125);
translate([-0.0625,F8y,0])
mirror([0,1,0])
cornerjoint(7.375,0.625,0.25,0.5,0.125);
translate([14.5-0.0625,F8y,0])
mirror([0,1,0])
cornerjoint(7.375,0.625,0.25,0.5,0.125);
translate([14.5+14.5-0.0625,F8y,0])
mirror([0,1,0])
cornerjoint(7.375,0.625,0.25,0.5,0.125);
hull(){
translate([23.34,3,0]) //?x interfaces with what?
cylinder(h = F8z, r = 0.5);
translate([23.6,3,0])
cylinder(h = F8z, r = 0.5);
}
hull(){
translate([30.34,3,0]) //?x interfaces with what?
cylinder(h = F8z, r = 0.5);
translate([30.6,3,0])
cylinder(h = F8z, r = 0.5);
}
}
module cornerjoint(L,H,EndGap,PadL,PadH){
difference(){
cube([L,H,F8z]);
translate([EndGap,H-PadH,0])
cube([PadL,PadH,F8z]);
translate([L-EndGap-PadL,H-PadH,0])
cube([PadL,PadH,F8z]);
}
} //end cornerjoint module
F9
F9x=43.5;
F9y=4.5;
F9z=0.5;
$fn=20; //render final model at 100
difference(){
cube([F9x,F9y,F9z]);
translate([7.25,0,0])
cornerjoint(7.25,0.625,0.25,0.5,0.125);
translate([14.5+7.25,0,0])
cornerjoint(7.25,0.625,0.25,0.5,0.125);
translate([14.5+14.5+7.25,0,0])
cornerjoint(7.25,0.625,0.25,0.5,0.125);
translate([0,F9y-0.5625,0])
cube([0.53125,0.5625,F9z]);
translate([19.96875,F9y-0.5625,0])
cube([0.5625,0.5625,F9z]);
translate([31.3,F9y-1.4,0])
cube([6.4,1.4,F9z]); //?interfaces with what?
translate([F9x-0.5,F9y-0.5625,0])
cube([0.5,0.5625,F9z]);
translate([2,1.9,0]) //?x interfaces with what? ?1.9?
cylinder(h = F9z, r = 0.38);
translate([6,1.9,0]) //?x interfaces with what?
cylinder(h = F9z, r = 0.38);
translate([22.472,1.9,0]) //??.472?? ?interfaces with what?
cylinder(h = F9z, r = 0.5025);
translate([26.472,1.9,0])
cylinder(h = F9z, r = 0.5025);
translate([29.472,1.9,0])
cylinder(h = F9z, r = 0.5025);
translate([39,1.9,0]) //?x interfaces with what?
cylinder(h = F9z, r = 0.38);
translate([42,1.9,0]) //?x interfaces with what?
cylinder(h = F9z, r = 0.38);
}
module cornerjoint(L,H,EndGap,PadL,PadH){
difference(){
cube([L,H,F9z]);
translate([EndGap,H-PadH,0])
cube([PadL,PadH,F9z]);
translate([L-EndGap-PadL,H-PadH,0])
cube([PadL,PadH,F9z]);
}
} //end cornerjoint module
F10
F10x=5.9; F10y=2; F10z=0.5; cube([F10x,F10y,F10y]);
F11
F11x=1.25;
F11y=6;
F11z=0.5;
projection(cut = true) //use projection to create 2D DXF files
difference(){
translate([0,-(F11y/2),0])
cube([F11x,F11y,F11z]);
translate([0,-(F11y/2),0])
cuts();
translate([0,(F11y/2),0])
mirror([0,1,0])
cuts();
} //end difference
module cuts(){
translate([0.5,0,0])
cube([0.125,0.625,F11z]);
translate([0.625,0,0])
cube([0.625,0.5,F11z]);
} //end module
Arms
A1
A1x=4;
A1y=72;
A1z=0.5;
$fn=20;
difference(){
cube([A1x,A1y,A1z]);
translate([0,0.71875,0])
cube([0.6875,0.5625,A1z]);
translate([0,44.8501,0]) //?y.8501?
cube([0.6875,0.5625,A1z]);
translate([0,70.9688,0]) //y 0.46875 from top
cube([0.6875,0.5625,A1z]);
translate([2,2,0])
cylinder(h = A1z, r = 0.4);
translate([2,4,0])
cylinder(h = A1z, r = 0.4);
translate([2,27,0])
cylinder(h = A1z, r = 0.4);
translate([2,37,0])
cylinder(h = A1z, r = 0.4);
hull(){
translate([2,39.67,0]) //small error on drawing
cylinder(h = A1z, r = 0.4);
translate([2,40.25,0]) //small error on drawing
cylinder(h = A1z, r = 0.4);
}
hull(){
translate([2,50.25,0]) //small error
cylinder(h = A1z, r = 0.4);
translate([2,50.85,0]) //small error
cylinder(h = A1z, r = 0.4);
}
translate([2,53.75,0])
cylinder(h = A1z, r = 0.4); translate([2,56.75,0])
cylinder(h = A1z, r = 0.4);
translate([2,63.75,0])
cylinder(h = A1z, r = 0.4);
translate([2,69,0])
cylinder(h = A1z, r = 0.4);
//corner joints
for(i=[0:5])
translate([4,i*11.9375,0])
rotate([0,0,90])
cornerjoint(6.0625,0.625,0.125,0.5,0.125);
}
module cornerjoint(L,H,EndGap,PadL,PadH){
difference(){
cube([L,H,A1z]);
translate([EndGap,H-PadH,0])
cube([PadL,PadH,A1z]);
translate([L-EndGap-PadL,H-PadH,0])
cube([PadL,PadH,A1z]);
}
} //end cornerjoint module
A2
A2x=5.96603; //?just 6?
A2y=72;
A2z=0.5;
$fn=20;
difference(){
cube([A2x,A2y,A2z]);
translate([A2x-0.6875,0.46875,0])
cube([0.6875,0.5625,A2z]);
translate([A2x-0.6875,26.5874,0]) //?y.8501?
cube([0.6875,0.5625,A2z]);
translate([A2x-0.6875,A2y-0.71875,0]) //y 0.46875 from top
cube([0.6875,0.5625,A2z]);
hull(){
translate([A2x-1.75,21.2,0]) //?y?
cylinder(h = A2z, r = 0.4);
translate([A2x-1.75,22.765,0]) //?y?
cylinder(h = A2z, r = 0.4);
}
hull(){
translate([A2x-1.75,47.56,0]) //?y?
cylinder(h = A2z, r = 0.4);
translate([A2x-1.75,49.0785,0]) //?y?
cylinder(h = A2z, r = 0.4);
}
//corner joints
for(i=[0:5])
translate([0,(i*12)+6,0])
rotate([0,0,270])
cornerjoint(6,0.625,0.125,0.5,0.125);
}
module cornerjoint(L,H,EndGap,PadL,PadH){
difference(){
cube([L,H,A2z]);
translate([EndGap,H-PadH,0])
cube([PadL,PadH,A2z]);
translate([L-EndGap-PadL,H-PadH,0])
cube([PadL,PadH,A2z]);
}
} //end cornerjoint module