chiark / gitweb /
filamentspool: Break out base_xyz in StorageArm
[reprap-play.git] / filamentspool.scad
index fe29eea1f926f91efcb8fe8c085ac610f63b789d..114f3d50a11b76dfc5d9244a1d7c48d7b4816327 100644 (file)
 //     Set
 //           fdia=2.85
 //           lightduty=false
-//     (or look in filamentspool-sm.scad).
-//
 //     And print one of these, according to taste
 //            StorageArmLeft
 //            StorageArmRight
 //     NB that the `light duty' version of this is shorter and
 //     will only take two `light duty' spools.
 //
-// For the above, I used the Cura `High detail' PLA profile because
+// A longer arm for three spools is also available:
+//     Set
+//           fdia=2.85
+//           lightduty=false
+//           storarm_spools=3
+//     (or look in filamentspool-storarm3.scad).
+//
+//     And print one of these, according to taste
+//            StorageArmLeft
+//            StorageArmRight
+//
+// For all of these, I used the Cura `High detail' PLA profile because
 // I wanted it pretty, but the `Standard' profile should do fine.
 //
 // ===== Spools for 1.75mm filament =====
@@ -691,8 +700,11 @@ storarm_screw_hole_head_slop = 1.5;
 
 // calculated
 
+storarm_spools = 2;
+
 storarm_axlerad = hubaxlerad - storarm_axleslop;
-storarm_mainlen = hubaxlelen*2 + storarm_axleslop
+storarm_mainlen = hubaxlelen*storarm_spools
+  + storarm_axleslop*(storarm_spools-1)
   + (storarm_cope_hubaxle_mk1 ? 10 : 0);
 storarm_totlen = storarm_mainlen + storarm_hooklen;
 
@@ -751,6 +763,7 @@ module StorageArmAtMountingHoles(){
 
 module StorageArmRight(){ ////toplevel
   shear = storarm_hookheight / (storarm_mainlen/2);
+  base_xyz = [-storarm_base_d, -storarm_base_off_y, storarm_base_w];
 
   StorageArmDiagPart(-1, storarm_mainlen/2+1, shear, 0);
   StorageArmDiagPart(storarm_mainlen/2-1, storarm_mainlen+1, shear/2,
@@ -763,7 +776,7 @@ module StorageArmRight(){ ////toplevel
   difference(){
     union(){
       hull(){
-       translate([-storarm_base_d, -storarm_base_off_y, storarm_base_w])
+       translate(base_xyz)
          rotate([0,90,0])
          linear_extrude(height=storarm_base_mind)
          StorageArmBaseTemplate();