User:Dorkmo/Ideas/Battery/SCAD: Difference between revisions

From Open Source Ecology
Jump to navigation Jump to search
Line 62: Line 62:
cube(size = [((tub_width-(spacing*3))/2)-(cage_wall*2),(tub_length-(spacing*2))-(cage_endwall*2),cage_height-cage_base], center=false);
cube(size = [((tub_width-(spacing*3))/2)-(cage_wall*2),(tub_length-(spacing*2))-(cage_endwall*2),cage_height-cage_base], center=false);
translate([((tub_width-(spacing*3))/2)-cage_wall-((sin(mesh_angle)*sqrt((mesh_opening*mesh_opening)+(mesh_opening*mesh_opening)))/2), cage_endwall, cage_base])
translate([((tub_width-(spacing*3))/2)-cage_wall-((sin(mesh_angle)*sqrt((mesh_opening*mesh_opening)+(mesh_opening*mesh_opening)))/2), cage_endwall, cage_base])
{
  {
for (h = [0 : mesh_height])
    for (h = [0 : mesh_height])
{
    {
translate(h*[0,0,mesh_spacing])
      translate(h*[0,0,mesh_spacing])
{
      {
rotate([0,mesh_angle,0])
        rotate([0,mesh_angle,0])
{
        {
for (w = [0 : mesh_width])
          for (w = [0 : mesh_width])
{
          {
translate(w*[0,mesh_spacing,0])
            translate(w*[0,mesh_spacing,0])
{
            {
rotate([0,0,45])
              rotate([0,0,45])
{
              {
//could put a scale command here to make opening a perfect square
//could put a scale command here to make opening a perfect square
cube(size = [mesh_opening,mesh_opening,(mesh_opening*2)+(sin(90)*(10/sin(90-mesh_angle)))], center=false);
                cube(size = [mesh_opening,mesh_opening,(mesh_opening*2)+(sin(90)*(10/sin(90-mesh_angle)))], center=false);
}
              }
}
            }
}
          }
}
//begin second row
}
for (w = [0 : mesh_width])
}
          {
}
            translate([mesh_spacing/2,mesh_spacing/2,0])
}
            {
              translate(w*[0,mesh_spacing,0])
              {
                rotate([0,0,45])
                {
//could put a scale command here to make opening a perfect square
                cube(size = [mesh_opening,mesh_opening,(mesh_opening*2)+(sin(90)*(10/sin(90-mesh_angle)))], center=false);
                }
              }
            }
          }
//end second row
 
        }
      }
    }
  }
}
  </nowiki>
  </nowiki>



Revision as of 04:23, 4 November 2014

mesh

tweaking the pattern for holes through the cage

mesh_opening = 1 ;
mesh_angle = 45;
mesh_spacing = 2.5;
cage_wall = 10 ;
width = 20;
height = 20;

cube(size = [20,20,20], center=true);

for (h = [0 : height])
{
translate(h*[0,0,mesh_spacing])
{
rotate([0,mesh_angle,0])
{
for (w = [0 : width])
{
	translate(w*[0,mesh_spacing,0])
{
	rotate([0,0,45])
{
//could put a scale command here to make opening a perfect square
	cube(size = [mesh_opening,mesh_opening,(mesh_opening*2)+(sin(90)*(10/sin(90-mesh_angle)))], center=false);
}
}
}
}
}
} 

inside cage

height = 60;
tub_width = 95;
tub_length = 70;
outsidewall = 5;
basethickness = 5;
tub_wall = 5;

spacing = 5;
cage_height = 40;
cage_wall = 10;
cage_endwall = 5;
cage_base = 5;
wedge_hieght = 10;

mesh_opening = 1 ;
mesh_angle = 45;
mesh_spacing = 2.5;
mesh_width = 20;
mesh_height = 20;

difference()
	{
		cube(size = [(tub_width-(spacing*3))/2,tub_length-(spacing*2),cage_height], center=false);
		translate([cage_wall, cage_endwall, cage_base])
			cube(size = [((tub_width-(spacing*3))/2)-(cage_wall*2),(tub_length-(spacing*2))-(cage_endwall*2),cage_height-cage_base], center=false);
		translate([((tub_width-(spacing*3))/2)-cage_wall-((sin(mesh_angle)*sqrt((mesh_opening*mesh_opening)+(mesh_opening*mesh_opening)))/2), cage_endwall, cage_base])
   {
    for (h = [0 : mesh_height])
     {
      translate(h*[0,0,mesh_spacing])
       {
        rotate([0,mesh_angle,0])
         {
          for (w = [0 : mesh_width])
           {
            translate(w*[0,mesh_spacing,0])
             {
              rotate([0,0,45])
               {
//could put a scale command here to make opening a perfect square
                cube(size = [mesh_opening,mesh_opening,(mesh_opening*2)+(sin(90)*(10/sin(90-mesh_angle)))], center=false);
               }
             }
           }
//begin second row
for (w = [0 : mesh_width])
           {
            translate([mesh_spacing/2,mesh_spacing/2,0])
             {
              translate(w*[0,mesh_spacing,0])
               {
                rotate([0,0,45])
                 {
//could put a scale command here to make opening a perfect square
                cube(size = [mesh_opening,mesh_opening,(mesh_opening*2)+(sin(90)*(10/sin(90-mesh_angle)))], center=false);
                 }
               }
             }
           }
//end second row

         }
       }
     }
   }
 }
 
 

single cell tub

height = 60;
oa_width = 80;
oa_length = 105;
outsidewall = 5;
basethickness = 5;
membranethickness = 5;
tub_wall = 5;

spacing = 5;
cage_height = 40;
cage_wall = 10;
cage_base = 5;

difference()
	{
		cube(size = [oa_width, oa_length, height], center=false);
		translate([outsidewall,outsidewall,basethickness])
			cube(size = [oa_width-(outsidewall*2), oa_length-(outsidewall*2), height-basethickness], center=false);
	}