Compare commits

..

16 commits

Author SHA1 Message Date
pgrondek
307464622f Add OrangePi by KronBjorn
https://www.thingiverse.com/thing:2975752
2020-06-15 03:13:33 +02:00
pgrondek
ac8e7480c0 Move TL-SG105 cabinet to separate folder 2020-06-15 03:10:41 +02:00
pgrondek
b1af76936f Add TL-SG105 cabinet by RazziaDK
https://www.thingiverse.com/thing:3674711
2020-06-15 03:08:47 +02:00
pgrondek
772bbcb641 Add Mesh with 3U 2020-06-15 03:00:51 +02:00
pgrondek
3a2c6bece8 Fix library
now you can change sixinch width and all files should render correctly
2020-06-15 02:59:07 +02:00
pgrondek
e0e8e06bfb Add AnkerPowerPort6 by RazziaDK
https://www.thingiverse.com/thing:3670737
2020-06-07 15:51:15 +02:00
pgrondek
c8f9528494 Add SmartThings Cabinet 2020-06-07 15:47:07 +02:00
pgrondek
bc82b675ea Add RPi3 cabinet with mounts 2020-06-07 15:45:59 +02:00
pgrondek
84fc2482f5 Add option to remove middle screw 2020-06-07 15:42:58 +02:00
pgrondek
8172eb2058 Add more models for Philips Hue Hub v2 2020-06-07 15:34:00 +02:00
pgrondek
c45f6488b9 Add EdgeRouter X mesh frontplate 2020-06-07 15:33:07 +02:00
pgrondek
c2567606a8 Add cabinet for EdgeRouter X 2020-05-27 23:54:46 +02:00
pgrondek
d04ceb1164 Add Philips Hue bridge cabinet 2020-05-03 20:50:48 +02:00
pgrondek
ea0b47ea8a Added mesh frontplate with text 2020-01-25 17:39:54 +01:00
pgrondek
e9d9efb1d1 Improve mesh frontplate 2020-01-25 17:11:34 +01:00
pgrondek
c3cd46e8ca Added RPi mesh frontplate 2020-01-24 23:06:27 +01:00
41 changed files with 1995288 additions and 93037 deletions

13
Libs/Mesh-lib.scad Normal file
View file

@ -0,0 +1,13 @@
module mesh(xCount, yCount, height=1, size=1) {
translate ([1*size,1*size,0]) {
for (x =[0:(xCount-1)]) {
for (y =[0:(yCount-1)]) {
translate([x*4*size,y*2.2*size,0]) {
cylinder(height,size,size,$fn=6);
translate([2*size,1*size,0])
cylinder(height,size,size,$fn=6);
}
}
}
}
}

View file

@ -0,0 +1,89 @@
include<../sixinch_library.scad>
//
///////////////////////////////
// Raspberry Pi 3 Model B //
///////////////////////////////
print_frontplate_sml = false;
print_handle_sml = false;
print_cabinet_sml = true;
print_lid = false;
print_rear = false;
if(print_frontplate_sml){ // Frontplate //
square_hole = [];
round_hole = [];
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 = [[30,46.3,15,0,10], // Pillar in front of PowerPort 6
[81,46.3,15,0,10], // Pillar in front of PowerPort 6
[15.2,70,10,0,10], // Pillar to the near right of PowerPort 6
[95.8,70,10,0,10], // Pillar to the near left of PowerPort 6
[15.2,110,10,0,10], // Pillar to the far right of PowerPort 6
[95.8,110,10,0,10], // Pillar to the far left of PowerPort 6
[57,120,50,0,4], // Pillar under the PowerPort 6
[57,80,50,0,4], // Pillar under the PowerPort 6
];
depth = 155;
units = 2;
cabinet(depth,units,screw_bottom_front,round_peg,screw_side_front);
}
if(print_lid){ // Lid //
depth = 155;
units = 3;
screw_front = [36];//mm
screw_back = [36];//mm
lid(depth,units,screw_front,screw_back);
}
if(print_rear){ // Back plate //
usb_padding = 9;
square_hole = [[29 ,usb_padding, 6, 14], [29+(1*10) ,usb_padding, 6, 14], [29+(2*10) ,usb_padding, 6, 14], [29+(3*10) ,usb_padding, 6, 14], [29+(4*10) ,usb_padding, 6, 14], [29+(5*10) ,usb_padding, 6, 14]];
round_hole = [[6,9,6],[6,5,6],[6,1,6]];
screw_top = [36];//mm
screw_bottom = [36];//mm
screw_side = [];
depth = 155;
units = 3;
back_plate(units,depth,screw_top,screw_bottom,screw_side,square_hole,round_hole);
}

View file

@ -34,7 +34,7 @@ if(print_handle_sml){ // Handle //
if(print_cabinet_sml){ // Cabinet //
w=88;
h=70;
screw_bottom_front = [];
screw_bottom_front = [36];
screw_side_front = [];
round_peg = [
[20, 50, 15, 0, 15], // Pillar in front
@ -52,7 +52,7 @@ if(print_cabinet_sml){ // Cabinet //
difference() {
cabinet(depth,units,screw_bottom_front,round_peg,screw_side_front);
rotate([-90,0,0]){
translate([27.5, -156, 4])
translate([27.5, -156, 8])
cube([100, 98.5, 28.5]); // D-Link DGS-105 model
}
}
@ -64,17 +64,17 @@ if(print_lid){ // Lid //
difference () {
lid(depth, units, screw_front, screw_back);
rotate([-90,0,0]){
translate([27.5, -156, 4])
translate([27.5, -156, 8])
cube([100, 98.5, 28.5]); // D-Link DGS-105 model
}
}
}
if(print_rear){ // Back plate //
square_hole = [[17, 11, 82, 14]];
square_hole = [[17, 15, 82, 14]];
round_hole = [[6,5,6],[6,1,6]];
screw_top = [36];//mm
screw_bottom = [];//mm
screw_bottom = [36];//mm
screw_side = [];
back_plate(units, depth, screw_top, screw_bottom, screw_side, square_hole,round_hole);
}
@ -83,7 +83,7 @@ if(print_rear){ // Back plate //
// D-Link DGS-105 model
if(model) {
rotate([-90,0,0]){
translate([27.5, -156, 4])
translate([27.5, -156, 8])
difference(){
union(){
color([1,1,1]) cube([100, 98.5, 28.5]); // D-Link DGS-105 model

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

View file

@ -0,0 +1,49 @@
include<../sixinch_library.scad>
include<../../Libs/Mesh-lib.scad>
///////////////////////////////
// EdgeRouter X //
///////////////////////////////
print_frontplate_sml = true;
if(print_frontplate_sml){ // Frontplate //
square_hole = [];
round_hole = [];
round_peg = [];
screw_side_front = [];
screw_top = [36];
screw_bottom_front = [36];
units = 3;
difference() {
union() {
frontplate(units,square_hole,round_hole,round_peg,screw_side_front,screw_top,screw_bottom_front);
}
translate([25,1.5,0]) {
intersection(){
translate([-1.5,-1.5,0]){
difference() {
mesh(17, 6, 3, 3);
translate([12.5, 6, 0]){cylinder(50,4.5,4.5);}
translate([12.5, 36, 0]){cylinder(50,4.5,4.5);}
translate([95.5, 6, 0]){cylinder(50,4.5,4.5);}
translate([95.5, 36, 0]){cylinder(50,4.5,4.5);}
}
}
cube([105,38,10]);
}
}
translate([0,0,3]) cube([155,130,10]);
}
rotate([180,0,0])
translate([58.5, -28, -3])
linear_extrude(5)
text("router");
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,104 @@
include<../sixinch_library.scad>
///////////////////////////////
// Edgerouter X //
///////////////////////////////
print_frontplate_sml = false;
print_handle_sml = false;
print_cabinet_sml = false;
print_lid = false;
print_rear = true;
model = false;
units = 3;
depth = 98;
module model() {
rotate([-90,0,0]){
translate([22, -99, 8])
difference(){
union(){
color([1,1,1]) cube([110, 75, 22]); // EdgeRouter X model
}
translate([9, -1, 6])
color([0.5, 0.5, 0.5])
union() { // RJ45 ports
translate([0* (15.5 + 3.5), 0, 0]) cube([15.5, 16, 13]);
translate([1* (15.5 + 3.5), 0, 0]) cube([15.5, 16, 13]);
translate([2* (15.5 + 3.5), 0, 0]) cube([15.5, 16, 13]);
translate([3* (15.5 + 3.5), 0, 0]) cube([15.5, 16, 13]);
translate([4* (15.5 + 3.5), 0, 0]) cube([15.5, 16, 13]);
}
}
}
}
if(print_frontplate_sml){ // Frontplate //
square_hole = [];
round_hole = [];
round_peg = [];
screw_side_front = [];
screw_top = [36];
screw_bottom_front = [36];
frontplate(units,square_hole,round_hole,round_peg,screw_side_front,screw_top,screw_bottom_front);
}
if(print_handle_sml){ // Handle //
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 = [
[20, 20, 15, 0, 15], // Pillar in front
[90, 20, 15, 0, 15], // Pillar in front
[5, 80, 10, 0, 15], // Pillar to the near right
[105, 80, 10, 0, 15], // Pillar to the near left
[55, 50, 45, 0, 8], // Pillar under the switch
];
difference() {
cabinet(depth,units,screw_bottom_front,round_peg,screw_side_front);
model();
}
}
if(print_lid){ // Lid //
screw_front = [36];//mm
screw_back = [36];//mm
difference () {
lid(depth, units, screw_front, screw_back);
model();
}
}
if(print_rear){ // Back plate //
square_hole = [
[9 + 0 * (15.5 + 3.5), 12, 15.5, 13],
[9 + 1 * (15.5 + 3.5), 12, 15.5, 13],
[9 + 2 * (15.5 + 3.5), 12, 15.5, 13],
[9 + 3 * (15.5 + 3.5), 12, 15.5, 13],
[9 + 4 * (15.5 + 3.5), 12, 15.5, 13],
];
round_hole = [];
screw_top = [36];//mm
screw_bottom = [36];//mm
screw_side = [];
back_plate(units, depth, screw_top, screw_bottom, screw_side, square_hole,round_hole);
}
// EdgeRouter X model
if(model) {
model();
}

View file

@ -0,0 +1,44 @@
include<../sixinch_library.scad>
include<../../Libs/Mesh-lib.scad>
print_frontplate_sml = true;
if(print_frontplate_sml){ // Frontplate //
square_hole = [];
round_hole = [];
round_peg = [];
screw_side_front = [];
screw_top = [36];
screw_bottom_front = [36];
units = 3;
difference() {
union() {
frontplate(units,square_hole,round_hole,round_peg,screw_side_front,screw_top,screw_bottom_front);
}
translate([25,1.5,0]) {
intersection(){
translate([-1.5,-1.5,0]){
difference() {
mesh(17, 6, 3, 3);
translate([12.5, 6, 0]){cylinder(50,4.5,4.5);}
translate([12.5, 36, 0]){cylinder(50,4.5,4.5);}
translate([95.5, 6, 0]){cylinder(50,4.5,4.5);}
translate([95.5, 36, 0]){cylinder(50,4.5,4.5);}
}
}
cube([105,38,10]);
}
}
translate([0,0,3]) cube([155,130,10]);
}
rotate([180,0,0])
translate([41.5, -26, -3])
linear_extrude(5)
text("USB Power");
}

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,49 @@
include<../sixinch_library.scad>
include<../../Libs/Mesh-lib.scad>
///////////////////////////////
// Raspberry Pi 3 Model B //
///////////////////////////////
print_frontplate_sml = true;
if(print_frontplate_sml){ // Frontplate //
square_hole = [];
round_hole = [];
round_peg = [];
screw_side_front = [];
screw_top = [36];
screw_bottom_front = [36];
units = 2;
difference() {
union() {
frontplate(units,square_hole,round_hole,round_peg,screw_side_front,screw_top,screw_bottom_front);
}
translate([25,1.5,0]) {
intersection(){
translate([-1.5,-1.5,0]){
difference() {
mesh(17, 5, 3, 3);
translate([12.5, 6, 0]){cylinder(50,4.5,4.5);}
translate([12.5, 22, 0]){cylinder(50,4.5,4.5);}
translate([95.5, 6, 0]){cylinder(50,4.5,4.5);}
translate([95.5, 22, 0]){cylinder(50,4.5,4.5);}
}
}
cube([105,25,10]);
}
}
translate([0,0,3]) cube([155,30,10]);
}
rotate([180,0,0])
translate([52.5, -18, -3])
linear_extrude(5)
text("node-03");
}

View file

@ -0,0 +1,41 @@
include<../sixinch_library.scad>
include<../../Libs/Mesh-lib.scad>
///////////////////////////////
// Raspberry Pi 3 Model B //
///////////////////////////////
print_frontplate_sml = true;
if(print_frontplate_sml){ // Frontplate //
square_hole = [];
round_hole = [];
round_peg = [];
screw_side_front = [];
screw_top = [36];
screw_bottom_front = [36];
units = 2;
difference() {
frontplate(units,square_hole,round_hole,round_peg,screw_side_front,screw_top,screw_bottom_front);
translate([25,1.5,0]) {
intersection(){
translate([-1.5,-1.5,0]){
difference() {
mesh(17, 5, 3, 3);
translate([12.5, 6, 0]){cylinder(50,4.5,4.5);}
translate([12.5, 22, 0]){cylinder(50,4.5,4.5);}
translate([95.5, 6, 0]){cylinder(50,4.5,4.5);}
translate([95.5, 22, 0]){cylinder(50,4.5,4.5);}
}
}
union() {
cube([105,25,10]);
}
}
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,192 @@
include<../sixinch_library.scad>
//////////////////
// Orange Pi //
//////////////////
print_frontplate_sml = false;
print_handle_sml = false;
print_cabinet_sml = true;
print_lid = false;
print_rear = false;
print_antennae = false;
dia=11;
if(print_frontplate_sml){ // Frontplate //
square_hole = [];
round_hole = [[87 ,7.5, 2.1],[91 ,7.5, 2.1],[107, unit,dia-2.0]];
round_peg = [];
screw_side_front = [];
screw_top = [36];
screw_bottom_front = [36];
units = 2;
frontplate(units,square_hole,round_hole,round_peg,screw_side_front,screw_top,screw_bottom_front);
}
if(print_handle_sml){ // Handle //
units = 2;
lay_flat_for_print = true;
handle(units,lay_flat_for_print);
}
if(print_cabinet_sml){ // Cabinet //
w=97;
h=70;
screw_bottom_front = [36];
screw_bottom_back = [26];
screw_side_front = [];
round_peg = [[w,h, 6,2.8,4],
[w-40,h, 6,2.8,4],
[w-40,h-42,6,2.8,4],
[w,h-42, 6,2.8,4]];
depth = 80;
units = 2;
difference(){
cabinet(depth,units,screw_bottom_front,round_peg,screw_side_front,screw_bottom_back);
}
}
if(print_lid){ // Lid //
depth = 80;
units = 2;
screw_front = [36];//mm
screw_back = [36];//mm
lid(depth,2,screw_front,screw_back);
}
if(print_rear){ // Back plate //
square_hole = [[69 ,3, 17, 15] , [88 ,4, 6, 14.5] ];
round_hole = [[45,5,5],[45,1.5,5] ];
screw_top = [36];//mm
screw_bottom = [26];//mm
screw_side = [];
depth = 98;
units = 2;
back_plate(units,depth,screw_top,screw_bottom,screw_side,square_hole,round_hole);
}
///////////////////////////////
// Customization //
///////////////////////////////
if(print_cabinet_sml){ // Cabinet fan //
shift =20;
difference(){
translate([36,14,69-shift]){
rotate([0,0,55]){
cube([40,26+3,26+3],center=true); //25x25x10mm fan
}
}
//fan duct
translate([36,14,69-shift]){
rotate([0,0,55]){
cube([52,26,26],center=true); //25x25x10mm fan
}
}
//cutoff inside
translate([36,14,69-shift]){
rotate([0,0,55]){
translate([11,0,0]){
cube([22,32,32],center=true); //25x25x10mm fan
}
}
}
//cutoff bottom
translate([0,-20,0]){
cube([200,20,200]);
}
//cutoff side
cube([20,20,100]);
}
}
if(print_antennae){
//outside
len = 13;
translate([100,30,3]){
difference(){
union(){
rotate([0,90,0]){
cylinder(d=dia,h=len);
}
translate([13,0,0]){sphere(d=dia);}
translate([13,0,0]){cylinder(d=dia,h=dia/2);}
translate([len/2,0,dia/4]){cube([13,dia,dia/2],center=true);}
}
//negative
union(){
rotate([0,90,0]){
translate([0,0,-0.5]){cylinder(d=5.5,h=len+1); }
}
translate([len,0,0]){sphere(d=dia-4);}
translate([13,0,-0.5]){cylinder(d=dia-2,h=dia/2+1);}
}
}
}
//inside
translate([100,unit,-0]){
difference(){
union(){
translate([13,0,0]){cylinder(d=dia-2.5,h=5.5);}
translate([13,0,5.5]){cylinder(d=dia+4,h=3);}
}
translate([13,0,-1]){cylinder(d=dia-4.5,h=10);}
translate([13,0,4]){
for(i=[0:22.5:360]){
rotate([0,0,i]){
translate([9,0,0]){
cylinder(d=4,h=5);
}
}
}
}
}
//spring
difference(){
union(){
translate([23,0,5.5]){
cylinder(d=3.5,h=3);
}
}
translate([22.2,-5,0]){cube([5,10,15]);}
}
translate([22.2,-2,5.5]){ cube([1,20,3]);}
translate([22.7,20,5.5]){
cylinder(d=6,h=3);
}
}
}

View file

@ -0,0 +1,49 @@
include<../sixinch_library.scad>
include<../../Libs/Mesh-lib.scad>
///////////////////////////////
// Raspberry Pi 3 Model B //
///////////////////////////////
print_frontplate_sml = true;
if(print_frontplate_sml){ // Frontplate //
square_hole = [];
round_hole = [];
round_peg = [];
screw_side_front = [];
screw_top = [36];
screw_bottom_front = [36];
units = 3;
difference() {
union() {
frontplate(units,square_hole,round_hole,round_peg,screw_side_front,screw_top,screw_bottom_front);
}
translate([25,1.5,0]) {
intersection(){
translate([-1.5,-1.5,0]){
difference() {
mesh(17, 6, 3, 3);
translate([12.5, 6, 0]){cylinder(50,4.5,4.5);}
translate([12.5, 36, 0]){cylinder(50,4.5,4.5);}
translate([95.5, 6, 0]){cylinder(50,4.5,4.5);}
translate([95.5, 36, 0]){cylinder(50,4.5,4.5);}
}
}
cube([105,38,10]);
}
}
translate([0,0,3]) cube([155,130,10]);
}
rotate([180,0,0])
translate([43.5, -25, -3])
linear_extrude(5)
text("Philips Hue");
}

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,115 @@
include<../sixinch_library.scad>
///////////////////////////////
// Philips Hue gen 2 //
///////////////////////////////
print_frontplate_sml = false;
print_handle_sml = false;
print_cabinet_sml = false;
print_lid = true;
print_rear = false;
model = false;
units = 3;
depth = 100;
if(print_frontplate_sml){ // Frontplate //
square_hole = [];
round_hole = [];
round_peg = [];
screw_side_front = [];
screw_top = [36];
screw_bottom_front = [36];
frontplate(units,square_hole,round_hole,round_peg,screw_side_front,screw_top,screw_bottom_front);
}
if(print_handle_sml){ // Handle //
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 = [
[20, 10, 15, 0, 15], // Pillar in front
[80, 10, 15, 0, 15], // Pillar in front
[10, 30, 10, 0, 15], // Pillar to the near right
[10, 80, 10, 0, 15], // Pillar to the far right
[99, 30, 10, 0, 15], // Pillar to the near left
[99, 80, 10, 0, 15], // Pillar to the far left
[55, 50, 50, 0, 8], // Pillar under the switch
];
difference() {
cabinet(depth,units,screw_bottom_front,round_peg,screw_side_front);
rotate([-90,0,0]){
translate([32.5, -101, 8])
cube([91.5, 91.5, 26]); // Philips Hue model
}
}
}
if(print_lid){ // Lid //
screw_front = [36];//mm
screw_back = [36];//mm
difference () {
union(){
lid(depth, units, screw_front, screw_back);
rotate([-90,0,0])
translate([77.5, -56, 40.15])
cylinder(2, r=45/2, center=false);
}
rotate([-90,0,0]){
translate([27.5, -156, 8])
union(){
cube([91.5, 91.5, 26]); // Philips Hue model
translate([5 + 45.75, 55+45.75 ,20])
cylinder(100, r=35/2, center=false);
}
}
}
}
if(print_rear){ // Back plate //
square_hole = [[63.5, 9, 15, 14]];
round_hole = [[43,19,10]];
screw_top = [36];//mm
screw_bottom = [36];//mm
screw_side = [];
back_plate(units, depth, screw_top, screw_bottom, screw_side, square_hole,round_hole);
}
// Philips Hue model
if(model) {
rotate([-90,0,0]){
translate([32.5, -101, 8])
difference(){
union(){
color([1,1,1])
cube([91.5, 91.5, 26]); // Philips Hue model
translate([45.75, 45.75 ,20])
cylinder(100, r=35/2, center=false);
}
translate([ 55, -1, 4])
color([0.5, 0.5, 0.5])
cube([14, 16, 14]); // RJ45 ports
translate([ 29, -1, 13]) // Power jack
rotate([90,0,0])
color([0.5, 0.5, 0.5])
cylinder(10,5,5,true);
}
}
}

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,33 @@
include<../sixinch_library.scad>
///////////////////////////////
// Raspberry Pi 3 Model B //
///////////////////////////////
print_cabinet_sml = true;
if(print_cabinet_sml){ // Cabinet //
w=88;
h=70;
pole=2.52;
height=8;
screw_bottom_front = [36];
screw_side_front = [];
round_peg = [
[w,h,6,2.8,4],
[w-49,h,6,2.8,4],
[w-49,h-58,6,2.8,4],
[w,h-58,6,2.8,4],
[w,h, pole,0,height],
[w-49,h, pole,0,height],
[w-49,h-58,pole,0,height],
[w,h-58, pole,0,height]];
depth = 98;
units = 2;
shift = 0;
cabinet(depth,units,screw_bottom_front,round_peg,screw_side_front);
}

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

View file

@ -0,0 +1,71 @@
include<../sixinch_library.scad>
include<../../Libs/Mesh-lib.scad>
///////////////////////////////
// SmartThings frontplate //
///////////////////////////////
print_frontplate_sml = 1;
if(print_frontplate_sml){ // Frontplate //
square_hole = [];
round_hole = [];
round_peg = [];
screw_side_front = [];
screw_top = [36];
screw_bottom_front = [36];
units = 3;
difference() {
union() {
frontplate(units,square_hole,round_hole,round_peg,screw_side_front,screw_top,screw_bottom_front);
}
translate([25,1.5,0]) {
intersection(){
translate([-1.5,-1.5,0]){
difference() {
mesh(17, 6, 3, 3);
translate([12.5, 6, 0]){cylinder(50,4.5,4.5);}
translate([12.5, 36, 0]){cylinder(50,4.5,4.5);}
translate([95.5, 6, 0]){cylinder(50,4.5,4.5);}
translate([95.5, 36, 0]){cylinder(50,4.5,4.5);}
}
}
cube([105,38,10]);
}
}
translate([0,0,3]) cube([155,130,10]);
}
rotate([180,0,0])
translate([50.5, -25, -3])
linear_extrude(5)
text("SmartThings");
translate([25,33,3])
rotate([180,0,0])
scale([0.04, 0.04, 0.08])
logo();
}
module logo(){
difference() {
surface(file = "Logo.png");
translate([0,0,-5])
cube([600,600,5]);
translate([0,0,80])
cube([600,600,50]);
}
}
//cube([600,600,0.1]);
//difference(){
//
//surface(file = "Logo.png", center = false);
//}

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,115 @@
include<../sixinch_library.scad>
///////////////////////////////
// SmartThing Hub v2 //
///////////////////////////////
print_frontplate_sml = false;
print_handle_sml = false;
print_cabinet_sml = 0;
print_lid = 0;
print_rear = 1;
model = 0;
units = 3;
depth = 140;
module model() {
rotate([-90,0,0]){
translate([22, -135, 4])
difference(){
union(){
color([1,1,1]) {
fillet = 20;
linear_extrude(height = 34)
translate([fillet,fillet,0]){
offset(r=fillet) {
square([110 - 2* fillet, 126 - 2*fillet]);
}
}
}
}
color([0.5, 0.5, 0.5])
union() {
translate([67, -1, 10])
cube([15.5, 16, 13]);
translate([25,-1,15])
rotate([270,0,0])
cylinder(15.5, 5, 5);
}
}
}
}
if(print_frontplate_sml){ // Frontplate //
square_hole = [];
round_hole = [];
round_peg = [];
screw_side_front = [];
screw_top = [36];
screw_bottom_front = [36];
frontplate(units,square_hole,round_hole,round_peg,screw_side_front,screw_top,screw_bottom_front);
}
if(print_handle_sml){ // Handle //
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 = [
[25, 8, 15, 0, 15], // Pillar in front
[85, 8, 15, 0, 15], // Pillar in front
[5, 80, 10, 0, 15], // Pillar to the near right
[5, 120, 10, 0, 15], // Pillar to the far right
[105, 80, 10, 0, 15], // Pillar to the near left
[105, 120, 10, 0, 15], // Pillar to the far left
[55, 70, 45, 0, 8], // Pillar under the switch
];
difference() {
cabinet(depth,units,screw_bottom_front,round_peg,screw_side_front, true);
model();
}
}
if(print_lid){ // Lid //
screw_front = [36];//mm
screw_back = [36];//mm
remove = true;
difference () {
lid(depth, units, screw_front, screw_back, true);
model();
}
}
if(print_rear){ // Back plate //
square_hole = [
[71.5, 13, 15.5, 13],
];
round_hole = [
[25.5, 19, 10, 13]
];
screw_top = [36];//mm
screw_bottom = [36];//mm
screw_side = [];
back_plate(units, depth, screw_top, screw_bottom, screw_side, square_hole,round_hole);
}
// EdgeRouter X model
if(model) {
model();
}

View file

@ -0,0 +1,85 @@
include<../sixinch_library.scad>
//
///////////////////////////////
// Raspberry Pi 3 Model B //
///////////////////////////////
print_frontplate_sml = false;
print_handle_sml = false;
print_cabinet_sml = true;
print_lid = false;
print_rear = false;
if(print_frontplate_sml){ // Frontplate //
square_hole = [];
round_hole = [];
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 = true;
handle(units,lay_flat_for_print);
}
if(print_cabinet_sml){ // Cabinet //
w=88;
h=70;
screw_bottom_front = [36];
screw_side_front = [];
round_peg = [[40, 45, 15, 0, 15], // Pillar in front of PowerPort 6
[90, 45, 15, 0, 15], // Pillar in front of PowerPort 6
[10, 80, 10, 0, 15], // Pillar to the near right of PowerPort 6
[10, 120, 10, 0, 15], // Pillar to the far right of PowerPort 6
[60, 110, 65, 0, 8], // Pillar under the PowerPort 6
];
depth = 155;
units = 3;
cabinet(depth,units,screw_bottom_front,round_peg,screw_side_front);
}
if(print_lid){ // Lid //
depth = 155;
units = 3;
screw_front = [36];//mm
screw_back = [36];//mm
lid(depth,units,screw_front,screw_back);
}
if(print_rear){ // Back plate //
square_hole = [[14 ,12, 80, 16]];
round_hole = [[6,5,6],[6,1,6]];
screw_top = [36];//mm
screw_bottom = [36];//mm
screw_side = [];
depth = 155;
units = 3;
back_plate(units,depth,screw_top,screw_bottom,screw_side,square_hole,round_hole);
}

File diff suppressed because it is too large Load diff

View file

@ -3,7 +3,7 @@ $fn = 50*1;
//Constants, do not change !
sixinch = 155*1; // cm = 6"
width = 155-20-20; // 11.5cm between rails
width = sixinch-20-20; // 11.5cm between rails
unit = (44.5/19)*6; // 1U
gauge = 3*1;
gauge_box = 2*1;
@ -155,9 +155,9 @@ module nuttrap(){
module cabinet (dp,u,screw_bottom_front,round_peg,screw_side_front){
module cabinet (dp,u,screw_bottom_front,round_peg,screw_side_front, remove_middle=false){
difference(){
box(dp,u,screw_bottom_front,round_peg,screw_side_front);
box(dp,u,screw_bottom_front,round_peg,screw_side_front, remove_middle);
translate([20,unit/2+3,sixinch-40]){ cylinder(d=gauge_box,h=41);}
translate([20,unit/2+0,sixinch-40]){ cylinder(d=gauge_box,h=41);}
@ -176,7 +176,7 @@ module cabinet (dp,u,screw_bottom_front,round_peg,screw_side_front){
module box(dp,u,screw_bottom_front,round_peg,screw_side_front){
module box(dp,u,screw_bottom_front,round_peg,screw_side_front, remove_middle){
/* RaspberryPi3ModelBHifiBerry */
/* difference(){ */
@ -185,8 +185,9 @@ module box(dp,u,screw_bottom_front,round_peg,screw_side_front){
difference(){
translate([20,0,gauge]){
difference(){
cube([115,u*unit,dp]);
translate([gauge_box,gauge_box,-1]){ cube([115-gauge_box*2,u*unit,dp+2]);}
cube_width = sixinch - 40;
cube([cube_width,u*unit,dp]);
translate([gauge_box,gauge_box,-1]){ cube([cube_width-gauge_box*2,u*unit,dp+2]);}
}
}
//CHIMNEY
@ -218,7 +219,7 @@ module box(dp,u,screw_bottom_front,round_peg,screw_side_front){
translate([20+gauge_box,unit*u-gauge_box,gauge+dp-10-10]){rotate([0,0,-90]){screwtrap();}}
translate([sixinch-20-gauge_box,unit*u-gauge_box,gauge+10+10]){rotate([180,0,-90]){screwtrap();}}
translate([sixinch-20-gauge_box,unit*u-gauge_box,gauge+dp-10-10+10]){rotate([180,0,-90]){screwtrap();}}
if(dp>90){
if(dp>90 && !remove_middle){
translate([sixinch-20-gauge_box,unit*u-gauge_box,gauge+dp/2-5+10]){rotate([180,0,-90]){screwtrap();}}
translate([20+gauge_box,unit*u-gauge_box,gauge+dp/2-5]){rotate([0,0,-90]){screwtrap();}}
}
@ -278,8 +279,8 @@ module box(dp,u,screw_bottom_front,round_peg,screw_side_front){
}
module lid(dp,u,screw_front,screw_back){
module lid(dp,u,screw_front,screw_back, remove_middle=false){
difference(){
union(){
if(len(screw_front)>0){
@ -298,8 +299,9 @@ module lid(dp,u,screw_front,screw_back){
}
//lid
cube_width = sixinch - 40;
translate([20+gauge_box+slip,u*unit-gauge_box,gauge]){
cube([115-gauge_box*2-slip*2,gauge_box,dp]);
cube([cube_width-gauge_box*2-slip*2,gauge_box,dp]);
}
//back rest
translate([sixinch/2-40,u*unit-gauge_box-2,gauge+dp-2-gauge_box]){
@ -313,9 +315,9 @@ module lid(dp,u,screw_front,screw_back){
translate([sixinch-20-gauge_box-4,unit*u+0.01 ,gauge+10+10-5]){rotate([90,0,0]){screw();}}
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();}}
if(!remove){
translate([20+gauge_box+4,unit*u+0.01 ,gauge+dp/2-5+5]){rotate([90,0,0]){screw();}}
if(!remove_middle){
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();}}
}
}
chimney();