From 13c0ab032bb515b62bdac099f72ea03543a80071 Mon Sep 17 00:00:00 2001 From: Xavi Date: Sat, 28 Jan 2023 13:23:19 -0800 Subject: [PATCH] Added Project Files --- README.md | 9 +++++ case.scad | 58 ++++++++++++++++++++++++++++++ drawer.scad | 9 +++++ drawer_case.scad | 8 +++++ drawer_modules.scad | 80 +++++++++++++++++++++++++++++++++++++++++ images/drawer.png | Bin 0 -> 6790 bytes images/drawer_case.png | Bin 0 -> 4319 bytes 7 files changed, 164 insertions(+) create mode 100644 README.md create mode 100644 case.scad create mode 100644 drawer.scad create mode 100644 drawer_case.scad create mode 100644 drawer_modules.scad create mode 100644 images/drawer.png create mode 100644 images/drawer_case.png diff --git a/README.md b/README.md new file mode 100644 index 0000000..100277a --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# drawer_design + +Scad Design for Desk drawers/monitor stand + +## Drawer Case +![Drawer Case](https://github.com/XAWalter/drawer_design/blob/master/images/drawer_case.png) + +## Drawer +![Cord Holder](https://github.com/XAWalter/drawer_design/blob/master/images/drawer.png) diff --git a/case.scad b/case.scad new file mode 100644 index 0000000..ca5ec42 --- /dev/null +++ b/case.scad @@ -0,0 +1,58 @@ +$fn=10; + +module drawer_case(width, length, heighth){ + difference(){ + cube([width, length, heighth]); + translate([(width*.05)/2,-.1,(heighth*.05)/2]){ + scale([1,1,.48]){ + cube([width-(width*.05),length-(length*.025)+.1,heighth-(heighth*.05)]); + translate([0,0,heighth]){ + cube([width-(width*.05),length-(length*.025)+.1,heighth-(heighth*.05)]); + } + } + } + } +} + +module drawer_shell(width, length, heighth){ + d_width = width-(width*.05); + d_length = length-(length*.025)+.1; + d_heighth = heighth-(heighth*.05); + difference(){ + scale([1,1,.48]){ + cube([d_width, d_length, d_heighth]); + } + translate([(d_width*.05)/2,(d_length*.025),(d_heighth*.05)/2]){ + scale([.95,.95,.95]){ + cube([d_width, d_length,d_heighth*.48]); + } + } + } +} + +module drawer_handle(width,length,heighth){ + difference(){ + difference(){ + cube([width*.25,length*.10,heighth*.30]); + translate([width*.025,-.1,-.1]){ + cube([width*.20,length*.20,heighth*.25]); + } + } + translate([-2,length*.10,0]){ + rotate([135,0,0]){ + cube([width,length*.15,heighth*.30]); + } + } + } + +} + +module drawer(width,length,heighth){ + translate([0,10,0]){ + drawer_shell(width,length,heighth); + translate([width*.35,-length*.10,heighth*.05]){ + drawer_handle(width,length,heighth); + } + } +} + diff --git a/drawer.scad b/drawer.scad new file mode 100644 index 0000000..bbe8b87 --- /dev/null +++ b/drawer.scad @@ -0,0 +1,9 @@ +include + +$fn = 100; + +width = 100; +length = 100; +heighth = 50; + +drawer(width,length,heighth); diff --git a/drawer_case.scad b/drawer_case.scad new file mode 100644 index 0000000..64e6845 --- /dev/null +++ b/drawer_case.scad @@ -0,0 +1,8 @@ +include + +width = 100; +length = 100; +heighth = 50; + +drawer_case(width,length,heighth); + diff --git a/drawer_modules.scad b/drawer_modules.scad new file mode 100644 index 0000000..257925c --- /dev/null +++ b/drawer_modules.scad @@ -0,0 +1,80 @@ +$fn=10; + +module drawer_air_hole(width,length,heighth){ + translate([width/2,length-5,heighth/2]){ + rotate([-90,0,0]){ + hull(){ + translate([0,heighth/4,0]){ + cylinder(h=10,d=20); + } + translate([0,-heighth/4,0]){ + cylinder(h=10,d=20); + } + } + } + } +} + +module drawer_case_1(width, length, heighth){ + difference(){ + cube([width, length, heighth]); + translate([(width*.05)/2,-.1,(heighth*.05)/2]){ + scale([1,1,.48]){ + cube([width-(width*.05),length-(length*.025)+.1,heighth-(heighth*.05)]); + translate([0,0,heighth]){ + cube([width-(width*.05),length-(length*.025)+.1,heighth-(heighth*.05)]); + } + } + } + } +} + +module drawer_case(width,length,heighth){ + difference(){ + drawer_case_1(width,length,heighth); + drawer_air_hole(width,length,heighth); + } + +} + +module drawer_shell(width, length, heighth){ + d_width = width-(width*.05); + d_length = length-(length*.025)+.1; + d_heighth = heighth-(heighth*.05); + difference(){ + scale([1,1,.48]){ + cube([d_width, d_length, d_heighth]); + } + translate([(d_width*.05)/2,(d_length*.025),(d_heighth*.05)/2]){ + scale([.95,.95,.95]){ + cube([d_width, d_length,d_heighth*.48]); + } + } + } +} + +module drawer_handle(width,length,heighth){ + difference(){ + difference(){ + cube([width*.25,length*.10,heighth*.30]); + translate([width*.025,-.1,-.1]){ + cube([width*.20,length*.20,heighth*.25]); + } + } + translate([-2,length*.10,0]){ + rotate([135,0,0]){ + cube([width,length*.15,heighth*.30]); + } + } + } + +} + +module drawer(width,length,heighth){ + translate([0,10,0]){ + drawer_shell(width,length,heighth); + translate([width*.35,-length*.10,heighth*.05]){ + drawer_handle(width,length,heighth); + } + } +} diff --git a/images/drawer.png b/images/drawer.png new file mode 100644 index 0000000000000000000000000000000000000000..af0f37f0447b65f38fff6b4f57b3687012c25d1a GIT binary patch literal 6790 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 H)a1VdBmQwh literal 0 HcmV?d00001