Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SHELF_T = 12;
- SHELF_W = 1190;
- SHELF_W_1 = 630;
- SHELF_D = 400;
- SHELF_D_1 = 720;
- SHELF_CORNER_RADIUS = 50;
- CUTOUT_W = 170;
- CUTOUT_D = 170;
- LEVEL_1 = 500;
- LEVEL_2 = 1000;
- LEVEL_3 = 1440;
- LEVEL_4 = 1900;
- // LEVEL_5 = LEVEL_4 + 500;
- LEG_STOCK_W = 74;
- LEG_STOCK_D = 19;
- CUT_W = 4+10;
- FLAT = false;
- module beam(x, y, LEN){
- color ("SaddleBrown") translate([x, y, -LEG_STOCK_W]) cube([LEG_STOCK_D, LEN, LEG_STOCK_W]);
- }
- module joist(x, y, WIDTH){
- color ("SaddleBrown") translate([x, y, -LEG_STOCK_W]) cube([WIDTH, LEG_STOCK_D, LEG_STOCK_W]);
- }
- module shelf_corner(){
- difference(){
- cube([100, 100, SHELF_T+2]);
- translate([0, 0, -1]) cylinder(SHELF_T+4, SHELF_CORNER_RADIUS, SHELF_CORNER_RADIUS, false);
- }
- }
- module shelf_1(H){
- translate([0, 0, H]){
- union(){
- color("Tan"){
- cube([SHELF_D, SHELF_W, SHELF_T]);
- }
- beam(0, 0, SHELF_W);
- beam(SHELF_D-LEG_STOCK_D, LEG_STOCK_D, SHELF_W-LEG_STOCK_D);
- joist(LEG_STOCK_D, 0, SHELF_D_1-LEG_STOCK_D);
- joist(LEG_STOCK_D, SHELF_W_1/2-LEG_STOCK_D, SHELF_D-LEG_STOCK_D*2);
- joist(LEG_STOCK_D, SHELF_W_1-LEG_STOCK_D, SHELF_D-LEG_STOCK_D*2);
- joist(LEG_STOCK_D, SHELF_W_1+(SHELF_W-SHELF_W_1)/2-LEG_STOCK_D, SHELF_D-LEG_STOCK_D*2);
- joist(LEG_STOCK_D, SHELF_W-LEG_STOCK_D, SHELF_D-LEG_STOCK_D*2);
- }
- }
- }
- module shelf(H){
- translate([0, 0, H]){
- union(){
- color("Tan"){
- difference(){
- cube([SHELF_D_1, SHELF_W, SHELF_T]);
- translate([SHELF_D, SHELF_W_1, -1]){
- difference(){
- cube([SHELF_D, SHELF_W, SHELF_T+2]);
- }
- }
- }
- }
- beam(0, 0, SHELF_W);
- beam(SHELF_D-LEG_STOCK_D, LEG_STOCK_D, SHELF_W-LEG_STOCK_D);
- beam(SHELF_D_1-LEG_STOCK_D, 0, SHELF_W_1);
- joist(LEG_STOCK_D, 0, SHELF_D_1-LEG_STOCK_D*2);
- joist(LEG_STOCK_D, SHELF_W_1/2-LEG_STOCK_D, SHELF_D-LEG_STOCK_D*2);
- joist(SHELF_D, SHELF_W_1/2-LEG_STOCK_D, SHELF_D_1-SHELF_D-LEG_STOCK_D);
- joist(LEG_STOCK_D, SHELF_W_1-LEG_STOCK_D, SHELF_D-LEG_STOCK_D*2);
- joist(SHELF_D, SHELF_W_1-LEG_STOCK_D, SHELF_D_1-SHELF_D-LEG_STOCK_D);
- joist(LEG_STOCK_D, SHELF_W_1+(SHELF_W-SHELF_W_1)/2-LEG_STOCK_D, SHELF_D-LEG_STOCK_D*2);
- joist(LEG_STOCK_D, SHELF_W-LEG_STOCK_D, SHELF_D-LEG_STOCK_D*2);
- }
- }
- }
- module leg_stock(h, z){
- color ("SaddleBrown") translate([0, 0, z]) cube([LEG_STOCK_D, LEG_STOCK_W, h]);
- }
- module leg(x, y, MIRROR, MOD){
- translate([x, y, 0]) {
- mirror([MIRROR, 0, 0]){
- union(){
- leg_stock(LEVEL_4+SHELF_T, 0);
- translate([LEG_STOCK_D, 0, 0]){
- union(){
- if (MOD == 1){
- leg_stock(LEVEL_2-LEG_STOCK_W, 0);
- } else {
- leg_stock(LEVEL_1-LEG_STOCK_W, 0);
- leg_stock(LEVEL_2-LEVEL_1-SHELF_T-LEG_STOCK_W, LEVEL_1+SHELF_T);
- }
- leg_stock(LEVEL_3-LEVEL_2-SHELF_T-LEG_STOCK_W, LEVEL_2+SHELF_T);
- leg_stock(LEVEL_4-LEVEL_3-SHELF_T-LEG_STOCK_W, LEVEL_3+SHELF_T);
- }
- }
- }
- }
- }
- }
- if (FLAT == false){
- rotate([0, 0, $t*360]){
- shelf_1(LEVEL_1);
- shelf(LEVEL_2);
- shelf(LEVEL_3);
- shelf(LEVEL_4);
- leg(-LEG_STOCK_D, 0, 0, 0); // CUTOUT_D+10
- leg(-LEG_STOCK_D, SHELF_W-LEG_STOCK_W, 0, 0);
- leg(SHELF_D+LEG_STOCK_D, SHELF_W-LEG_STOCK_W, 1, 0);
- leg(SHELF_D_1+LEG_STOCK_D, 0, 1, 1); // SHELF_W_1-LEG_STOCK_W*2-10
- }
- } else{
- color("Grey", 0.3) translate([0, 0, -5]) cube([2500, 1250, 1]);
- translate([SHELF_D, 0, 0]) mirror([1, 0, 0]) shelf();
- translate([SHELF_D+CUT_W, 0, 0]) shelf();
- translate([SHELF_D*3+CUT_W*2, 0, 0]) mirror([1, 0, 0]) shelf();
- translate([SHELF_D*3+CUT_W*3, 0, 0]) shelf();
- translate([SHELF_D*5+CUT_W*4, 0, 0]) mirror([1, 0, 0]) shelf();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement