CEB Press v16.09/SCAD Files: Difference between revisions
Jump to navigation
Jump to search
(→Arms) |
(→A2) |
||
Line 740: | Line 740: | ||
} | } | ||
} //end cornerjoint module | } //end cornerjoint module | ||
</nowiki> | |||
==A3== | |||
<nowiki> | |||
a3x=4; | |||
a3y=72; | |||
a3z=0.5; | |||
$fn=20; | |||
difference(){ | |||
cube([a3x,a3y,a3z]); | |||
//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,a3z]); | |||
translate([EndGap,H-PadH,0]) | |||
cube([PadL,PadH,a3z]); | |||
translate([L-EndGap-PadL,H-PadH,0]) | |||
cube([PadL,PadH,a3z]); | |||
} | |||
} //end cornerjoint module | |||
</nowiki> | </nowiki> |
Revision as of 04:34, 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
A3
a3x=4; a3y=72; a3z=0.5; $fn=20; difference(){ cube([a3x,a3y,a3z]); //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,a3z]); translate([EndGap,H-PadH,0]) cube([PadL,PadH,a3z]); translate([L-EndGap-PadL,H-PadH,0]) cube([PadL,PadH,a3z]); } } //end cornerjoint module