storarm_thick = 10;
storarm_axleslop = 4;
+storarm_base_w = 30;
+storarm_base_h = 100;
+storarm_base_d = 15;
+storarm_base_mind = 2;
+
+storarm_cope_hubaxle_mk1 = true;
+
// calculated
storarm_axlerad = hubaxlerad - storarm_axleslop;
-storarm_mainlen = hubaxlelen;
+storarm_mainlen = hubaxlelen + (storarm_cope_hubaxle_mk1 ? 10 : 0);
storarm_totlen = storarm_mainlen + storarm_hooklen;
+storarm_mid_off_y = storarm_axlerad;
+
+storarm_base_off_y = storarm_mid_off_y + storarm_base_h/2;
+
module StorageArmDiagPartSide(xmin, xmax){
xsz = xmax-xmin;
yuse = storarm_thick/2;
}
}
+module StorageArmBaseTemplate(){
+ square([storarm_base_w, storarm_base_h]);
+}
+
module StorageArm(){ ////toplevel
shear = storarm_hookheight / (storarm_mainlen/2);
translate([0, storarm_hookheight, 0])
StorageArmDiagPart(storarm_mainlen, storarm_totlen,
shear/2, -storarm_hookheight/2);
+
+ hull(){
+ translate([-storarm_base_d, -storarm_base_off_y, storarm_base_w])
+ rotate([0,90,0])
+ linear_extrude(height=storarm_base_mind)
+ StorageArmBaseTemplate();
+ StorageArmDiagPart(-1, 0, shear, 0);
+ }
}