1
0
mirror of https://github.com/pgrondek/SixInchRack.git synced 2024-11-25 21:25:35 +00:00

Merge pull request #1 from aschiweck/master

Merge additional models
This commit is contained in:
Przemek Grondek 2019-10-02 07:20:32 +00:00 committed by GitHub
commit ba41bdc38a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 874938 additions and 150 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,131 @@
include<../sixinch_library.scad>
debug = false;
if (debug) {
$fn = 16;
color("red") {
AnkerPowerPort5();
}
}
//////////////////////////////////////////////////
// PASTE ALL OF: sixinch_library.scad IN HERE //
// Thingiverse can only accept one file. //
//////////////////////////////////////////////////
AnkerPowerPort5_length = 90;
AnkerPowerPort5_height = 27;
AnkerPowerPort5_width = 58;
AnkerPowerPort5_powerdepth = 50;
Part = "a"; // [a:All, b:FrontPlate, c:Cabinet, d:Lid, e:BackPlate, f:Handles]
Units = 3;
Depth = AnkerPowerPort5_length + AnkerPowerPort5_powerdepth;
xoffset = ((width - AnkerPowerPort5_width) / 2) - 2;
yoffset = (((Units * unit) - AnkerPowerPort5_height) / 2) - 2;
round_holes = [[6, 9, 6],
[6, 5, 6],
[6, 1, 6]];
square_holes = [[xoffset + 5.5, yoffset + 6, 6, 14],
[xoffset + 5.5 +(1*10), yoffset + 6, 6, 14],
[xoffset + 5.5 +(2*10), yoffset + 6, 6, 14],
[xoffset + 5.5 +(3*10), yoffset + 6, 6, 14],
[xoffset + 5.5 +(4*10), yoffset + 6, 6, 14]];
go();
module go(){
rotate([90,0,-90]){
if(Part=="a"){
frontplate(Units,[],[],[],[Units/2],[45],[45]);
cabinet_supported () {
cabinet(Depth,Units,[45],[],[Units/2]);
}
lid_supported () {
lid(Depth,Units,[45],[45]);
}
back_plate(Units, Depth, [45], [45], [Units/2], square_holes, round_holes);
handle(Units, false);
}else if(Part=="b"){
frontplate(Units,[],[],[],[Units/2],[45],[45]);
}else if(Part=="c"){
cabinet_supported () {
cabinet(Depth,Units,[45],[],[Units/2]);
}
}else if(Part=="d"){
lid_supported () {
lid(Depth,Units,[45],[45]);
}
}else if(Part=="e"){
back_plate(Units, Depth, [45], [45], [Units/2], square_holes, round_holes);
}else if(Part=="f"){
handle(Units, true);
}
}
}
module lid_supported () {
children();
difference () {
union () {
translate([(sixinch - AnkerPowerPort5_width) / 2 , (Units * unit), (AnkerPowerPort5_length / 3) * 2 + AnkerPowerPort5_powerdepth]) {
rotate([90, 0, 0]) {
cylinder(h=20, r=5);
}
}
translate([((sixinch - AnkerPowerPort5_width) / 2) + AnkerPowerPort5_width, (Units * unit), (AnkerPowerPort5_length / 3) * 2 + AnkerPowerPort5_powerdepth]) {
rotate([90, 0, 0]) {
cylinder(h=20, r=5);
}
}
}
rotate([0, 90, 90]){
AnkerPowerPort5();
}
}
}
module cabinet_supported () {
children();
difference () {
union () {
translate([(sixinch - AnkerPowerPort5_width) / 2, 20, (AnkerPowerPort5_length / 3) * 2 + AnkerPowerPort5_powerdepth]) {
rotate([90, 0, 0]) {
cylinder(h=20, r=5);
}
}
translate([((sixinch - AnkerPowerPort5_width) / 2) + AnkerPowerPort5_width, 20, (AnkerPowerPort5_length / 3) * 2 + AnkerPowerPort5_powerdepth]) {
rotate([90, 0, 0]) {
cylinder(h=20, r=5);
}
}
translate([(sixinch - AnkerPowerPort5_width) / 2, 20, AnkerPowerPort5_powerdepth + 1]) {
rotate([90, 0, 0]) {
cylinder(h=20, r=5);
}
}
translate([((sixinch - AnkerPowerPort5_width) / 2) + AnkerPowerPort5_width, 20, AnkerPowerPort5_powerdepth + 1]) {
rotate([90, 0, 0]) {
cylinder(h=20, r=5);
}
}
}
rotate([0, 90, 90]){
AnkerPowerPort5();
}
}
}
module AnkerPowerPort5 () {
rotate([0,0,0]) {
translate([-AnkerPowerPort5_length - 1 - AnkerPowerPort5_powerdepth, -AnkerPowerPort5_width - ((sixinch - AnkerPowerPort5_width) / 2), ((Units * unit) - AnkerPowerPort5_height) / 2]) {
cube([AnkerPowerPort5_length, AnkerPowerPort5_width, AnkerPowerPort5_height ]);
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,116 @@
include<../sixinch_library.scad>
/* debug = false; */
/* if (debug) { */
/* $fn = 16; */
/* translate([85.5, 4, 54]) { */
/* rotate(a=[-90, -90, 0]) { */
/* color("red") { */
/* import("../../../Open_SCAD_Raspberry_PI3_model/files/Pi3HifiBerry.stl"); */
/* } */
/* } */
/* } */
/* } */
///////////////////////////////
// Raspberry Pi 3 Model B //
///////////////////////////////
print_frontplate_sml = false;
print_handle_sml = false;
print_cabinet_sml = false;
print_lid = false;
print_rear = true;
remove = true;
if(print_frontplate_sml){ // Frontplate //
square_hole = [];
round_hole = [[65 ,7.5, 3.1],[69.5 ,7.5, 3.1]];
round_peg = [];
screw_side_front = [];
screw_top = [36];
screw_bottom_front = [36];
units = 3;
frontplate(units,square_hole,round_hole,round_peg,screw_side_front,screw_top,screw_bottom_front);
}
if(print_handle_sml){ // Handle //
units = 3;
lay_flat_for_print = false;
handle(units,lay_flat_for_print);
}
if(print_cabinet_sml){ // Cabinet //
w=88;
h=70;
screw_bottom_front = [36];
screw_side_front = [];
round_peg = [[w,h,6,3,4],
[w-49,h,6,3,4],
[w-49,h-58,6,3,4],
[w,h-58,6,3,4]];
depth = 98;
units = 3;
difference() {
cabinet(depth,units,screw_bottom_front,round_peg,screw_side_front);
hull() {
hull() {
rotate(a=90, v=[0, 1, 0]) {
translate([-45.5, 30, 10]) {
cylinder(h=50, r=7);
}
}
rotate(a=90, v=[0, 1, 0]) {
translate([-62.5, 30, 10]) {
cylinder(h=50, r=7);
}
}
}
hull() {
rotate(a=90, v=[0, 1, 0]) {
translate([-45.5, 50, 10]) {
cylinder(h=50, r=7);
}
}
rotate(a=90, v=[0, 1, 0]) {
translate([-62.5, 50, 10]) {
cylinder(h=50, r=7);
}
}
}
}
}
}
if(print_lid){ // Lid //
depth = 98;
units = 3;
screw_front = [36];//mm
screw_back = [36];//mm
lid(98,3,screw_front,screw_back);
translate([65, 20.5, 12]) {
cube([40, 21.5, 5]);
}
translate([65, 20.5, 71]) {
cube([40, 21.5, 5]);
}
}
if(print_rear){ // Back plate //
square_hole = [[37, 5, 17, 15] , [57, 6, 15, 16] , [75, 6, 15, 16] ];
round_hole = [[6,5,6],[6,1,6], [24,3.5,3.5], [24,1.2,3.5] ,[30,3.5,3.5], [30,1.2,3.5]];
screw_top = [36];//mm
screw_bottom = [36];//mm
screw_side = [];
depth = 98;
units = 3;
back_plate(units,depth,screw_top,screw_bottom,screw_side,square_hole,round_hole);
}

View File

@ -0,0 +1,3 @@
$fn=50;
cylinder(h=14, d=2.8);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

203
RackCabinets/SMSLSA50/case.scad Executable file
View File

@ -0,0 +1,203 @@
include<../sixinch_library.scad>
debug = false;
if (debug) {
$fn = 16;
color("red") {
sa50();
}
}
//////////////////////////////////////////////////
// PASTE ALL OF: sixinch_library.scad IN HERE //
// Thingiverse can only accept one file. //
//////////////////////////////////////////////////
sa50_length = 117.5;
sa50_height = 39;
sa50_width = 88;
Part = "a"; // [a:All, b:FrontPlate, b2:FrontPlate2, c:Cabinet, d:Lid, e:BackPlate, f:Handles]
Units = 5;
Depth = sa50_length;
xoffset = (width - sa50_width) / 2;
yoffset = ((Units * unit) - sa50_height) / 2;
round_holes = [[xoffset + 12, yoffset + 14, 10],
[xoffset + 12, yoffset + 28, 10],
[xoffset + 35.5, yoffset + 10, 13],
[xoffset + 35.5, yoffset + 26, 13],
[xoffset + 54, yoffset + 10, 13],
[xoffset+ 54, yoffset + 26, 13],
[xoffset + 73, yoffset + 13.5, 7]];
go();
module go(){
rotate([90,0,-90]){
if(Part=="a"){
lower() {
frontplate(Units,[],[],[],[Units/2],[45],[45]);
}
upper() {
frontplate(Units,[],[],[],[Units/2],[45],[45]);
}
cabinet_supported () {
cabinet(Depth,Units,[45],[],[Units/2]);
}
lid_supported () {
lid(Depth,Units,[45],[45]);
}
back_plate(Units, Depth, [45], [45], [Units/2], [], round_holes);
handle(Units,false);
}else if(Part=="b"){
lower() {
frontplate(Units,[],[],[],[Units/2],[45],[45]);
}
}else if(Part=="b2"){
upper() {
frontplate(Units,[],[],[],[Units/2],[45],[45]);
}
}else if(Part=="c"){
cabinet_supported () {
cabinet(Depth,Units,[45],[],[Units/2]);
}
}else if(Part=="d"){
lid_supported () {
lid(Depth,Units,[45],[45]);
}
}else if(Part=="e"){
back_plate(Units, Depth, [45], [45], [Units/2], [], round_holes);
/* translate([-sa50_length, -sa50_width - ((sixinch - sa50_width) / 2), ((Units * unit) - sa50_height) / 2]) { */
/* cube([10, 10, 10]); */
/* } */
}else if(Part=="f"){
handle(Units,true);
}
}
}
module lower () {
difference() {
children();
rotate([0, 90, 90]){
sa50();
}
rotate([0, 90, 90]){
translate([0, 0, -sa50_height]) {
sa50();
}
}
}
}
module upper () {
intersection() {
children();
rotate([0, 90, 90]){
translate([0, 0, -sa50_height]) {
sa50();
}
}
}
rotate([-90,90,0]) {
translate([-6, -(width - sa50_width + 10), 2]) {
cube([3, 8, 12]);
}
translate([-6, - width - 10, 2]) {
cube([3, 8, 12]);
}
}
}
module lid_supported () {
children();
difference () {
union () {
translate([(sixinch - sa50_width) / 2 , (Units * unit), (sa50_length / 2) + 20]) {
rotate([90, 0, 0]) {
cylinder(h=20, r=5);
}
}
translate([((sixinch - sa50_width) / 2) + sa50_width, (Units * unit), (sa50_length / 2) + 20]) {
rotate([90, 0, 0]) {
cylinder(h=20, r=5);
}
}
}
rotate([0, 90, 90]){
sa50();
}
}
}
module cabinet_supported () {
children();
difference () {
union () {
translate([(sixinch - sa50_width) / 2, 25, (sa50_length / 2) - 45]) {
rotate([90, 0, 0]) {
cylinder(h=25, r=5);
}
}
translate([((sixinch - sa50_width) / 2) + sa50_width, 25, (sa50_length / 2) - 45]) {
rotate([90, 0, 0]) {
cylinder(h=25, r=5);
}
}
translate([(sixinch - sa50_width) / 2, 25, (sa50_length / 2)]) {
rotate([90, 0, 0]) {
cylinder(h=25, r=5);
}
}
translate([((sixinch - sa50_width) / 2) + sa50_width, 25, (sa50_length / 2)]) {
rotate([90, 0, 0]) {
cylinder(h=25, r=5);
}
}
difference () {
translate([((sixinch - sa50_width) / 2) + 5 + 10, 20, sa50_length - 12 - 5]) {
rotate([90, 0, 0]) {
cylinder(h=20, r=5 + 2);
}
}
translate([((sixinch - sa50_width) / 2) + 5 + 10, 20, sa50_length - 12]) {
rotate([90, 0, 0]) {
cylinder(h=8, r=5.5);
}
}
}
difference () {
translate([((sixinch - sa50_width) / 2) + sa50_width - 5 - 10, 20, sa50_length - 12 - 5]) {
rotate([90, 0, 0]) {
cylinder(h=20, r=5 + 2);
}
}
translate([((sixinch - sa50_width) / 2) + sa50_width - 5 - 10, 20, sa50_length - 12]) {
rotate([90, 0, 0]) {
cylinder(h=8, r=5.5);
}
}
}
}
rotate([0, 90, 90]){
sa50();
}
}
}
module sa50 () {
rotate([0,0,0]) {
translate([-sa50_length, -sa50_width - ((sixinch - sa50_width) / 2), ((Units * unit) - sa50_height) / 2]) {
cube([sa50_length, sa50_width, sa50_height ]);
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

68980
RackCabinets/SMSLSA50/lid.stl Normal file

File diff suppressed because it is too large Load Diff

26714
RackCabinets/SMSLSA50/rear.stl Normal file

File diff suppressed because it is too large Load Diff

View File

@ -177,6 +177,11 @@ module cabinet (dp,u,screw_bottom_front,round_peg,screw_side_front){
module box(dp,u,screw_bottom_front,round_peg,screw_side_front){
/* RaspberryPi3ModelBHifiBerry */
/* difference(){ */
/* union() { */
difference(){
translate([20,0,gauge]){
difference(){
@ -243,12 +248,35 @@ module box(dp,u,screw_bottom_front,round_peg,screw_side_front){
od = round_peg[i][2];
id = round_peg[i][3];
he = round_peg[i][4];
translate([x,0,y]){peg(0,0,od,id,he); }
translate([x,0,y]){peg(0,0,od,id,he);}
}
}
}
}
/* RaspberryPi3ModelBHifiBerry */
/* } */
/* translate([20+gauge_box,0,gauge]){ */
/* if(len(round_peg)>0){ */
/* for(i=[0:len(round_peg)-1]){ */
/* x = round_peg[i][0]; */
/* y = round_peg[i][1]; */
/* od = round_peg[i][2]; */
/* id = round_peg[i][3]; */
/* he = round_peg[i][4]; */
/* translate([x,5,y]){ */
/* color("red") { */
/* rotate([90, 0, 0]) { */
/* cylinder(h=4,r=1.5); */
/* } */
/* } */
/* } */
/* } */
/* } */
/* } */
/* } */
}
module lid(dp,u,screw_front,screw_back){
@ -286,7 +314,9 @@ module lid(dp,u,screw_front,screw_back){
translate([sixinch-20-gauge_box-4,unit*u +0.01 ,gauge+dp-10-10+10-5]){rotate([90,0,0]){screw();}}
if(dp>90){
translate([sixinch-20-gauge_box-4,unit*u+0.01 ,gauge+dp/2-5+10-5]){rotate([90,0,0]){screw();}}
translate([20+gauge_box+4,unit*u+0.01 ,gauge+dp/2-5+5]){rotate([90,0,0]){screw();}}
if(!remove){
translate([20+gauge_box+4,unit*u+0.01 ,gauge+dp/2-5+5]){rotate([90,0,0]){screw();}}
}
}
chimney();
@ -518,8 +548,12 @@ module frontplate(u,square_hole,round_hole,round_peg,screw_side_front,screw_top,
//cabinet support bars
translate([0,0,gauge]){
translate([20+width*0.25,gauge_box,0]){ cube([width*0.5,1,1.5]); }
translate([20+width*0.25,unit*u-1-gauge_box,0]){ cube([width*0.5,1,1.5]); }
/* translate([20+width*0.25,gauge_box,0]){ cube([width*0.5,1,1.5]); } */
/* translate([20+width*0.25,unit*u-1-gauge_box,0]){ cube([width*0.5,1,1.5]); } */
/* FIXME: */
translate([25+width*0.25,gauge_box,0]){ cube([width*0.5-12.5,1,1.5]); }
translate([25+width*0.25,unit*u-1-gauge_box,0]){ cube([width*0.5-12.5,1,1.5]); }
}
@ -554,22 +588,3 @@ module baseplate(u,handle){
}
}
}