User:Dorkmo/Ideas/Battery/SCAD: Difference between revisions
< User:Dorkmo | Ideas | Battery
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]) | |||
{ | |||
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 | //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 | |||
} | |||
} | |||
} | |||
} | |||
} | |||
</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); }