<commit_before>// config e
Ay=3.318;
AC=17.5;
Bx=53.83;

loY=-60;  // location of lower brace beams
loX= 10;

zBar=90;

$fn=8;

for (a=[-1,1]) {
  %translate([0,0,(zBar-10)*a]) legProxy();
  %translate([0,0,(zBar+10)*a]) legProxy();
  translate( [0,0, zBar    *a]) mainBar();
  translate([0,0,a*(zBar+20)]) rotate([0,90*(a+1),0]) outerCap();
}
basket();

module basket() {
  for(a=[-1,1]) {
    %translate([Bx*a,0,0]) cylinder(r=1,h=120,$fn=16,center=true); // main axle
    for (b=[-1,1]) translate([Bx*b,0,zBar*a]) {
       color([0,0,1,1]) translate([0,0,-6*a])
       cylinder(r=1.9,h=60,$fn=16,center=true); // axle

       // axle brace sleves
       translate([0,0,-26*a]) cylinder(r=2.5,h=18,$fn=16,center=true);
    }

    translate([loX*a,loY,0]) {
       color([0,0,1,1]) cube([2.5,2.5,230],center=true); // lower rails
    }

    hull() for (b=[-1,1]) translate([ Bx*b, 0 ,71*a]) sphere(1); // arm guard bar
    //hull() for (b=[-1,1]) translate([loX*b,loY,71*a]) sphere(1); // outer foot bar
    for (b=[-1,1]) {
      hull() { // outer diagonal
        translate([ Bx*b, 0 ,70*a]) sphere(1);
        translate([loX*b,loY,70*a]) sphere(1);
      }
    }

    *hull() { // outer front diag
      translate([loX,loY,68*a]) sphere(1);
      translate([ Bx, 0 ,40*a]) sphere(1);
    }
    for(x=[-1,1]) {
       #hull() { // inner back trap
         translate([x*loX,loY,25*a]) sphere(1);
         translate([x*Bx, 0 , 5*a]) sphere(1);
       }
       hull() { // outer back
         translate([x*loX,loY,35*a]) sphere(1);
         translate([x*Bx , 0 ,60*a]) sphere(1);
       }
    }

    *hull() { // center foot low diag
      translate([ loX,loY, 5*a]) sphere(1);
      translate([-loX,loY,30*a]) sphere(1);
    }
    *hull() {
      translate([-loX,loY,40*a]) sphere(1);
      translate([ loX,loY,70*a]) sphere(1);
    }
    *for (b=[-1,1]) hull() {  // outer low X
      translate([-loX*b,loY,130*a]) sphere(1);
      translate([ loX*b,loY, 70*a]) sphere(1);
    }

    // may do something more complicated for payload bay,
    // but for now, just stich sides together
    translate([a*(Bx+2),2,0]) cube([3.8,3.8,140],center=true);
  }

  // expanded mesh floor
  color([0,.2,.8,.2]) translate([0,loY+2,0]) cube([2*loX,1,130],center=true);
}

module mainBar() {
  cube([110,5,5],center=true);
  translate([0,Ay,0]) {
    cylinder(r=1.5,h=4,$fn=16,center=true);
    #cylinder(r=AC,h=2,$fn=36,center=true);
    //cylinder(r=AC+2,h=.4,$fn=36,center=true);
  }

  // lower support
  for(x=[-1,1]) {
     // lower rail tubes
     translate([x*loX,loY,0]) cube([3.8,3.8,10],center=true);

     hull() {     // diagonals
       translate([x*(loX+2),loY,0]) sphere(1);
       translate([x*(Bx-8),0,0]) sphere(1);
     }
  }
  translate([0,loY,0]) cube([2*loX,3.8,3.8],center=true);<commit_msg>added color coding on assemblies<commit_after>// config e
Ay=3.318;
AC=17.5;
Bx=53.83;

loY=-60;  // location of lower brace beams
loX= 10;

zBar=90;

$fn=8;

for (a=[-1,1]) {
  %translate([0,0,(zBar-10)*a]) legProxy();
  %translate([0,0,(zBar+10)*a]) legProxy();
  translate( [0,0, zBar    *a]) color([.2,.2,.8,1]) mainBar();
  #translate([0,0,a*(zBar+20)]) rotate([0,90*(a+1),0]) outerCap();
}
basket();

module basket() {
  for(a=[-1,1]) {
    %translate([Bx*a,0,0]) cylinder(r=1,h=120,$fn=16,center=true); // main axle
    for (b=[-1,1]) translate([Bx*b,0,zBar*a]) {
       color([0,0,1,.6]) translate([0,0,-6*a])
       cylinder(r=1.9,h=60,$fn=16,center=true); // axle

       // axle brace sleves
       translate([0,0,-26*a]) cylinder(r=2.5,h=18,$fn=16,center=true);
    }

    //color([.6,.8,0,1]) 
    translate([loX*a,loY,0]) difference() { 
       cube([2.5,2.5,230],center=true); // lower rails

       // remove center section for wide platform version
       cube([3,3,66],center=true);
    }

    hull() for (b=[-1,1]) translate([ Bx*b, 0 ,71*a]) sphere(1); // arm guard bar
    //hull() for (b=[-1,1]) translate([loX*b,loY,71*a]) sphere(1); // outer foot bar
    for (b=[-1,1]) {
      hull() { // outer diagonal
        translate([ Bx*b, 0 ,70*a]) sphere(1);
        translate([20*b,loY+2,70*a]) sphere(1);
      }
    }

    for(x=[-1,1]) {
       hull() { // inner back trap
         translate([x*35,loY+4,22*a]) sphere(1);
         translate([x*Bx,  0  , 5*a]) sphere(1);
       }
       hull() { // outer back
         translate([x*35,loY+2,31*a]) sphere(1);
         translate([x*Bx,  0  ,60*a]) sphere(1);
       }
    }

    *hull() { // center foot low diag
      translate([ loX,loY, 5*a]) sphere(1);
      translate([-loX,loY,30*a]) sphere(1);
    }
    *hull() {
      translate([-loX,loY,40*a]) sphere(1);
      translate([ loX,loY,70*a]) sphere(1);
    }
    *for (b=[-1,1]) hull() {  // outer low X
      translate([-loX*b,loY,130*a]) sphere(1);
      translate([ loX*b,loY, 70*a]) sphere(1);
    }

    // may do something more complicated for payload bay,
    // but for now, just stich sides together
    translate([a*(Bx+2),2,0]) cube([3.8,3.8,140],center=true);

    translate([34*a,loY+6,0]) cube([2.5,2.5,138],center=true);
    translate([0,loY+3,67*a]) cube([70,3.8 ,3.8],center=true);
  }

  for(z=[-1,0,1]) translate([0,loY+3,34*z])
     cube([70,2.5,2.5],center=true);
  color([0,.2,.8,.2]) // expanded mesh floor
     translate([0,loY+5,0]) cube([68,.5,130],center=true);
     //translate([0,loY+2,0]) cube([2*loX,1,130],center=true);
}

module mainBar() {
  cube([110,5,5],center=true);
  translate([0,Ay,0]) {
    cylinder(r=1.5,h=4,$fn=16,center=true);
    #cylinder(r=AC,h=2,$fn=36,center=true);
    //cylinder(r=AC+2,h=.4,$fn=36,center=true);
  }

  // lower support
  for(x=[-1,1]) {
     // lower rail tubes
     translate([x*loX,loY,0]) cube([3.8,3.8,10],center=true);

     hull() {     // diagonals
       translate([x*(loX+2),loY,0]) sphere(1);
       translate([x*(Bx-8),0,0]) sphere(1);
     }
  }
  translate([0,loY,0]) cube([2*loX,3.8,3.8],center=true);
{'fraction_non_alphanumeric': 0.24928124471503466, 'fraction_numerical': 0.08100794858785726, 'mean_word_length': 3.118384401114206, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1861973', 'n_tokens_mistral': 2741, 'n_tokens_neox': 2558, 'n_words': 396}