commit 13c0ab032bb515b62bdac099f72ea03543a80071 Author: Xavi Date: Sat Jan 28 13:23:19 2023 -0800 Added Project Files 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 0000000..af0f37f Binary files /dev/null and b/images/drawer.png differ diff --git a/images/drawer_case.png b/images/drawer_case.png new file mode 100644 index 0000000..f22857a Binary files /dev/null and b/images/drawer_case.png differ